رمزنگاری کلید خودکار

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو
یک tabula recta برای استفاده در رمزنگاری Autokey

رمزنگاری کلید خودکار (به انگلیسی: autokey) یک روش رمزنگاری است که پیغام ( متن آشکار) را با کلید ترکیب می‌کند. دو نوع رمزنگاری کلید خودکار وجود دارد: key autokey و text autokey. رمزنگاری key autokey از اعضای جریان کلید قبلی برای تعیین عنصر بعدی در جریان کلید استفاده می‌کند. رمزنگاری text autokey از متن پیغام‌های قبلی برای تعیین عنصر بعدی در جریان کلید استفاده می‌کند.

در رمزنگاری مدرن، تمام رمزنگاری‌های خودهماهنگ رمز دنباله‌ای همگی از نوع کلید خودکار هستند.

تاریخچه[ویرایش]

اولین رمزنگاری autokey توسط Girolamo Cardano ارائه شد که یک نقص اساسی داشت. همانند بسیاری از رمزنگاری‌های autokey، این روش نیز از خود متن آشکار برای رمزنگاری متن آشکار استفاده می‌کند؛ با این وجود، از آنجا که در این روش از هیچ کلید اضافی استفاده نمی‌شود، هر کسی که پیغام رمز شده را بگیرد، در صورت دانستن نوع الگوریتم رمزنگاری مورد استفاده می‌تواند به پیغام اولیه پی ببرد.[۱] رمزنگاران تلاش‌هایی برای طراحی سیستمی که به این سادگی شکست نخورد و در عین حال رمزگشایی در آن برای گیرنده پیغام سخت نباشد انجام دادند و در نهایت Giovan Battista Bellaso در سال ۱۵۴۶ با استفاده از "جدول متقابل" با ۵ حرف و Blaise de Vigenère Bellaso در سال ۱۵۸۶ با جدولی مشابه ولی ۱۰ حرفی موفق به طراحی چنین سیستمی شدند.

یک نوع رایج از autokey با tabula recta که مربعی با ۲۶ کپی از حروف الفبا است آغاز می‌شود. همانند شکل خط اول با "A" آغاز می‌شود، خط دوم با "B" و ... . برای رمز کردن یک متن آشکار، خطی که دارای اولین حرف برای رمز شدن است و ستونی که اولین حرف کلید است را موقعیت یابی می‌کند. نقطه تقاطع این سطر و ستون حرف رمز شده است.

Giovan Battista Bellaso از حرف اول هر کلمه به عنوان پایه‌ای برای شروع text-Autokey استفاده می‌کند. Blaise de Vigenère از یک حرف توافق شده به عنوان پایه استفاده می‌کرد.

رمزنگاری autokey که توسط American Cryptogram Association استفاده می‌شود، با یک کلمه کلیدی کوتاه شروع می‌شود و و پیغام را به انتهای آن اضافه می‌کند. بنابر این اگر کلمه کلیدی "QUEENLY" و متن پیغام "ATTACK AT DAWN" باشد، کلید "QUEENLYATTACKATDAWN" خواهد بود.[۲]

 Plaintext:  ATTACK AT DAWN...
 Key:        QUEENL YA TTACK AT DAWN....
 Ciphertext: QNXEPV YT WTWP...

بنابراین متن رمز شده "QNXEPVYTWTWP" خواهد بود.

تحلیل رمز[ویرایش]

با استفاده از پیغام "meet at the fountain" و با کلمه کلیدی "KILT" داریم:[۳]

 plaintext:  MEETATTHEFOUNTAIN (unknown)
 key:        KILTMEETATTHEFOUN (unknown)
 ciphertext: WMPMMXXAEYHBRYOCA (known)

ما کلمات مشترک، کلمات دو حرفی و کلمات سه حرفی را بررسی می‌کنیم. برای مثال، "THE":

 ciphertext: WMP MMX XAE YHB RYO CA
 key:        THE THE THE THE THE ..
 plaintext:  DFL TFT ETA FAX YRK ..
 
 ciphertext: W MPM MXX AEY HBR YOC A
 key:. THE THE THE THE THE .
 plaintext:. TII TQT HXU OUN FHY.
 
 ciphertext: WM PMM XXA EYH BRY OCA
 key:        .. THE THE THE THE THE
 plaintext:  .. WFI EQW LRD IKU VVW

قطعات متن اولیه با ترتیب احتمال مرتب‌سازی می‌شوند.

unlikely <----> promising
 
EQW DFL TFT ... ... ETA OUN FAX

می دانیم که قطعه متن آشکار اولیه با شیفت به تعداد حروف کلمه کلیدی در کلید ظاهر می شود. به طور مشابه قطعه حدس زده شده از کلید ("THE") در متن آشکار با شیفت به چپ ظاهر می شود. بنابر این با حدس زدن طول کلمه کلیدی (احتمالاً بین 3 تا 12 حرف) می توانیم به متن آشکار و کلید پی ببریم.

همین کار را با "OUN" انجام می دهیم:

shift by 4:
 ciphertext: WMPMMXXAEYHBRYOCA
 key:        ......ETA.THE.OUN
 plaintext:  ......THE.OUN.AIN
 
 by 5:
 ciphertext: WMPMMXXAEYHBRYOCA
 key:        .....EQW..THE..OU
 plaintext:  .....THE..OUN..OG
 
 by 6:
 ciphertext: WMPMMXXAEYHBRYOCA
 key:        ....TQT...THE...O
 plaintext:  ....THE...OUN...M

همانطور که می بینید شیفت 4 تایی خوب به نظر می رسد (دو حالت شیفت دیگر Q بعید دارند). بنابراین "ETA" ظاهر شده را به اندازه 4 تا در متن آشکار شیفت می دهیم:

ciphertext: WMPMMXXAEYHBRYOCA
key: ..LTM.ETA.THE.OUN
plaintext: ..ETA.THE.OUN.AIN

در این مرحله احتمالاً کلمه کلیدی 4 کاراکتری است ("..LT") و ما باید بخشی از پیغام را به دست آورده باشیم:

 M.ETA.THE.OUN.AIN

از آنجایی که حدس های متن آشکار ما بر روی 4 کاراکتر سمت چپ دارد، می توانیم حدس های درست و غلط بزنیم و جاهای خالی را پر کنیم:

MEETATTHEFOUNTAIN

سادگی تحلیل رمز به خاطر فیدبکی است که از رابطه بین متن آشکار و کلید ناشی می شود. یک حدس 3 کاراکتری، 6 کاراکتر دیگر را آشکار می کند که به نوبه خود کاراکتر های بیشتری را آشکار می کنند و تاثیر آبشاری ایجاد می کند که به رد کردن سریع حدس های غلط کمک می کند.

autokey در رمزنگاری‌های مدرن[ویرایش]

رمزنگاری های مدرن Autokey از متود های بسیار متنوع رمزنگاری استفاده می کنند، اما همه این رمزنگاری ها یا از بایت های کلید و یا بایت هایی از متن آشکار استفاده می کنند. بیشتر رمزهای دنباله‌ای بر اساس ژنراتور عدد شبه تصادفی ساخته شده اند: از کلید برای مقدار دهی اولیه ژنراتور استفاده می شود، و سپس بایت هایی از کلید و یا متن آشکار برای تولید بایت های بیشتر به ژنراتور تغذیه می شود. برخی از رمزهای دنباله‌ای خودهماهنگ (به انگلیسی: self-synchronizing) هستند؛ چراکه بایت های بعدی کلید معمولاً فقط به N بایت قبلی پیغام وابسته است. اگر یک بایت در پیغام گم و یا مخدوش شود، تنها زمانی که N بایت پردازش شده باشد جریان کلید نیز مخدوش می شود. در این نقطه جریان کلید به حالت نرمال باز می گردد و بقیه پیغام به درستی رمزگشایی می شود.

جستارهای وابسته[ویرایش]

پانویس[ویرایش]

  1. Kahn, David, The Codebreakers, revised edition, 1996, p. 144.
  2. "Autokey Calculator". Asecuritysite.com. Retrieved 2012-12-26. 
  3. "Autokey Calculator". Asecuritysite.com. Retrieved 2012-12-26. 

منابع[ویرایش]

  • Bellaso, Giovan Battista, Il vero modo di scrivere in cifra con facilità, prestezza, et securezza di Misser Giovan Battista Bellaso, gentil’huomo bresciano, Iacobo Britannico, Bressa 1564.
  • Vigenère, Blaise de, Traicté des chiffres ou secrètes manières d’escrire, Abel l’Angelier, Paris 1586. ff. 46r-49v.
  • LABRONICUS (Buonafalce, A), Early Forms of the Porta Table, “The Cryptogram”, vol. LX n. 2, Wilbraham 1994.
  • Buonafalce, Augusto, Bellaso’s Reciprocal Ciphers, “Cryptologia” 30 (1):39-51, 2006.
  • LABRONICUS (Buonafalce, A), Vigenère and Autokey. An Update, “The Cryptogram”, vol. LXXIV n. 3, Plano 2008.

پیوند به بیرون[ویرایش]