در رمزنگاری، twofish یک نوع رمزنگاری کلید متقارن است؛ که از رمزنگاری بلوکی با اندازه بلوک ۱۲۸ بیت و اندازه کلید ۲۵۶ بیت استفاده می کند. آن یکی از پنج الگوریتم برتر مسابقه استاندارد رمزگذاری پیشرفته بود ( Advanced Encryption Standard contest ) اما به عنوان استاندارد پذیرفه نشد. Twofish از الگوریتم بادکنک ماهیان گرفته شده است.
ویژگی ممتاز twofish استفاده از پیش محاسبه کلید وابسته S - box و یک زمانبندی کلید پیچیده وابسته است. نیمی از یک کلید n بیتی به عنوان کلید رمزگذاری واقعی استفاده شده و نیمی دیگر از آن به عنوان اصلاح کننده الگوریتم رمزگذاری استفاده شده است ( کلید وابسته S - box ) . Twofish برخی از عناصر دیگر طراحی ها را قرض گرفته است. برای مثال تبدیل شبه hadamard از خانواده SAFER از رمزها. Twofish از ساختار feistel به عنوان نمونه DES استفاده می کند.
در اکثر سطوح نرم افزاری Twofish کمی کند تر از استاندارد رمزنگاری پیشرفته ( برگزیده مسابقات AES ) برای کلیدهای ۱۲۸ بیتی عمل می کند. اما برای کلیدهای ۲۵۶ بیتی تا حدودی سریع تر است. [ ۱]
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 نرسیده است با این که بادکنک ماهیان قدیمی تر است.
در سال ۱۹۹۹ Niels Ferguson یک حمله دیفرانسیلی غیر ممکن را منتشر کرد که شش مرحله از ۱۶ مرحله کلید ورژن ۲۵۶ بیتی را با استفاده از ۲۲۵۶ گام شکست. [ ۲]
از سال ۲۰۰۰ به بعد بهترین تحلیل رمز منتشر شده بر اساس رمز بلوک Twofish، تحلیل رمز کوتاه شده تفاضلی ورژن کامل ۱۶ مرحله ای است. مقاله ادعا می کند احتمال تفاضلی کوتاه شده ۲ - ۵۷٫۳ برای هر بلوک است و حدود ۲۵۱ متن آشکار انتخاب شده می گیرد تا جفت مناسبی برای تفاضلی کوتاه شده پیدا کند. [ ۳]
این نوشته برگرفته از سایت ویکی پدیا می باشد، اگر نادرست یا توهین آمیز است، لطفا گزارش دهید: گزارش تخلفویژگی ممتاز twofish استفاده از پیش محاسبه کلید وابسته S - box و یک زمانبندی کلید پیچیده وابسته است. نیمی از یک کلید n بیتی به عنوان کلید رمزگذاری واقعی استفاده شده و نیمی دیگر از آن به عنوان اصلاح کننده الگوریتم رمزگذاری استفاده شده است ( کلید وابسته S - box ) . Twofish برخی از عناصر دیگر طراحی ها را قرض گرفته است. برای مثال تبدیل شبه hadamard از خانواده SAFER از رمزها. Twofish از ساختار feistel به عنوان نمونه DES استفاده می کند.
در اکثر سطوح نرم افزاری Twofish کمی کند تر از استاندارد رمزنگاری پیشرفته ( برگزیده مسابقات AES ) برای کلیدهای ۱۲۸ بیتی عمل می کند. اما برای کلیدهای ۲۵۶ بیتی تا حدودی سریع تر است. [ ۱]
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 نرسیده است با این که بادکنک ماهیان قدیمی تر است.
در سال ۱۹۹۹ Niels Ferguson یک حمله دیفرانسیلی غیر ممکن را منتشر کرد که شش مرحله از ۱۶ مرحله کلید ورژن ۲۵۶ بیتی را با استفاده از ۲۲۵۶ گام شکست. [ ۲]
از سال ۲۰۰۰ به بعد بهترین تحلیل رمز منتشر شده بر اساس رمز بلوک Twofish، تحلیل رمز کوتاه شده تفاضلی ورژن کامل ۱۶ مرحله ای است. مقاله ادعا می کند احتمال تفاضلی کوتاه شده ۲ - ۵۷٫۳ برای هر بلوک است و حدود ۲۵۱ متن آشکار انتخاب شده می گیرد تا جفت مناسبی برای تفاضلی کوتاه شده پیدا کند. [ ۳]
wiki: توفیش