موضوع مقاله: رمز ویژنر | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # رمز ویژنر | مقدمه: علاوه بر این که رمزنگاری ساده فهمی بود و به راحتی پیاده‌سازی می شد، در برابر تمام تلاش‌ها برای شکستن مقاومت نیز کرد تا این که بعد از سه قرن در سال ۱۸۶۳ شکسته شد. | ## بخش 1: رمز ویژنر | خیلی از افراد سعی کردند تا طرحهایی از رمزنگاری را پیاده‌سازی کنند که در واقع همهٔ آن‌ها براساس رمزنگاری ویژنر بود. تاریخچه لئون باتیستا آلبرتی اولین کسی بود که تعریف جامعی از رمز چند الفبایی ارائه داد. بعدها یوهانس تریتمیوس در یک تحقیق مربوط به رمزنگاری ، tabula recta را منتشر کرد و این جدول در واقع جدولی مربعی از حروف الفبا است که شیفت داده شده‌اند و از ابزار مهم در رمزنگاری ویژنر است. روش رمزنگاری تریتمیوس ، پیشرفت چشم‌گیری به جای سوییچ‌های بین حروف حروف متن رمز شده که سخت‌افزاری و قابل پیش‌بینی بودند، ارائه می‌داد. کلیدها معمولاً کلمه‌های منفرد یا عبارت‌های کوتاه بودند؛ بنابراین در روش Bellaso امنیت قوی تنها به کلید آن بستگی داشت. از آنجا که تهیه یک عبارت کلیدی کوتاه، مانند مکالمه خصوصی قبلی، نسبتاً آسان است، سیستم Bellaso از امنیت قابل توجهی برخوردار بود. چارلز بابیج شناخته شده‌است در این که متون رمز شدهٔ متنوعی را در اوایل سال ۱۸۵۴ شکست اما هیچ‌گاه کار خود را منتشر نکرد. Kasiskبه‌طور کامل رمزنگاری را شکست و در قرن نوزدهم این تکنیک را منتشر کرد، اما حتی در قرن شانزدهم، بعضی از رمزنگاران ماهر می‌توانستند گاه به گاه رمز را بشکنند. رمزگذاری Vigenère به اندازهٔ کافی ساده هستند که در صورت استفاده از دیسک‌های رمزگذاری، رمزگذاری می‌شود. به عنوان مثال، کشورهای کنفدراسیون آمریکا از دیسک رمزنگاری برای پیاده‌سازی رمز Vigenère در طول جنگ داخلی آمریکا استفاده کردند. پیام‌های کنفدراسیون پنهان نمی‌ماندند و اتحادیه مرتباً پیام‌های آن‌ها را کرک می‌کرد. توصیف در رمزنگاری Caesar، هر حرف از الفبایی به اندازهٔ عدد مشخصی شیفت پیدا می‌کند. این حروف الفبا ۲۶ بار در ردیف‌های مختلف نوشته شده‌است، هر الفبا در مقایسه با الفبای قبلی، شیفت چرخه ای به چپ دارد، متناسب با ۲۶ حالت رمزگذاری Caesar است. در نقاط مختلف فرایند رمزگذاری، از حرف الفبایی متفاوتی از یکی از ردیف‌ها استفاده می‌شود. به عنوان مثال متنی زیر را که می‌خواهیم رمزنگاری کنیم، در نظر بگیرید:شخصی که پیام را ارسال می‌کند یک کلمه را به عنوان کلید انتخاب می‌کند و آن را تکرار می‌کند تا اینکه با طول متن اصلی برابر شود. به عنوان مثال، کلمه کلیدی "LEMON" را بعنوان کلید استفاده می‌کند:هر ردیف با یک حرف کلیدی شروع می‌شود. | ## بخش 2: رمز ویژنر | اگرچه ۲۶ ردیف کلیدی نشان داده شده‌است، یک کد فقط از همان کلیدهایی (حروف مختلف) استفاده می‌کند که در رشتهٔ کلید آمده‌است. حال با در نظرگیری یک حرف از متن اصلی و حرف متناظر در کلید، در جدول عنصر [key-row, msg-col] را پیدا می‌کنیم و آن را به عنوان حرف رمز شده درنظر می‌گیریم. اگر به حروف A-Z اعداد ۲۵–۰ نسبت داده شود و جمع را بر مبنای ۲۶ در نظر بگیریم، رمزنگاری (Vigenère (E را با کلید (K) می‌توان به شکل زیر نوشت:همچنین رمزگشایی (D) با استفاده از کلید (K) را می‌توان به صورت زیر تعریف کرد:که در دو تعریف بالا M = M1 …Mn متن اصلی است، C = C1 …Cn متن رمز شده‌است و K = K1 …Kn کلیدی است که از نتیجهٔ تکرار کلمهٔ کلیدی به تعداد [n/m] به دست آمده‌است که m طول کلید می‌باشد. پس با استفاده از مثال قبل، برای رمزنگاری کردن با حرف کلیدی ، نتیجه خواهد شد:بنابراین برای رمزگشایی با استفاده از حرف کلیدی ، به شکل زیر عمل می‌کنیم:به‌طور کلی اگر ∑ مجموعه ای از حروف الفبایی با طول باشد و m طول کلید باشد، می‌توان رمزنگاری و رمزگشایی Vigenère به شکل زیر نشان داد:Mi متناسب است با مقداری که برای i امین کاراکتری که در جدول در نظر گرفته شده‌است به عنوان مثال اگر مجموعهٔ حروف الفبایی به صورت باشد مقدار A برابر با صفر خواهد بود همچنین مقدار B برابر با یک خواهد بود و … به همین صورت برای Ci و Ki. به عنوان مثال، اگر P پر تکرارترین حرف در متن باشد، با توجه به این که آن متن به زبان انگلیسی است، ممکن است گمان شود که P با E مطابقت دارد، زیرا E پرتکرارترین حرف در زبان انگلیسی است؛ بنابراین در رمزنگاری Vigenère، حرف E در هر نقطه ای از متن اصلی می‌تواند به هر حرف دیگری رمزنگاری شود که تحلیل فرکانسی می‌تواند این سیستم را بشکند. اگر بتوان طول کلید را حدس زد، با متن رمزنگاری شده می‌توان مشابه رمزنگاری Caesar رفتار کرد و با استفاده از تحلیل فرکانسی حروف، سیستم رمزنگاری را شکست. حمله‌های قبل از آن در صورت داشتن دانشی از متن اصلی یا با استفاده از کلید قابل حدسی صورت می‌گرفت در حالی که روش Kasiski به این دو وابسته نبود. اگرچه Kasiski نخستین کسی بود که شرحی از این حمله را منتشر کرد، اما واضح است که دیگران از آن آگاه بودند. تست Kasiski از این واقعیت استفاده می‌کند که کلمه‌های پرتکرار، به‌طور اتفاقی، گاهی با استفاده از حروف کلیدی مشابه رمزگذاری شده‌اند و منجر به گروه‌های پرتکرار در متن رمز شده، می‌شوند. اگر فرض شود که بخش‌های تکرار شده در متن رمز شده، همان بخش‌های تکراری در متن اصلی را نشان می‌دهد، این بدان معنی است که طول کلید ۱۶، ۸ ، ۴، ۲ یا ۱ کاراکتر است. تمام مقسوم علیه‌های فاصله، می‌توانند به عنوان کاندید برای طول کلید باشند به عنوان مثال کلید به طول یک همان رمز نگاری Caesar است و تحلیل رمز آن بسیار ساده‌تر است. از آنجا که طول کلید ۲ و ۱ غیر واقعی و کوتاه هستند، پس کافی است طول‌های ۱۶، ۸ یا ۴ را امتحان کرد. پیام‌های طولانی‌تر عملکرد این تست را دقیق تر می‌کند زیرا معمولاً حاوی بخش‌های تکراری بیشتری است. اگر فرض شود که بخش‌های تکرار شده در متن رمز شده، همان بخش‌های تکراری در متن اصلی را نشان می‌دهد، این بدان معنی است که طول کلید ۱۸، ۹ ، ۶، ۳ ، ۲ یا ۱ کاراکتر است. این بدان معنی است که طول کلید می‌تواند ۳۰، ۱۵، ۱۰، ۶ ، ۵، ۳ ، ۲ یا ۱ کاراکتر باشد. با اشتراک گرفتن بین این دو مجموعه، با اطمینان می‌توان نتیجه گرفت که به احتمال زیاد طول کلید ۶ است زیرا طول‌های ۳، ۲ و ۱ غیر واقعی و کوتاه هستند. | ## بخش 3: رمز ویژنر | با دانستن احتمال که احتمال یکسان بودن دو حرف از یک متن که تصادفی انتخاب می‌شوند را بیان می‌کند (حدوداً ۰٫۰۶۷ در زبان انگلیسی) و احتمال انتخاب تصادفی uniform یک حرف از حروف الفبا (در زبان انگلیسی یا )، طول کلید با رابطهٔ زیر تخمین زده می‌شود: نرخ همزمانی مشاهده شده را نشان می‌دهد:در فرمول بالا: c تعداد حرف در الفبا است (در زبان انگلیسی ۲۶ = c). با این حال، فرمول بالا تنها یک تقریب است؛ دقت آن با افزایش اندازه متن افزایش می‌یابد. یک روش بهتر برای بررسی طول‌های مختف کلید، کپی کردن متن در سطرهای یک ماتریس با تعداد ستون‌های مختلف به اندازهٔ طول کلیدی فرضی و سپس میانگین شاخص همزمانی (IC) ستون‌ها که محاسبه می‌شود. وقتی این کار برای هر طول کلید ممکن انجام شود، طول کلید متناظر با بالاترین میانگین I.C. هر ستون شامل متن ساده است درواقع مثل این است که از رمزنگاری Caesar استفاده شده‌است. با استفاده از روشهای مشابه برای شکستن رمز Caesar، می‌توان حروف موجود در متن رمز شده را کشف کرد. هنگامی که هر حرف در کلید مشخص شد، آنچه باید توسط تمام تحلیلگران رمز انجام شود این است که متن رمز شده را رمزگشایی می‌کنند تا متن اصلی را به دست آورند. از بین بردن کلید (Key elimination) در رمزنگاری Vigenère که با الفبای نرمال و رایجی همراه است، در اصل از حساب پیمانه ای یا همنهشتی استفاده می‌کند که خاصیت جابه جایی دارد به خاطر همین با تفاضل متن رمز شده با خودش به این صورت که متن رمز شده را با تبدیل به بلاک‌هایی به اندازهٔ طول کلید می‌کنند و بلاک‌های پشت سر هم را از هم کم می‌کنند، که حاصل برابر است با تفاضل متن اصلی با خودش به همان صورتی که برای متن رمز شده گفته شد. حال اگر بتوان در آن یک کلمهٔ احتمالی را پیدا کرد یا حدس زد پس خودرمزنگاری که بر روی متن اصلی اعمال شده شناخته می‌شود. همین فرایند باعث می‌شود که بتوان کلید را با استفاده از تفاضل متن اصلی شناخته شده و متن رمز شده، پیدا کرد. انواع دیگر نوعی کلیدی اجرایی از رمزگذاری Vigenère نیز در شرایطی غیرقابل شکست تلقی می‌شد. در صورت استفاده از چندین کلید، طول کلید مؤثر برابر است با کوچکترین مضرب مشترک بین کلیدها. به عنوان مثال، با استفاده از دو کلید GO و CAT که طول آنها ۲ و ۳ است، طول کلید مؤثر ۶ (ک.م. به عنوان مثال، طول کلید مؤثر با کلیدهایی به طول ۲، ۳ و ۵ کاراکتر، ۳۰ است، اما با کلیدهای به طول ۷، ۱۱ و ۱۳ کاراکتر، ۱۰۰۱ است. اگر واقعاً از یک کلید تصادفی تولید شود، طول آن حداقل به اندازهٔ متن رمز شده باشد و فقط یک بار از آن استفاده شود، رمزنگاری Vigenère از نظر تئوری غیرقابل شکست خواهد بود. با این وجود، در این حالت کلید، و نه رمزگذاری، رمزنگاری را از نظر شکست پذیری، قدرت می‌بخشد، و این سیستم‌ها صرف نظر از شیوهٔ رمزنگاری به کار رفته، به عنوان سیستم‌های (one-time pad) خوانده می‌شوند. | ## جمع‌بندی | مشابه رمزنگاری Vigenère است با این تفاوت که تنها از ۱۰ الفبای رمزنگاری مختلف استفاده می‌کند، رقم‌های ۰ تا ۹).