رمزهای «تکالفبایی» (Monoalphabetic)، «پلیفر» (Playfair)، «هیل» (Hill) و غیره چند مورد از تکنیک های رمزنگاری کلاسیک هستند. این تکنیک ها جزو اولین و سادهترین روشهاییاند که انسانها برای مخفی کردن اطلاعات و پیامهای خود به کار میبردند. تکنیک های رمزنگاری کلاسیک در دسته «رمزنگاری متقارن» قرار میگیرند. آشنایی با این روشها و یادگیری نحوه کار آنها تاثیر زیادی در درک روش کار تکنیک های رمزنگاری مدرن و پیشرفته دارد. مهندسان کامپیوتر، شبکه و امنیت اطلاعات باید با انواع روشها آشنا باشند. در این صورت میتوانند از اطلاعات و حریم خصوصی خودشان، سیستمها و کاربران تحت مدیریتشان مراقبت کنند.
تعریف رمزنگاری کلاسیک
رمزنگاری کلاسیک با نامهای «رمزنگاری متقارن» (Symmetric Encryption)، «رمزنگاری سنتی» (Conventional Encryption) یا «رمزنگاری تککلیدی» (Single-Key Encryption) نیز شناخته میشود. این روشها، تنها نوع رمزنگاری مورد استفاده تا پیش از پیدایش رمزنگاری کلید عمومی در دهه ۱۹۷۰ بودند.
برای درک مفهوم رمزنگاری لازم است که با اصطلاحات تخصصی این حوزه آشنا بشویم. در فهرست پایین چند مورد از اصطلاحات تخصصی رمزنگاری را تعریف کردهایم.
علم «رمزنگاری» (Cryptography): به مجموعه روشهای به کار برده شده برای رمزگذاری، علم «رمزنگاری» گفته میشود.
«تحلیل رمز» (Cryptanalysis): روشهایی که برای رمزگشایی پیام بدون داشتن اطلاعات مربوط به جزئیات رمزگذاری به کار میروند در حوزه «تحلیل رمز» یا «رمزگشایی» قرار میگیرند.
«رمزشناسی» (Cryptology): حوزههای رمزنگاری و رمزگشایی در کنار یکدیگر «رمزشناسی» را تشکیل میدهند.
«متن ساده» (Plaintext): پیام اصلی را «متن ساده» یا Plaintext مینامند.
«متن رمزی» (Ciphertext): پیام رمز شده، «متن رمزی» یا Ciphertext نام دارد.
«رمزگذاری» (Encryption): به فرایند تبدیل متن ساده به متن رمزی، «رمزگذاری» یا Encryption میگویند.
«رمزگشایی» (Decryption): بازیابی متن ساده از متن رمزی «رمزگشایی» یا Decryption نامیده میشود.
سیستمهای رمزنگاری را بر اساس سه موضوع اصلی و مستقل از هم تعریف میکنیم.
عملیات مورد استفاده برای تبدیل متن ساده به متن رمزی
تعداد کلیدهای مورد استفاده
نحوه پردازش متن ساده
مطلب پیشنهادی: آموزش رمزنگاری رایگان + مفاهیم پایه و منابع یادگیری — به زبان ساده
در ادامه هر سه موضوع را بررسی کردهایم.
عملیات مورد استفاده برای تبدیل متن ساده به متن رمزی
تمام الگوریتمهای رمزگذاری بر اساس دو اصل کلی زیر، بنا شدهاند.
جایگزینی (Substitution): در این روش، هر بخش از متن اصلی (مانند حرف الفبا، بیت یا گروهی از حروف/بیتها) با بخش دیگری جایگزین میشود.
جابجایی (Transposition): در این روش، ترتیب عناصر متن اصلی تغییر میکند و در هم ریخته میشوند.
مهمترین اصل این است که هیچ اطلاعاتی حذف نشود و بتوان تمام مراحل را به عقب برگرداند. بسیاری از سیستمها که «سیستمهای حاصلضرب» نام دارند، با تکرار فرآیندهای جایگزینی و جابجایی، این کار را انجام میدهند.
تعداد کلیدهای مورد استفاده
درباره تعداد کلیدهای مورد استفاده، دو نکته مهم وجود دارند.
نکته اول: اگر فرستنده و گیرنده از کلید یکسانی استفاده کنند، سیستم «متقارن»، «تککلیدی»، «کلید محرمانه» یا «رمزگذاری مرسوم» نامیده میشود.
نکته دوم: اگر فرستنده و گیرنده از کلیدهای متفاوتی استفاده کنند، سیستم «نامتقارن»، «دو-کلیدی» یا «رمزگذاری کلید عمومی» نامیده میشود.
نمایش مانیتور و کلید برای بررسی تفاوت رمزنگاری متقارن و نامتقارن – تکنیک های رمزنگاری کلاسیک
بررسی تفاوت رمزنگاری متقارن و نامتقارن
نحوه پردازش متن ساده
با دو روش مختلف میتوان متن ساده (یا همان پیام اولیه) را پردازش کرد.
رمز بلوکی (Block Cipher): این نوع الگوریتمها دادهها را به صورت بلوکی پردازش میکنند. همچنین برای هر بلوک ورودی، یک بلوک خروجی تولید میکنند.
رمز جریانی (Stream Cipher): این نوع الگوریتمها عناصر ورودی را به طور مداوم پردازش میکنند. همزمان با پیشرفت کار در هر لحظه یک عنصر در خروجی تولید میکنند.