رمزنگاری الگویی است که طبق آن دادههای آشکار طبق یک روال برگشتپذیر به اطلاعاتی نامفهوم تبدیل میشود
مثلا کلمه hello با یک الگوریتم رمزنگاری مشخص (در اینجا AES) تبدیل به مقدار زیر میشود:
0xadc12796557b78116245d0c5d563e55a
آقای آگوست کرکهوف (Auguste Kerckhoffs) در سال ۱۸۸۳ شش اصل را برای رمزنگاری بیان کرد:
این شش مورد بعنوان اصول ششگانه کرکهوف یا Kerckhoffs's principle شناخته میشوند. همه این موارد به نحوی مورد استفاده قرار گرفتهاند، اما اصل دوم بعنوان اصل اساسی کرکهوف شناخته میشود.
این شش اصل با قوانین کیرشهف (گوستاو کیرشهف) ارتباطی ندارد!
جزئیات الگوریتمهای رمزنگاری باید آشکار و در دسترس و دید همه باشد و فقط کلیدهای رمز محرمانه هستند
اصل دوم به اصل اساسی کرکهوف معروف است. تمام الگوریتمهای رمزنگاری کاملا مشخص و شفاف هستند و همه از نحوه عملکرد آن اطلاع دارند.
اما این سوال پیش میآید که چرا باید یک الگوریتم رمزنگاری را بصورت عمومی منتشر کرد؟ دو دلیل وجود دارد:
دلیل اول
فرض کنید سفارتخانههای یک کشور برای ارتباط با دولت خودشان، از یک الگوریتم رمزنگاری بومی محرمانه استفاده میکند. اگر کلید فاش شود، هزینهای برای تغییر کلید وجود ندارد.
اما اگر این الگوریتم که صرفا برای حفظ امنیت مخفی نگه داشته شده لو برود، عملا باید یک الگوریتم جدیدی جایگزین شود.
دلیل دوم
اگر الگوریتم رمزنگاری بصورت عمومی منتشر شود، افراد زیادی روی آن کار میکنند و آن را به چالش میکشند و اگر شکسته نشود میتوان احتمال داد که الگوریتمی قوی بوده است. از طرفی چنانچه شکسته هم شود، میتوان آن را بهبود داد.
نکته طلایی برای هر سیستم رمزنگاری همین اصل است که همه جزئیات آن منتشر شود.
سیستم یا الگوریتم رمزنگاری خودش باید امنیت خودش را حفظ کند نه اینکه با محرمانگی به آن امنیت بدهیم
امروزه طبق همین اصل اساسی آقای کرکهوف، هیچ چیز پنهانی در الگوریتمها وجود ندارد، مثلا RSA یا AES بصورت عمومی منتشرشده و در دسترس همگان است.
جزئیات الگوریتم RC4 تا شش سال مخفی بود تا اینکه در سال ۱۹۹۴ در اینترنت و لیستهای ایمیل سایبرپانک (Cypherpunk) بصورت ناشناس منشر شد.
زمانی که جزئیات RC4 فاش شد، برخی متوجه شدند در آن اشکالاتی وجود دارد اما در آن زمان سختافزارها و نرمافزارهای زیادی از RC4 استفاده میکردند و امکان تغییر/بروزرسانی آنها در زمان کم وجود نداشت.
ماشین انیگما دستگاه رمزنگار آلمانیها در جنگجهانی دوم بوده و زمانی که به دست متفقین افتاد و لو رفت. امنیت انیگما مبتنی بر پیچیدگی و کلیدهای رمز روزانه بود، نه روشی که استفاده میکرد، که آن هم شکسته شد.
پینوشت: فیلم زیبای The Imitation Game داستان شکستن انیگما را به تصویر کشیده است.