رمز سزار
در رمزنگاری، رمز سزار که با نام‌های کد سزار، شیفت سزار یا رمز شیفت نیز شناخته می‌شود، یکی از ساده‌ترین و شناخته‌شده‌ترین تکنیک‌های رمزگذاری است. این رمز یک نوع رمز جانشینی است که در آن هر حرف در متن آشکار با حرف دیگری با فاصلهٔ ثابت در الفبا جایگزین می‌شود؛ به این فاصلهٔ ثابت «مقدار انتقال» گفته می‌شود. برای مثال اگر مقدار انتقال برابر ۳ انتخاب شود و رمزنگاری روی متن با الفبای انگلیسی انجام شود، حرف "D" به جای حرف "A" می‌نشیند، حرف "E" به جای حرف "B" می‌نشیند، و الی آخر. نام رمز سزار از ژولیوس سزار گرفته شده‌است که از آن برای ارتباطات محرمانهٔ خود استفاده می‌کرد.
رمز سزار معمولاً به عنوان یکی از اجزای سیستم‌های رمزگذاری پیچیده‌تر مانند رمز ویژنر استفاده می‌شود. روت۱۳ یک حالت خاص رمز سزار است که از میزان انتقال ۱۳ استفاده می‌کند و با توجه به آن‌که الفبای انگلیسی از ۲۶ حرف تشکیل شده، وارون خودش است. رمز سزار مانند تمام رمزهای جانشینی تک‌الفبایی دیگر به راحتی شکسته می‌شود و در حضور تکنیک‌های مدرن، هیچ‌گونه امنیتی برای ارتباطات فراهم نمی‌کند. نام رمز سزار از ژولیوس سزار گرفته شده‌است. به گفته سوئتونیوس، ژولیوس سزار از انتقالی به میزان ۳ (D به جای A در رمزگذاری) برای رمز کردن پیام‌های مهم نظامی استفاده می‌کرد. رمزهای جانشینی پیش از ژولیوس سزار هم استفاده می‌شدند، اما استفاده از این روش خاص، نخست به نام ژولیوس سزار ثبت شده‌است. شواهدی وجود دارد که ژولیوس سزار از سیستم‌های پیچیده‌تری نیز استفاده کرده‌است اما اطلاعی از جزئیات آن در دسترس نیست. برای مثال، سیستم جابجایی ستونی نیز در برخی منابع به ژولیوس سزار نسبت داده می‌شود و با نام‌هایی همچون "جعبه سزار" یا "مربع سزار" خوانده می‌شود.
بعد از ژولیوس سزار، نوهٔ خواهر او آگوستوس نیز از رمز سزار استفاده می‌کرد. با این تفاوت که از انتقالی به میزان ۱ استفاده می‌کرد و الفبا را به صورت دورانی در نظر نمی‌گرفت. به این ترتیب او برای مثال از B به جای A و در انتهای الفبا به جای Z از AA استفاده می‌کرد.
دقیقاً مشخص نیست که رمز سزار در زمان خود تا چه حد مؤثر بوده، اما احتمالاً امنیت قابل قبولی داشته‌است. نباید فراموش کرد که بخش زیادی از دشمنان سزار بی‌سواد بودند و گروهی دیگر نیز فرض می‌کردند پیام به یک زبان خارجی ناشناخته نوشته شده‌است. تکنیک ثبت‌شده‌ای برای شکستن رمزهای جانشینی ساده از آن دوران وجود ندارد. اولین اثر ثبت‌شده در این مورد به تحقیقات ابویوسف کندی در زمینهٔ تحلیل فراوانی در قرن نهم میلادی بر می‌گردد.
در پشت طومارهای مزوزا از رمز سزار با کلید ۱ برای نوشتن نام‌های خدا استفاده می‌شود. استفاده از این رمز، رسمی است که احتمالاً از زمانی که یهودیان اجازهٔ استفاده از مزوزا را نداشتند باقی مانده‌است. این حروف رمز خود یک نام الهی بااهمیت تلقی می‌شوند که طبق اعتقادات یهودیان ارتدکس قدرت‌های شیطانی را مهار می‌کند.
در قرن نوزدهم میلادی گاهی از قسمت آگهی‌های شخصی روزنامه‌ها برای انتقال پیام‌های رمز شده استفاده می‌شد. برای مثال نمونه‌هایی از استفاده از این رمز در روزنامهٔ تایمز دیده می‌شود. از رمز سزار حتی تا سال ۱۹۱۵ در ارتباطات نظامی استفاده شده‌است. ارتش روسیه از آن به عنوان جایگزینی برای سیستم‌های پیچیده‌تر که یادگیری آن‌ها برای لشگریان دشوار بود، استفاده می‌کرد. در نتیجه، تحلیل‌گران رمز آلمانی و اتریشی پیام‌های روسی را به راحتی شنود می‌کردند. در رمز ویژنر از الگوریتم رمز سزار استفاده می‌شود، با این تفاوت که کلیدهای رمز (میزان انتقال) متفاوتی برای حروف متن آشکار در نظر گرفته می‌شود. به این ترتیب کلید رمز کلی یک عدد چند رقمی (یک کلمه) است. اگر طول کلمهٔ کلید با طول متن آشکار یکسان باشد، به صورت تصادفی استفاده شده باشد و تنها یک بار استفاده شود، پد یک‌بار مصرف حاصل می‌شود که غیرقابل شکست است. البته دستیابی به این شرایط بسیار دشوار و در عمل غیرممکن است. کلیدهای کوتاه‌تر از متن آشکار باعث ایجاد الگوهای تکرارشونده در متن رمز می‌شوند که با روش‌های آماری پیشرفته در تحلیل فراوانی امکان شکست رمز را فراهم می‌کند. نیروهای ایالات مؤتلفهٔ آمریکا در طول جنگ داخلی آمریکا از رمز ویژنر با کلیدهای Manchester Bluff، Complete Victory و Come Retribution استفاده می‌کردند که برای طرف مقابل شناخته‌شده بود.
رمز سزار امروزه در بعضی اسباب‌بازی‌های کودکان استفاده می‌شود. همچنین در الگوریتم روت۱۳ از رمز سزار استفاده می‌شود. روت۱۳ روشی است که در یوزنت به‌طور گسترده برای پنهان کردن متن (برای مثال پاسخ معماها و افشاسازها) استفاده می‌شود اما کاربردی برای امنیت ارتباط ندارد.
در آوریل ۲۰۰۶، برناردو پروونتسانو پدرخواندهٔ فراری مافیا به دلیل بی‌دقتی و استفاده از رمز سزار در پیام‌های مخفی، شناسایی و دستگیر شد. پروونتسانو برای نوشتن پیام از اعداد استفاده می‌کرد یعنی به جای A عدد ۴ نوشته می‌شد، به جای B عدد ۵ و الی آخر.
در سال ۲۰۱۱ "رجب کریم" که از رمز سزار برای تماس با یک فعال اسلام‌گرای بنگلادشی و برنامه‌ریزی برای بمب‌گذاری در هواپیماهای بریتیش ایرویز استفاده کرده بود، محاکمه و به زندان محکوم شد. کریم و هم‌دستش با وجود آشنایی با سیستم‌های پیشرفته‌تر از قبیل پی‌جی‌پی و تروکریپت، از یک نسخهٔ رمز سزار که خودشان در نرم‌افزار اکسل نوشته بودند استفاده می‌کردند. چون به باور آنان این سیستم‌های پیشرفته برای «کفار» شناخته‌شده بودند.
تبدیل الفبای آشکار به الفبای رمز را می‌توان با هم‌ردیف کردن دو الفبا نمایش داد. الفبای رمز درواقع همان الفبای آشکار است که به میزان مشخصی به سمت راست یا چپ چرخانده شده‌است. برای مثال، رمز سزار با چرخش به چپ میزان انتقال ۳ در جعبهٔ پایین نمایش داده شده‌است. کلید رمز همان مقدار جابجایی است که در این مثال برابر با ۳ انتخاب شده‌است.
رمز سزار را می‌توان به صورت ریاضی با استفاده از هم‌نهشتی نمایش داد. به این منظور ابتدا با استفاده از الگوی سادهٔ زیر، حروف الفبا با اعداد جایگزین می‌شوند. سپس هر حرف "x" با انتقال "n" به ترتیب زیر رمزگذاری می‌شود: به طریق مشابه، رمزگشایی به صورت زیر انجام می‌شود. توجه به این نکته ضروری است که تعاریف مختلفی برای عملیات پیمانه ("mod") وجود دارد. در اینجا نتیجهٔ پیمانه عددی بین ۰ تا ۲۵ است. یعنی اگر "x+n" یا "x-n" در بازهٔ ۰ تا ۲۵ نباشد، باید ۲۶ با نتیجه جمع یا از آن کم شود.
تبدیل حروف آشکار به رمز در تمام متن یکسان است و به این ترتیب رمز سزار در ردهٔ رمزهای جانشینی (در برابر رمزهای چند الفبایی) قرار می‌گیرد.
برای رمزگذاری متن، کافی است که هر حرف از متن آشکار با حرف متناظر آن در الفبای رمز جایگزین شود. در مثال زیر از کلید ۳ برای رمزگذاری استفاده شده‌است. رمزگشایی به روش مشابه و با انتقال به همان میزان در جهت مقابل انجام می‌شود.
رمز سزار حتی در شرایط حملهٔ متن اصلی به راحتی قابل شکسته شدن است. دو موقعیت زیر می‌توانند در نظر گرفته شوند: در حالت اول استفاده از تکنیک‌های معمول شکستن رمزهای جانشینی مانند تحلیل فراوانی به سادگی نتیجه‌بخش است. در حین استفاده از این تکنیک‌ها، حمله‌کننده به راحتی متوجه نظم موجود در سیستم جانشینی و استفاده از رمز سزار خواهد شد.
شکستن رمز در حالت دوم ساده‌تر از حالت اول است. از آنجا که تعداد ممکن انتقال‌ها محدود است (در زبان انگلیسی ۲۶ حالت ممکن) اعمال حملهٔ جستجوی فراگیر و آزمایش تمام حالات ممکن به سرعت انجام می‌شود. برای مثال همان‌طور که در جدول نشان داده شده، بخشی از متن به همراه تمام انتقال‌های ممکن نوشته می‌شود و ردیف حاوی متن بامعنی به راحتی قابل تشخیص است. در این روش کافی است که زیر هر حرف از متن رمز شده، تمام حروف الفبا به ترتیب نوشته شود. در مثال جدول روبرو متن رمز شده EXXEGOEXSRGI است و به سادگی می‌توان تشخیص داد که کلید رمز استفاده شده برابر با ۴ بوده‌است.
روش دیگر حملهٔ جستجوی فراگیر با کمک تحلیل فراوانی است. در این روش با مقایسهٔ فراوانی حروف در متن رمز و فراوانی حروف در متون عادی زبان مورد استفاده و جابجایی دو نمودار می‌توان میزان انتقال را پیدا کرد. برای مثال در زبان انگلیسی E و T پراستفاده‌ترین و حروف Q و Z کم‌استفاده‌ترین حروف هستند. این روش توسط کامپیوتر هم قابل پیاده‌سازی است. برای این کار کافی است با استفاده از آزمون مربع کای، توزیع داده شده با توزیع مورد انتظار مقایسه شود.
معمولاً فقط یک متن آشکار محتمل برای یک متن رمز وجود دارد، اما برای رمزهای بسیار کوتاه ممکن است تعداد پاسخ‌های محتمل بیشتر از یکی باشد. برای مثال متن رمز MPQY می‌تواند به ADEN یا KNOW برگردد. به‌طور مشابه ALIIP می‌تواند DOLLS یا WHEEL باشد و AFCCP را می‌توان به JOLLY یا CHEER رمزگشایی کرد. به حداقل طول متن رمز شده که لازم است تا متن اصلی به صورت یکتا قابل شناسایی باشد فاصلهٔ یکتایی گفته می‌شود.
استفادهٔ چندباره از رمز سزار بر روی یک متن به امنیت بیشتر منجر نمی‌شود. زیرا دو بار رمزگذاری با انتقال‌های A و B معادل یک بار رمزگذاری با کلید A+B است. به زبان ریاضی می‌توان گفت مجموعهٔ رمز سزار با کلیدهای متنوع، تحت ترکیب یک گروه تشکیل می‌دهند.