Cifra de Transposição

Cifra de Transposição é um algoritmo criptográfico em que a ordem dos alfabetos no texto simples é reorganizada para formar um texto cifrado. Nesse processo, os alfabetos em texto simples não são incluídos.

Exemplo

Um exemplo simples de cifra de transposição é columnar transposition cipheronde cada caractere no texto simples é escrito horizontalmente com a largura do alfabeto especificada. A cifra é escrita verticalmente, o que cria um texto cifrado totalmente diferente.

Considere o texto simples hello world, e vamos aplicar a técnica de transposição colunar simples, conforme mostrado abaixo

Os caracteres de texto simples são colocados horizontalmente e o texto cifrado é criado com formato vertical como : holewdlo lr. Agora, o receptor precisa usar a mesma tabela para descriptografar o texto cifrado em texto simples.

Código

O código do programa a seguir demonstra a implementação básica da técnica de transposição colunar -

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'))

Explicação

  • Usando a função split_len(), podemos dividir os caracteres de texto simples, que podem ser colocados em formato de coluna ou linha.

  • encode O método ajuda a criar texto cifrado com chave especificando o número de colunas e imprime o texto cifrado lendo caracteres em cada coluna.

Resultado

O código do programa para a implementação básica da técnica de transposição colunar fornece a seguinte saída -

Note- Os criptanalistas observaram uma melhoria significativa na segurança criptográfica quando a técnica de transposição é realizada. Eles também observaram que criptografar novamente o texto cifrado usando a mesma cifra de transposição cria melhor segurança.