Шифр Цезаря — это один из самых простых и старейших методов шифрования. Он был изобретен в Древнем Риме и назван в честь Гая Юлия Цезаря, который использовал его для обмена секретными сообщениями со своими генералами.
Что такое шифр цезаря
Шифр Цезаря заключается в замене каждого символа в тексте на другой символ, находящийся на некотором фиксированном расстоянии в алфавите. Например, если расстояние равно 3, то буква «A» будет заменена на букву «D», буква «B» будет заменена на букву «E» и т.д.
Пример шифра цезаря на Python
Шифр Цезаря можно легко реализовать на Python. Для этого нам понадобится функция, которая принимает в качестве аргументов текст для шифрования и число, обозначающее расстояние для сдвига. Например, вот простая функция для шифрования с помощью шифра Цезаря:
def caesar_cipher(text, shift):
cipher_text = ""
for char in text:
if char.isalpha():
num = ord(char)
num += shift
if char.isupper():
if num > ord('Z'):
num -= 26
elif num < ord('A'):
num += 26
elif char.islower():
if num > ord('z'):
num -= 26
elif num < ord('a'):
num += 26
cipher_text += chr(num)
else:
cipher_text += char
return cipher_text
# Пример использования
text = "Hello World!"
shift = 3
print(caesar_cipher(text, shift))
# Результат: Khoor Zruog!
Полный код шифрования Цезаря на Python
def ceasar_encrypt(plaintext, key):
ciphertext = ""
for char in plaintext:
if char.isalpha():
num = ord(char)
num += key
if char.isupper():
if num > ord('Z'):
num -= 26
elif num < ord('A'):
num += 26
elif char.islower():
if num > ord('z'):
num -= 26
elif num < ord('a'):
num += 26
ciphertext += chr(num)
else:
ciphertext += char
return ciphertext
plaintext = input("Enter the text to be encrypted: ")
key = int(input("Enter the key: "))
ciphertext = ceasar_encrypt(plaintext, key)
print("Ciphertext:", ciphertext)