Шифр Цезаря с примерами

Шифр Цезаря Онлайн

Шифр Цезаря сегодня кажется простым, и что любой школьник способен его разгадать, однако в свое время, с помощью него передавали секретные письма и поручения самого Юлия Цезаря.

Шифр Цезаря является одним из самых ранних известных и простых шифров.  Это тип шифра замещения, в котором каждая буква в тексте сдвигается на определенное количество позиций в алфавите. Например, при шаге  1 «A» будет заменен на «Б», а буква «Б» станет «В» и так далее.  Этот метод назван в честь Юлия Цезаря, который использовал его для общения со своими генералами.

Вот краткий пример шагов шифрования и дешифрования, связанных с шифром Цезаря. Текст, который мы зашифруем, это «защитить восточную стену замка» со сдвигом (шагом) 1.

Пример: 

  • «защитить восточную стену замка» — оригинал
  • «ибькукуы гптупшофя тужоф ибнлб» — шаг 1;
  • «квылфлфэ друфрщпха уфзпх квомв» — шаг 2;

Для большей наглядности, приведу вам пример где каждый символ в открытом тексте сдвигается на один шаг по алфавиту. Расшифровка также проста, используя смещение -1 шаг.

Еще один пример Шифра Цезаря, на этот раз шифруем алфавит на 1 шаг:

  • Алфавит    : «АБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЬЫЭЮЯ»
  • Результат  : «БВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЬЫЭЮЯА»

Текст выше смещен на 1 шаг.

Попробуйте самостоятельно Шифр Цезаря Онлайн — код работает на JS

Если используется другой шаг, алфавит шифра будет сдвинут на другую величину.

Усложняем Шифр Цезаря!

Если вы хотите использовать это для каких-то серьезных вещей, вы должны использовать более сложные изменения.  Это можно сделать поставив условие в зависимости от времени шифрования. Вам также необходимо сохранить время, за которое текст был зашифрован.

Пример :

  • Время: 16:38:07 (hh:mm:ss) —> shift = 7
  • Текст: BesT PassWord EvEr
  • Результат: 83:05:14 IlzaWhzzdvykLcly
  • 1 + 7 = 8
  • 6 + 7 = (1)3
  • :
  • 3 + 7 = (1)0
  • 8 + 7 = (1)5
  • :
  • 07 + 7 = 14
  • Добавление секунд, зашифрованных другим способом, также будет хорошей идеей.

При расшифровке вы получите сдвиг, разделив секунды на две.

Пример : «14/2 = (0) 7»

Вы также можете заменить цифры буквами, чтобы время не было таким явным и заметным:

83:05:14 -> Idafbe

a означает 0. Пропуск пробелов / двоеточий и заглавная буква в начале  сделает время похожим на слово 🙂

В итоге получим : «Idafbe IlzA whzzDvyk lcLy»

Шифр Цезаря на языке Питон / Python

Python code : 

#Введите сообщение
import sys
word = input ("")
word=word.lower()
lenw=len(word)
h=""
if word !="":
	for x in word:
		t=ord(x)-96
		mw=t%26
		if mw==0:
			mw=26
		c= chr(mw+97)
		if (mw+97)==123:
			c=chr(97)
		h=h+c  
else:
	print («Пожалуйста, введите сообщение»)
print(h)

Заключение

Подводя к итогу, с учетом того, что многие люди того времени были неграмотными, это делало Шифр Цезаря безопасным.  Потому что, когда человек не умеет читать, даже сдвиг на один шаг его сильно запутает, сделав текст для него неразборчивым.

Конечно, в наши дни это шифрование никак нельзя назвать безопасным и ему практическое применение в Криптографии.

Однако, Шифр Цезаря может отличной забавой для детей, которые учатся читать, — это сделает их обучение интересным, и может первым шагом в жизни, к сложной науке Криптографии.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *