توفیش

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

در رمزنگاری، twofish یک نوع رمزنگاری کلید متقارن است که از رمزنگاری بلوکی با اندازه بلوک ۱۲۸ بیت و اندازه کلید ۲۵۶ بیت استفاده می‌کند. آن یکی از پنج الگوریتم برتر مسابقه استاندارد رمزگذاری پیشرفته بود Advanced Encryption Standard contest. اما به عنوان استاندارد پذیرفه نشد. Twofish از الگوریتم بادکنک‌ماهیان اشتقاق شده‌است.

Twofishalgo.svg

ویژگی ممتاز twofish استفاده از پیش محاسبه کلید وابسته S-boxe و یک زمانبندی کلید پیچیده وابسته‌است. نیمی از یک کلید n بیتی به عنوان کلید رمزگذاری واقعی استفاده شده و نیمی دیگر از آن به عنوان اصلاح کننده الگوریتم رمزگذاری استفاده شده‌است (کلید وابسته S-box). Twofish برخی از عناصر دیگر طراحی‌ها را قرض گرفته‌است. برای مثال تبدیل شبه hadamard از خانواده SAFER از رمزها.Twofish از ساختار feistel به عموان نمونه DES استفاده می‌کند.

در اکثر سطوح نرم‌افزاری Twofish کمی کند تر از استاندارد رمزنگاری پیشرفته (برگزیده مسابقات AES) برای کلیدهای ۱۲۸ بیتی عمل می‌کند. اما برای کلیدهای ۲۵۶ بیتی تا حدودی سریع تر است.[۱]

Twofish توسط Bruce Schneir، 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 نرسیده‌است با این که بادکنک‌ماهیان قدیمی تر است.

تحلیل رمز[ویرایش]

در سال 1999 Niels Ferguson یک حمله دیفرانسیلی غیر ممکن را منتشر کرد که شش مرحله از ۱۶ مرحله کلید ورژن ۲۵۶ بیتی را با استفاده از ۲۲۵۶ گام شکست.[۲]

از سال ۲۰۰۰ به بعد بهترین تحلیل رمز منتشر شده بر اساس رمز بلوک Twofish، تحلیل رمز کوتاه شده تفاضلی ورژن کامل ۱۶ مرحله‌ای است. مقاله ادعا می‌کند احتمال تفاضلی کوتاه شده ۲-۵۷٫۳ برای هر بلوک است و حدود ۲۵۱ متن آشکار انتخاب شده می‌گیرد تا جفت مناسبی برای تفاضلی کوتاه شده پیدا کند.[۳]

Bruce Schnier در سال ۲۰۰۵ اعلام کرد که این مقاله یک حمله تحلیل رمز کامل را ارائه نمی‌دهد به جز فقط برخی فرض‌های مشخصات تفاضلی. اما حتی از یک دیدگاه فرضیه‌ای، Twofish حتی از دور شکسته نمی‌شود.[۴]

جستارهای وابسته[ویرایش]

منابع:[ویرایش]