Рубрики
Без рубрики

Caesar Cipher – компьютерная наука GCSE

Узнайте о Caesar Chipher для компьютерной науки GCSE

Автор оригинала: Robin Andrews.

Общий вопрос в области компьютерных наук GCSE включает в себя кодирование или декодирование сообщения с использованием A Caesar шифр Отказ Это простое устройство, названное в честь известного императора, который использовал его, чтобы зашифровать военные сообщения. Он включает в себя «смещение» каждый символ в исходном сообщении (открытый тексте) фиксированной суммой для создания закодированного сообщения (зашифрованного текста). Посмотрите на изображение ниже: Он представляет собой смену 3 символа (который, по-видимому, используется сам версия Caesar). Таким образом, «A» становится «D» и «H» становится «к», например. Если сдвиг ставит новое значение за пределы 26-го положения, он «зацикливается» к началу, так что, например, «Z» становится «C» при смещении на 3 места. Приведенная ниже таблица может быть очень полезна при определении новой позиции для определенного письма. Чтобы использовать его, вы добавляете ключ (или «Shift Summer») к значению каждой буквы и считываете новую букву для нового значения. Если новое значение превышает 25, вы вычитаете 26 заранее. Использование этого метода, открытое текстовое сообщение «Hello» с смещением 3 становится «Хур». Простой эх? Беда в том, что потому, что это так просто, очень легко расшифровать сообщения, закодированные с этим методом. Как бы вы пошли на расшифровку зашифрованного сообщения с неизвестным ключом? Есть более безопасные шифры, такие как Видженский шифр который основан на цезарском шифе. Другие шифры, которые вам могут понадобиться узнать о вашей компьютерной научном экзамене GCSE Порошок шифра и Железнодорожный забор шифр Отказ Ниже приведена очень базовая реализация цезаря шифра в Python. Введите его в свой режим ожидания (не копируйте и вставьте!) И запустите его, чтобы увидеть его работу. Попробуйте позвонить в шифрованную функцию с разными значениями. Как только вы сделали это, подумайте о том, что вы могли бы сделать, чтобы продлить программу. Например, вы можете написать функцию «расшифров»? Как насчет обработки строчных букв?

# Ceasar Cipher program

# Function to encode individual characters based on key
def cipher(char, key):
    char = (ord(char) + key - 65) % 26 + 65
    return chr(char)

# Function to encode whole plaintext    
def encipher(plaintext, key):
    ciphertext = ""
    for char in plaintext.upper():
        ciphertext += cipher(char, key)
    return ciphertext
    
# Test the program with specific values
print (encipher("Hello", 3))

Иметь удовольствие от изучения увлекательного мира шифров.