آشفتگی و پخش (رمزنگاری)

در رمزنگاری، آشفتگی و پخش دو خصیصه از عملیات یک رمز امن هستند که بوسیلهء Claude Shannon در رسالهء «تئوری ارتباط سیستمهای محرمانه» که در سال 1949 منتشر شد معرفی شدند.

در تعاریف اصلی Shannon، آشفتگی به هرچه بیشتر پیچیده و درگیر کردن ارتباط میان کلید و متن رمزی اشاره دارد؛ پخش به این خصیصه اشاره دارد که افزونگی های آماری متن رمز نشده در خصیصه های آماری متن رمزی پخش میگردد. به بیان دیگر، عدم یکنواختی در توزیع حروف (و جفت هایی از حروف همسایه) در متن رمز نشده باید به داخل عدم یکنواختی توزیع ساختارهای بسیار بزرگتر متن رمزی که آشکاری سازی آن بسیار دشوارتر است توزیع مجدد گردند.

پخش بدان معناست که بیتهای خروجی باید به یک شکل بسیار پیچیده به بیتهای ورودی وابسته باشند. در یک رمز با پخش خوب، اگر یک بیت از متن رمز نشده تغییر داده شود، متن رمزی باید بصورت کامل و به یک شکل غیرقابل پیشبینی یا شبه تصادفی تغییر کند. بخصوص، برای یک ورودی تصادفی، اگر بیت i ام تغییر داده شود، سپس احتمال اینکه بیت خروجی j ام تغییر کند باید برابر 50% باشد — به این خصیصه به اصطلاح «معیار بهمنی اکید» گفته میشود. بصورت کلی تر، ممکن است نیاز باشد که تغییر یک مجموعهء ثابت از بیت ها باعث تغییر هر بیت خروجی با احتمال 50% شود.

یک هدف آشفتگی این است که حتی درصورتیکه یک نفر مقدار زیادی از جفت های متن ورودی و متن رمزی خروجی را که با یک کلید یکسان رمز شده اند در اختیار داشته باشد، خیلی سخت باشد که بتواند کلید را پیدا کند. بنابراین هر بیت از متن رمزی باید به تمام کلید وابسته باشد، و به روشهای مختلف بر بیت های مختلف کلید. بخصوص، تغییر یک بیت از کلید باید موجب تغییر کامل متن رمزی شود.

ساده ترین راه برای دست یافتن به هردوی آشفتگی و پخش استفاده از یک «شبکهء جایگزینی و جایگردی» است. در این سیستمها، متن رمز نشده و کلید اغلب یک نقش خیلی مشابه در تولید خروجی دارند، بنابراین یک مکانیزم یکسان است که نسبت به هردوی آشفتگی و پخش اطمینان میدهد.

===================

منبع: Confusion and diffusion – Wikipedia, the free encyclopedia

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*

شما می‌توانید از این دستورات HTML استفاده کنید: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>