رمز سزار

از testwiki
نسخهٔ تاریخ ۲۶ سپتامبر ۲۰۲۴، ساعت ۰۸:۲۱ توسط imported>Taddah (استفاده‌های اخیر)
(تفاوت) → نسخهٔ قدیمی‌تر | نمایش نسخهٔ فعلی (تفاوت) | نسخهٔ جدیدتر ← (تفاوت)
پرش به ناوبری پرش به جستجو

الگو:مقاله برگزیده

مثالی از رمز سزار با میزان انتقال ۳. الفبای متن آشکار در بالا و الفبای رمز در پایین نمایش داده شده‌اند. برای مثال حرف A در متن اصلی با حرف D جایگزین خواهد شد.

در رمزنگاری، رمز سزار الگو:به انگلیسی که با نام‌های کد سزارالگو:یادچپ، جابه‌جایی سزارالگو:یادچپ یا رمز جابه‌جاییالگو:یادچپ نیز شناخته می‌شود، از ساده‌ترین و شناخته‌شده‌ترین تکنیک‌های رمزگذاری است.

این رمز یک نوع رمز جانشینی است که در آن هر حرف در متن آشکار با حرف دیگری با فاصله‌ای ثابت در الفبا جایگزین می‌شود؛ به این فاصلهٔ ثابت «مقدار انتقال» گفته می‌شود.

برای مثال اگر مقدار انتقال برابر ۳ انتخاب شود و رمزنگاری روی متن با الفبای انگلیسی انجام شود، حرف D به جای حرف A می‌نشیند، حرف E به جای حرف B می‌نشیند، تا آخر. نام رمز سزار از ژولیوس سزار گرفته شده‌است که از آن در ارتباطات محرمانهٔ خود استفاده می‌کرد.

رمزهای جانشینی پیش از ژولیوس سزار هم استفاده می‌شدند. به عنوان مثال می‌توان به رمز اتبش و مربع پولیبیوس اشاره کرد. اما استفاده از انتقال دورانی، نخست به نام ژولیوس سزار ثبت شده‌است. از رمز سزار حتی تا سال ۱۹۱۵ در ارتباطات نظامی استفاده شده‌است. ارتش روسیه از آن به عنوان جایگزینی برای سیستم‌های پیچیده‌تر که یادگیری آن‌ها برای لشگریان دشوار بود، استفاده می‌کرد. در نتیجه، تحلیل‌گران رمز آلمانی و اتریشی پیام‌های روسی را به راحتی شنود می‌کردند.

رمز سزار مانند تمام رمزهای جانشینی تک‌الفبایی دیگر به راحتی شکسته می‌شود و در حضور تکنیک‌های مدرن رمزگشایی، هیچ‌گونه امنیتی برای ارتباطات فراهم نمی‌کند. به همین دلیل، این رمز معمولاً به عنوان یکی از اجزای سیستم‌های رمزگذاری پیچیده‌تر مانند رمز ویژنر استفاده می‌شود. یک کاربرد مدرن رایج رمز سزار، روت۱۳ است که در تالارهای گفتگوی اینترنتی مورد استفاده قرار می‌گیرد. روت۱۳ حالت خاصی از رمز سزار است که از میزان انتقال ۱۳ استفاده می‌کند.

تعریف

رمز سزار، یک رمز جانشینی تک‌الفبایی است، به این معنی که در این روش هر حرف از الفبای متن اصلی (الفبای آشکار) با یک حرف از الفبای رمز جایگزین می‌شود و این جانشینی در تمام متن به صورت یکسان صورت می‌گیرد. فاصلهٔ رتبهٔ هر حرف از الفبای آشکار و حرف متناظر در الفبای رمز، مقداری است ثابت که به آن «مقدار انتقال» گفته می‌شود. رابطهٔ بین الفبای آشکار و الفبای رمز را می‌توان با هم‌ردیف کردن دو الفبا نمایش داد. الفبای رمز درواقع همان الفبای آشکار است که به میزان مشخصی به سمت راست یا چپ چرخانده شده‌است. برای مثال، رمز سزار با چرخش به چپ به میزان انتقال ۳، در جعبهٔ پایین نمایش داده شده‌است. کلید رمز همان مقدار انتقال است که در این مثال برابر با ۳ انتخاب شده‌است.[۱]

الفبای آشکار ABCDEFGHIJKLMNOPQRSTUVWXYZ
الفبای رمز DEFGHIJKLMNOPQRSTUVWXYZABC

همچنین به‌طور مشابه می‌توان جدول زیر را برای الفبای فارسی درنظر گرفت:

الفبای آشکار ا ب پ ت ث ج چ ح خ د ذ ر ز ژ س ش ص ض ط ظ ع غ ف ق ک گ ل م ن و ه ی
الفبای رمز ت ث ج چ ح خ د ذ ر ز ژ س ش ص ض ط ظ ع غ ف ق ک گ ل م ن و ه ی ا ب پ

تبدیل حروف آشکار به رمز در تمام متن یکسان است و به این ترتیب رمز سزار در ردهٔ رمزهای تک‌الفبایی (در برابر رمزهای چند الفبایی) قرار می‌گیرد.[۲]

رمزگشایی به روش مشابه و با انتقال به همان میزان در جهت عکس انجام می‌شود.

مثال

برای رمزگذاری متن، کافی است که هر حرف از متن آشکار با حرف متناظر آن در الفبای رمز جایگزین شود. در مثال زیر از کلید ۳ برای رمزگذاری استفاده شده‌است.

متن آشکار THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG
متن رمز WKH TXLFN EURZQ IRA MXPSV RYHU WKH ODCB GRJ

به طور مشابه می‌توان از رمز سزار با کلید ۳ برای رمزگذاری متن فارسی استفاده کرد:

متن آشکار ژولیوس سزار نظامی اهل روم بود
متن رمز صاوپاض ضشتس یفتهپ تبو ساه ثاز

تعریف ریاضی

رمز سزار را می‌توان به صورت ریاضی با استفاده از هم‌نهشتی نمایش داد. به این منظور ابتدا با استفاده از الگوی سادهٔ زیر، حروف الفبا با اعداد جایگزین می‌شوند.[۳]

A0,B1,,Z25

سپس هر حرف x با انتقال n به ترتیب زیر رمزگذاری می‌شود:[۴]

En(x)=(x+n)mod26

به طریق مشابه، رمزگشایی به صورت زیر انجام می‌شود:

Dn(x)=(xn)mod26

توجه به این نکته ضروری است که تعاریف مختلفی برای عملیات پیمانه (mod) وجود دارد. در اینجا نتیجهٔ پیمانه عددی بین ۰ تا ۲۵ است. یعنی اگر x+n یا x-n در بازهٔ ۰ تا ۲۵ نباشد، باید ۲۶ با نتیجه جمع یا از آن کم شود.[۵]

وجه تسمیه

نام رمز سزار از ژولیوس سزار گرفته شده‌است که در مکاتبات خود از این رمز با کلید ۳ استفاده می‌کرد.

نام رمز سزار از ژولیوس سزار گرفته شده‌است. ژولیوس سزار، نظامی و سیاستمدار اهل جمهوری روم در قرن اول پیش از میلاد بود که نقش مهمی در گسترش قلمرو روم و تبدیل آن از جمهوری به امپراتوری داشت. به گفته سوئتونیوس، ژولیوس سزار از انتقالی به میزان ۳ (D به جای A در رمزگذاریالگو:یاد) برای رمز کردن پیام‌های مهم نظامی استفاده می‌کرد.[۶] رمزهای جانشینی پیش از ژولیوس سزار هم استفاده می‌شدند. به عنوان مثال می‌توان به رمز اتبش و مربع پولیبیوس اشاره کرد. اما استفاده از انتقال دورانی، نخست به نام ژولیوس سزار ثبت شده‌است. شواهدی وجود دارد که ژولیوس سزار از سیستم‌های پیچیده‌تری نیز استفاده کرده‌است، اما اطلاعی از جزئیات آن در دسترس نیست.[۷][۸] برای مثال، سیستم جابجایی ستونی نیز در برخی منابع به ژولیوس سزار نسبت داده می‌شود و با نام‌هایی همچون جعبه سزارالگو:یادچپ یا مربع سزارالگو:یادچپ خوانده می‌شود.[۹]

تاریخچهٔ استفاده

دورهٔ باستان

بعد از ژولیوس سزار، نوهٔ خواهر او آگوستوس نیز از رمز سزار استفاده می‌کرد، با این تفاوت که از انتقالی به میزان ۱ استفاده می‌کرد و الفبا را به صورت دورانی در نظر نمی‌گرفت. به این ترتیب، او از B به جای A و در انتهای الفبا به جای Z از AA استفاده می‌کرد.[۱۰][۱۱]

دقیقاً مشخص نیست که رمز سزار در زمان خود تا چه حد مؤثر بوده‌است، اما احتمالاً امنیت قابل قبولی داشته‌است. نباید فراموش کرد که بخش زیادی از دشمنان سزار بی‌سواد بودند و گروهی دیگر نیز فرض می‌کردند پیام به یک زبان خارجی ناشناخته نوشته شده‌است.[۱۲] تکنیک ثبت‌شده‌ای برای شکستن رمزهای جانشینی ساده از آن دوران وجود ندارد. اولین اثر ثبت‌شده در این مورد به تحقیقات ابویوسف کندی در زمینهٔ تحلیل فراوانی در قرن نهم میلادی بر می‌گردد.[۱۳]

کاربرد رمز سزار در دوران باستان به زبان لاتین محدود نبود. در پشت طومارهای مزوزا، عبارت "الگو:Nowrap" به الفبای عبری نوشته می‌شد. این عبارت شامل سه نام خدا در زبان عبری است که با استفاده از رمز سزار با کلید ۱، رمزگذاری شده‌اند. قدمت مزوزا، به زمان حضور بنی‌اسرائیل در صحرای سینا نسبت داده می‌شود.[۱۴] اما استفاده از رمز سزار در پشت آن، رسمی است که احتمالاً از زمان سلطهٔ روم بر یهودیه، که یهودیان اجازهٔ استفاده از مزوزا را نداشتند، باقی مانده‌است. این حروف رمز خود یک نام الهی بااهمیت تلقی می‌شوند که طبق اعتقادات یهودیان ارتدکس قدرت‌های شیطانی را مهار می‌کند.[۱۵]

قرون جدید

در قرن نوزدهم میلادی، گاهی از قسمت آگهی‌های شخصی روزنامه‌ها برای انتقال پیام‌های رمز شده استفاده می‌شد. برای مثال، نمونه‌هایی از استفاده از این رمز در روزنامهٔ تایمز دیده می‌شود.[۱۶] از رمز سزار حتی تا سال ۱۹۱۵ در ارتباطات نظامی استفاده شده‌است. ارتش روسیه از آن به عنوان جایگزینی برای سیستم‌های پیچیده‌تر که یادگیری آن‌ها برای لشگریان دشوار بود، استفاده می‌کرد. در نتیجه، تحلیل‌گران رمز آلمانی و اتریشی پیام‌های روسی را به راحتی شنود می‌کردند.[۱۷][۱۸]

ترکیب دو قرص چرخان که می‌تواند در رمزگذاری یا رمزگشایی رمز سزار مورد استفاده قرار گیرد.

در رمز ویژنر از الگوریتم رمز سزار استفاده می‌شود، با این تفاوت که کلیدهای رمز (میزان انتقال) متفاوتی برای حروف متن آشکار در نظر گرفته می‌شود. به این ترتیب کلید رمز کلی یک عدد چند رقمی (یک کلمه) است. اگر طول کلمهٔ کلید با طول متن آشکار یکسان باشد، به صورت تصادفی تولید شده باشد و تنها یک بار استفاده شود، پد یک‌بار مصرف حاصل می‌شود که غیرقابل شکست است.[۱۹] دشواری در دستیابی به این شرایط و نیز مشکل توزیع امن چنین کلید رمزی مابین طرفین ارتباط، در عمل باعث می‌شود که پد یک‌بار مصرف مورد استفاده قرار نگیرد. کلیدهای کوتاه‌تر از متن آشکار باعث ایجاد الگوهای تکرارشونده در متن رمز می‌شوند که با روش‌های آماری پیشرفته در تحلیل فراوانی امکان شکست رمز را فراهم می‌کند. نیروهای ایالات مؤتلفهٔ آمریکا در طول جنگ داخلی آمریکا از رمز ویژنر با کلیدهای Manchester Bluff،الگو:رچ Complete Victory و Come Retribution استفاده می‌کردند که برای طرف مقابل شناخته‌شده بود.[۲۰]

استفاده‌های اخیر

رمز سزار امروزه در بعضی اسباب‌بازی‌های کودکان استفاده می‌شود. همچنین در الگوریتم روت۱۳ از رمز سزار استفاده می‌شود. روت۱۳ حالت خاصی از رمز سزار با کلید رمز ۱۳ بر روی الفبای انگلیسی است. با توجه به آن‌که الفبای انگلیسی از ۲۶ حرف تشکیل شده‌است، روت ۱۳ وارون خودش است. به این معنی که عملیات رمزگذاری و رمزگشایی عیناً مانند یکدیگر هستند. روت۱۳ در یوزنت به‌طور گسترده برای پنهان کردن متن (برای مثال، پاسخ معماها و افشاسازها) استفاده می‌شود اما کاربردی برای امنیت ارتباط ندارد.[۲۱]

در آوریل ۲۰۰۶، برناردو پروونتسانو پدرخواندهٔ فراری مافیا به دلیل بی‌دقتی و استفاده از رمز سزار در پیام‌های مخفی، شناسایی و دستگیر شد. پروونتسانو در این سیستم از کلید ۳ و برای نوشتن پیام از اعداد به جای حروف استفاده می‌کرد. به این ترتیب، ۲۱ حرف الفبای ایتالیایی از A تا Z به ترتیب با اعداد ۴ تا ۲۴ جایگزین می‌شدند. به عنوان مثال، به جای A عدد ۴ نوشته می‌شد، به جای B عدد ۵ و الی آخر.[۲۲][۲۳]

در سال ۲۰۱۱ رجب کریم که از رمز سزار برای تماس با یک فعال اسلام‌گرای اهل بنگلادش و برنامه‌ریزی برای بمب‌گذاری در هواپیماهای بریتیش ایرویز استفاده کرده بود، محاکمه و به زندان محکوم شد. کریم و هم‌دستش با وجود آشنایی با سیستم‌های پیشرفته‌تر از قبیل پی‌جی‌پی و تروکریپت، از یک نسخهٔ رمز سزار که خودشان در نرم‌افزار اکسل نوشته بودند استفاده می‌کردند، چون به باور آنان سیستم‌های پیشرفته برای «کفار» شناخته‌شده بودند.[۲۴]

شکستن رمز

میزان انتقالالگو:سخرمزگشایی متن آشکار احتمالی
۰ EXXEGOEXSRGI
۱ DWWDFNDWRQFH
۲ CVVCEMCVQPEG
۳ BUUBDLBUPODF
۴ ATTACKATONCE
۵ ZSSZBJZSNMBD
۶ YRRYAIYRMLAC
...
۲۳ HAAHJRHAVUJL
۲۴ GZZGIQGZUTIK
۲۵ FYYFHPFYTSHJ

رمز سزار حتی در شرایط حملهٔ متن اصلی به راحتی قابل شکسته شدن است. دو موقعیت زیر می‌توانند در نظر گرفته شوند:

  1. حمله‌کننده می‌داند یا حدس می‌زند که نوعی از رمز جانشینی ساده استفاده شده‌است اما مشخصاً نمی‌داند که رمز سزار است.
  2. حمله‌کننده می‌داند که رمز سزار استفاده شده‌است اما مقدار انتقال را نمی‌داند.

در حالت اول، استفاده از تکنیک‌های معمول شکستن رمزهای جانشینی، مانند تحلیل فراوانی، به سادگی نتیجه‌بخش است. در حین استفاده از این تکنیک‌ها، حمله‌کننده به راحتی متوجه نظم موجود در سیستم جانشینی و استفاده از رمز سزار خواهد شد.[۲۵]

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

شکستن رمز در حالت دوم ساده‌تر از حالت اول است. از آنجا که تعداد ممکن انتقال‌ها محدود است (در زبان انگلیسی ۲۶ حالت ممکن) اعمال حملهٔ جستجوی فراگیر و آزمایش تمام حالات ممکن به سرعت انجام می‌شود.[۲۶] برای مثال، همان‌طور که در جدول نشان داده شده‌است، بخشی از متن به همراه تمام انتقال‌های ممکن نوشته می‌شود و ردیف حاوی متن بامعنی به راحتی قابل تشخیص است. در این روش کافی است که زیر هر حرف از متن رمز شده، تمام حروف الفبا به ترتیب نوشته شود.[۲۷][۲۸] در مثال جدول روبرو، متن رمز شده EXXEGOEXSRGI است و به سادگی می‌توان تشخیص داد که کلید رمز استفاده شده برابر با ۴ بوده‌است.

روش دیگر، حملهٔ جستجوی فراگیر با کمک تحلیل فراوانی است. در این روش، با مقایسهٔ فراوانی حروف در متن رمز و فراوانی حروف در متون عادی زبان مورد استفاده و جابجایی دو نمودار، می‌توان میزان انتقال را پیدا کرد. برای مثال، در زبان انگلیسی E و T پراستفاده‌ترین و حروف Q و Z کم‌استفاده‌ترین حروف هستند.[۲۹][۳۰] این روش توسط کامپیوتر هم قابل پیاده‌سازی است. برای این کار کافی است با استفاده از آزمون مربع کای، توزیع داده شده با توزیع مورد انتظار مقایسه شود.[۳۱]

معمولاً فقط یک متن آشکار محتمل برای یک متن رمز وجود دارد، اما برای رمزهای بسیار کوتاه ممکن است تعداد پاسخ‌های محتمل بیشتر از یکی باشد. برای مثال، متن رمز MPQY می‌تواند به ADEN یا KNOW برگردد. به‌طور مشابه ALIIP می‌تواند DOLLS یا WHEEL باشد و AFCCP را می‌توان به JOLLY یا CHEER رمزگشایی کرد. به حداقل طول متن رمز شده که لازم است تا متن اصلی به صورت یکتا قابل شناسایی باشد، فاصلهٔ یکتایی گفته می‌شود.[۳۲]

استفادهٔ چندباره از رمز سزار بر روی یک متن، به امنیت بیشتر منجر نمی‌شود. زیرا دو بار رمزگذاری با انتقال‌های A و B معادل یک بار رمزگذاری با کلید A+B است. به زبان ریاضی می‌توان گفت مجموعهٔ رمز سزار با کلیدهای متنوع، تحت ترکیب یک گروه تشکیل می‌دهند.[۳۳] الگو:-

یادداشت‌ها

الگو:پانویس الگو:یادداشت

پانویس

الگو:پانویس

منابع

الگو:آغاز پانویس الگو:چپ‌چین

الگو:پایان چپ‌چین الگو:پایان پانویس

پیوند به بیرون

الگو:رده انبار