![cover image](https://wikiwandv2-19431.kxcdn.com/_next/image?url=https://upload.wikimedia.org/wikipedia/commons/thumb/e/ee/Twofishalgo.svg/langfa-640px-Twofishalgo.svg.png&w=640&q=50)
توفیش
From Wikipedia, the free encyclopedia
در رمزنگاری، twofish یک نوع رمزنگاری کلید متقارن است؛ که از رمزنگاری بلوکی با اندازه بلوک ۱۲۸ بیت و اندازه کلید ۲۵۶ بیت استفاده میکند. آن یکی از پنج الگوریتم برتر مسابقه استاندارد رمزگذاری پیشرفته بود (Advanced Encryption Standard contest) اما به عنوان استاندارد پذیرفه نشد. Twofish از الگوریتم بادکنکماهیان گرفته شدهاست.
![](http://upload.wikimedia.org/wikipedia/commons/thumb/e/ee/Twofishalgo.svg/640px-Twofishalgo.svg.png)
![]() | بخشی یا تمامی عنوان این مقاله با حروفی غیر از الفبای فارسی است. طبق شیوهنامهٔ ویکیپدیا در ویکیپدیای فارسی عنوان مقالهها باید فارسی باشند. |
![]() | این مقاله نیازمند تمیزکاری است. لطفاً تا جای امکان آنرا از نظر املا، انشا، چیدمان و درستی بهتر کنید، سپس این برچسب را بردارید. محتویات این مقاله ممکن است غیر قابل اعتماد و نادرست یا جانبدارانه باشد یا قوانین حقوق پدیدآورندگان را نقض کرده باشد. |
این مقاله نیازمند ویکیسازی است. لطفاً با توجه به راهنمای ویرایش و شیوهنامه، محتوای آن را بهبود بخشید. |
ویژگی ممتاز twofish استفاده از پیش محاسبه کلید وابسته S-box و یک زمانبندی کلید پیچیده وابستهاست. نیمی از یک کلید n بیتی به عنوان کلید رمزگذاری واقعی استفاده شده و نیمی دیگر از آن به عنوان اصلاحکننده الگوریتم رمزگذاری استفاده شدهاست (کلید وابسته S-box). Twofish برخی از عناصر دیگر طراحیها را قرض گرفتهاست. برای مثال تبدیل شبه hadamard از خانواده SAFER از رمزها. Twofish از ساختار feistel به عنوان نمونه DES استفاده میکند.
در اکثر سطوح نرمافزاری Twofish کمیکند تر از استاندارد رمزنگاری پیشرفته (برگزیده مسابقات AES) برای کلیدهای ۱۲۸ بیتی عمل میکند. اما برای کلیدهای ۲۵۶ بیتی تا حدودی سریع تر است.[1]
Twofish توسط بروس اشنایر، John Kelsey Doug Whiting, David Wagner, Chris Hall و Niels Ferguson طراحی شدهاست. تیم توسعه Twofish که مسئول انجام ورژن بعدی Twofish و داوطلب شرکت در مسابقه AES بودند شامل Stefan Lucks, Tadayoshi Kohno و Mike Stay بود.
الگوریتم Twofish ثبت اختراع نشدهاست و به عنوان منبع پیاده سازی در مالکیت عمومی قرار میگیرد. در نتیجه الگوریتم Twofish به صورت آزادانه در اختیار همه قرار دارد و هر کس میتواند بدون هیچ گونه محدودیت از آن استفاده کند. این الگوریتم یکی از معدود رمزنگاریهای شامل استاندارد Open-PGP است(RFC4880). با این حال استفاده از توفیش به گستردگی استفاده از Blowfish نرسیدهاست با این که بادکنکماهیان قدیمی تر است.