Транспозиционный шифр — это криптографический алгоритм, в котором порядок алфавитов в открытом тексте перестраивается для формирования зашифрованного текста. В этот процесс фактические алфавиты простого текста не включаются.
пример
Простым примером шифра транспонирования является столбчатый шифр транспонирования, где каждый символ в простом тексте написан горизонтально с заданной шириной алфавита. Шифр написан вертикально, что создает совершенно другой текст шифра.
Рассмотрим простой текст hello world , и давайте применим технику простого столбчатого преобразования, как показано ниже
Символы простого текста располагаются горизонтально, а зашифрованный текст создается в вертикальном формате : holewdlo lr. Теперь получатель должен использовать ту же таблицу, чтобы расшифровать зашифрованный текст в обычный текст.
Код
Следующий программный код демонстрирует базовую реализацию метода столбчатой транспозиции —
def split_len(seq, length): return [seq[i:i + length] for i in range(0, len(seq), length)] def encode(key, plaintext): order = { int(val): num for num, val in enumerate(key) } ciphertext = '' for index in sorted(order.keys()): for part in split_len(plaintext, len(key)): try:ciphertext += part[order[index]] except IndexError: continue return ciphertext print(encode('3214', 'HELLO'))
объяснение
-
Используя функцию split_len (), мы можем разделить символы простого текста, которые могут быть размещены в столбчатом или строчном формате.
-
Метод кодирования помогает создать зашифрованный текст с ключом, указывающим количество столбцов, и печатает зашифрованный текст, читая символы через каждый столбец.
Используя функцию split_len (), мы можем разделить символы простого текста, которые могут быть размещены в столбчатом или строчном формате.
Метод кодирования помогает создать зашифрованный текст с ключом, указывающим количество столбцов, и печатает зашифрованный текст, читая символы через каждый столбец.
Выход
Программный код для базовой реализации метода столбчатой транспозиции дает следующий результат:
Примечание. Криптоаналитики наблюдали значительное улучшение криптобезопасности при выполнении техники транспонирования. Они также отметили, что повторное шифрование текста шифра с использованием того же шифра транспонирования создает лучшую безопасность.