در رمزنگاری، رمز سزار (به انگلیسی: Caesar cipher) که با نام‌های کد سزار یا جابجایی سزار نیز شناخته می‌شود، یکی از ساده‌ترین و شناخته‌شده‌ترین تکنیک‌های رمزگذاری است. این رمز یک نوع رمز جانشینی است که در آن هر حرف در متن آشکار با حرف دیگری با فاصله ثابت در الفبا جایگزین می‌شود. برای مثال با مقدار انتقال ۳، D به جای A می‌نشیند، E به جای B، و الی آخر. نام این روش از ژولیوس سزار گرفته شده‌است که از آن برای ارتباطات محرمانه خود استفاده می‌کرد.

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

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

مثالویرایش

تبدیل الفبای آشکار به الفبای رمز را می‌توان با هم‌ردیف کردن دو الفبا نمایش داد. الفبای رمز درواقع همان الفبای آشکار است که به میزان مشخصی به سمت راست یا چپ چرخانده شده. برای مثال، رمز سزار با چرخش به چپ میزان انتقال ۳ در اینجا نمایش داده شده. کلید رمز همان مقدار جابجایی است که در این مثال برابر با ۳ انتخاب شده.

آشکار: ABCDEFGHIJKLMNOPQRSTUVWXYZ
رمز:   DEFGHIJKLMNOPQRSTUVWXYZABC

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

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

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

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

 

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

 

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

 

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

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

تاریخچه و استفادهویرایش

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

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

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

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

در پشت طومارهای مزوزا از رمز سزار با کلید ۱ برای نوشتن نام‌های خدا استفاده می‌شود. استفاده از این رمز رسمی است که احتمالاً از زمانی که یهودیان اجازه استفاده از مزوزا را نداشتند باقی مانده. این حروف رمز خود یک نام الهی بااهمیت تلقی می‌شوند که طبق اعتقادات یهودیان ارتدکس قدرت‌های شیطانی را مهار می‌کند.[۷]

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

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

رمز سزار امروزه در بعضی اسباب‌بازی‌های کودکان استفاده می‌شود. همچنین در الگوریتم روت۱۳ از رمز سزار استفاده می‌شود. روت۱۳ روشی است که در یوزنت به‌طور گسترده برای پنهان کردن متن (برای مثال پاسخ معماها و افشاسازها) استفاده می‌شود اما کاربردی برای امنیت ارتباط ندارد.

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

در آوریل ۲۰۰۶، برناردو پروونزانو پدرخوانده فراری مافیا به دلیل بی‌دقتی و استفاده از رمز سزار در پیام‌های مخفی، شناسایی و دستگیر شد. پروونزانو برای نوشتن پیام از اعداد استفاده می‌کرد یعنی به جای 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 است. به زبان ریاضی می‌توان گفت مجموعه رمز سزار با کلیدهای متنوع، تحت ترکیب یک گروه تشکیل می‌دهند.

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

منابعویرایش

  • Leighton, Albert C. (April 1969). "Secret Communication among the Greeks and Romans". Technology and Culture. 10 (2): 139–154. Retrieved 8 June 2020 – via JSTOR. (نیاز به عضویت (help)).
  • Leyden, John (19 April 2006). "Mafia boss undone by clumsy crypto". The Register. Retrieved 12 June 2020.
  • Luciano, Dennis; Prichett, Gordon (January 1987). "Cryptology: From Caesar Ciphers to Public-Key Cryptosystems". The College Mathematics Journal. 18 (1): 2–17. Retrieved 9 June 2020 – via JSTOR. (نیاز به عضویت (help)).
  • Poltorak, Alexander. "Mezuzah and Astrology". chabad.org. Retrieved 12 June 2020.
  • Reinke, Edgar C. (December 1962). "Classical Cryptography". The Classical Journal. 58 (3): 113–121. Retrieved 8 June 2020 – via JSTOR. (نیاز به عضویت (help)).
  • Savarese, Chris; Hart, Brian (26 April 2010). "The Caesar Cipher". Retrieved 15 June 2020.
  • Singh، Simon (۱۹۹۹). The Code Book. Fourth State. شابک ۹۷۸۱۸۵۷۰۲۸۷۹۹.
  • Suetonius (121). The Lives of the Twelve Caesars, Volume 01: Julius Caesar.
  • Suetonius (121). The Lives of the Twelve Caesars, Volume 02: Augustus.
  • "BA jihadist relied on Jesus-era encryption". The Register. 22 March 2011. Retrieved 12 June 2020.