Транспозиционный шифр — это криптографический алгоритм, в котором порядок алфавитов в открытом тексте перестраивается для формирования зашифрованного текста. В этот процесс фактические алфавиты простого текста не включаются.
пример
Простым примером шифра транспонирования является столбчатый шифр транспонирования, где каждый символ в простом тексте написан горизонтально с заданной шириной алфавита. Шифр написан вертикально, что создает совершенно другой текст шифра.
Рассмотрим простой текст 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 (), мы можем разделить символы простого текста, которые могут быть размещены в столбчатом или строчном формате.
Метод кодирования помогает создать зашифрованный текст с ключом, указывающим количество столбцов, и печатает зашифрованный текст, читая символы через каждый столбец.
Выход
Программный код для базовой реализации метода столбчатой транспозиции дает следующий результат:

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