حمله لغزش حالتی از تحلیل رمز است که برای مقابله با این ایده عمومی که حتی رمزهای ضعیف می توانند از طریق افزایش تعداد دورها بسیار قوی شوند و با یک حمله تفاضلی مقابله کنند، طراحی شد. حمله لغزش طوری عمل می کند که تعداد دورها را در یک رمز، نامرتبط کند. به جای نگاه کردن به جنبه های تصافی کردن داده های رمز بلوکی ، حمله لغزش فهرست کلیدها را تحلیل می کند و نواقص آن را کشف کرده تا رمز را بشکند. رایج ترین مورد، کلیدهایی است که به صورت چرخه ای تکرار می شوند.
اولین بار این حمله توسط دیوید واگنر و الکس بیریوکو توصیف شد. در ابتدا بروس اسچنیر اصطلاح حمله لغزش را به آن ها پیشنهاد داد و آن ها این اصطلاح را در مقاله ای که در سال ۱۹۹۹ چاپ کردند و در آن به توصیف حمله پرداختند، به کار بردند.
تنها نیازمندی این حمله برای کار بر روی یک رمز این است که بتواند به چندین دور مرتبط به یک تابع f شکسته شود. این مسئله احتمالاً به این معناست که دارای یک فهرست چرخه ای برای کلید است. تابع f باید نسبت به حمله متن رمزنشده مشخص حساس باشد. حمله لغزش در ارتباط با حمله کلید مرتبط است.
ریشه های ایده حمله لغزش به مقاله ادنا گرسمن و بریانت توکرمن در سال ۱۹۷۷ برمی گردد. این دو حمله را بر یک بلوک رمز ضعیف توضیح دادند. حمله به این واقعیت که رمز دارای زیرکلیدی یکسان در هر دور است، بستگی داشت. بنابراین رمز یک کلید با فهرست چرخه های مربوط به تنها یک کلید که آن را تبدیل به نسخه ای از حمله لغزش می کند، ارتباط داشت. خلاصه ای از گزارش شامل توصیفی از رمز بلوکی ان دی اس و حمله، در سیستم های رمز ( بکر و پیپر، ۱۹۸۲ ) ارائه شده است.
در ابتدا نمادگذاری ها را بیان می کنیم. تعداد بیت های بلوک رمز n است و فهرست کلیدها به صورت K 1 ⋯ K m بیان می شود، به طوری که کلیدها دارای طول های مختلف هستند.
حمله لغزش از طریق شکستن رمز به توابع جایگشت یکسان عمل می کند. این توابع می توانند از بیش از یک دور رمز تشکیل شده باشند. به عنوان مثال اگر یک رمز از یک فهرست کلید متناوب استفاده کند، به طوری برای هر دور بین K 1 و K 2 یکی را انتخاب کند. تابع f از دو دور تشکیل می شود. هر کدام از کلیدهای K i حداقل یک بار در تابع به کار می روند.
مرحله بعد جمع آوری 2 n / 2 جفت متن رمزنشده به همراه متن رمزشده آن هاست. بسته به خصوصیات رمز تعداد کمتری ممکن است کفایت کند، اما بر اساس مسئله تاریخ تولد حداکثر 2 n / 2 جفت لازم است. این جفت ها که به صورت ( P , C ) نمایش داده می شوند برای پیدا کردن یک جفت لغزش که به صورت ( P 0 , C 0 ) ( P 1 , C 1 ) نشان داده می شود، به کار می روند. جفت لغزش دارای دو ویژگی P 0 = F ( P 1 ) و C 0 = F ( C 1 ) است. هر زمانی که جفت لغزش شناسایی می شود، رمز به خاطر حساسیت حملات متن رمزنشده مشخص، شکسته می شود. کلید می تواند به سادگی از این جفت ها استخراج شود. جفت لغزش می تواند چیزی که برای یک پیام بعد از یک بار استفاده از تابع اتفاق می افتد، در نظر گرفته شود.
این نوشته برگرفته از سایت ویکی پدیا می باشد، اگر نادرست یا توهین آمیز است، لطفا گزارش دهید: گزارش تخلفاولین بار این حمله توسط دیوید واگنر و الکس بیریوکو توصیف شد. در ابتدا بروس اسچنیر اصطلاح حمله لغزش را به آن ها پیشنهاد داد و آن ها این اصطلاح را در مقاله ای که در سال ۱۹۹۹ چاپ کردند و در آن به توصیف حمله پرداختند، به کار بردند.
تنها نیازمندی این حمله برای کار بر روی یک رمز این است که بتواند به چندین دور مرتبط به یک تابع f شکسته شود. این مسئله احتمالاً به این معناست که دارای یک فهرست چرخه ای برای کلید است. تابع f باید نسبت به حمله متن رمزنشده مشخص حساس باشد. حمله لغزش در ارتباط با حمله کلید مرتبط است.
ریشه های ایده حمله لغزش به مقاله ادنا گرسمن و بریانت توکرمن در سال ۱۹۷۷ برمی گردد. این دو حمله را بر یک بلوک رمز ضعیف توضیح دادند. حمله به این واقعیت که رمز دارای زیرکلیدی یکسان در هر دور است، بستگی داشت. بنابراین رمز یک کلید با فهرست چرخه های مربوط به تنها یک کلید که آن را تبدیل به نسخه ای از حمله لغزش می کند، ارتباط داشت. خلاصه ای از گزارش شامل توصیفی از رمز بلوکی ان دی اس و حمله، در سیستم های رمز ( بکر و پیپر، ۱۹۸۲ ) ارائه شده است.
در ابتدا نمادگذاری ها را بیان می کنیم. تعداد بیت های بلوک رمز n است و فهرست کلیدها به صورت K 1 ⋯ K m بیان می شود، به طوری که کلیدها دارای طول های مختلف هستند.
حمله لغزش از طریق شکستن رمز به توابع جایگشت یکسان عمل می کند. این توابع می توانند از بیش از یک دور رمز تشکیل شده باشند. به عنوان مثال اگر یک رمز از یک فهرست کلید متناوب استفاده کند، به طوری برای هر دور بین K 1 و K 2 یکی را انتخاب کند. تابع f از دو دور تشکیل می شود. هر کدام از کلیدهای K i حداقل یک بار در تابع به کار می روند.
مرحله بعد جمع آوری 2 n / 2 جفت متن رمزنشده به همراه متن رمزشده آن هاست. بسته به خصوصیات رمز تعداد کمتری ممکن است کفایت کند، اما بر اساس مسئله تاریخ تولد حداکثر 2 n / 2 جفت لازم است. این جفت ها که به صورت ( P , C ) نمایش داده می شوند برای پیدا کردن یک جفت لغزش که به صورت ( P 0 , C 0 ) ( P 1 , C 1 ) نشان داده می شود، به کار می روند. جفت لغزش دارای دو ویژگی P 0 = F ( P 1 ) و C 0 = F ( C 1 ) است. هر زمانی که جفت لغزش شناسایی می شود، رمز به خاطر حساسیت حملات متن رمزنشده مشخص، شکسته می شود. کلید می تواند به سادگی از این جفت ها استخراج شود. جفت لغزش می تواند چیزی که برای یک پیام بعد از یک بار استفاده از تابع اتفاق می افتد، در نظر گرفته شود.
wiki: حمله لغزش