Учебники

Шифр транспонирования

Транспозиционный шифр — это криптографический алгоритм, в котором порядок алфавитов в открытом тексте перестраивается для формирования зашифрованного текста. В этот процесс фактические алфавиты простого текста не включаются.

пример

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

Рассмотрим простой текст 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 (), мы можем разделить символы простого текста, которые могут быть размещены в столбчатом или строчном формате.

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

Выход

Программный код для базовой реализации метода столбчатой ​​транспозиции дает следующий результат:

Техника транспонирования столбцов

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