![]() |
Python - Cifra de Transposição |
|
@CanalQb |
A Cifra de Transposição é um método clássico de criptografia que consiste em reorganizar as letras ou símbolos do texto original sem alterar os caracteres em si. Diferentemente das cifras de substituição, que trocam um caractere por outro, a cifra de transposição apenas muda a ordem para ocultar a mensagem.
Existem diversas técnicas de cifra de transposição, porém o princípio básico permanece: modificar a sequência dos caracteres para dificultar a leitura sem a chave correta.
Cifra de Coluna: Exemplo Comum
Um dos métodos mais populares de transposição é a cifra de coluna. Nela, o texto original é escrito em linhas, mas a mensagem cifrada é lida coluna por coluna. A chave corresponde ao número de colunas usadas para agrupar as letras.
Por exemplo, se a chave for 4, as letras são dispostas em quatro colunas e a leitura é feita verticalmente para formar a mensagem cifrada.
Para decifrar, é necessário conhecer a chave e reverter a ordem das letras para recuperar o texto original.
Implementação em Python
A seguir, um exemplo de código Python que implementa a cifra de transposição com base em uma chave numérica:
def cifrar_transposicao(chave, texto):
colunas = len(chave)
linhas = -(-len(texto) // colunas) # cálculo do teto da divisão
texto_cifrado = ""
texto += " " * (linhas * colunas - len(texto)) # preenche com espaços
for coluna in range(colunas):
for linha in range(linhas):
indice = linha * colunas + chave.index(coluna + 1)
texto_cifrado += texto[indice]
return texto_cifrado
chave = [3, 1, 4, 2]
texto = "OLA MUNDO"
texto_cifrado = cifrar_transposicao(chave, texto)
print("Texto cifrado: " + texto_cifrado)
Este código cria uma matriz virtual do texto original, reorganiza as colunas conforme a chave e concatena o resultado para formar o texto cifrado.
Considerações sobre Segurança
A cifra de transposição é uma técnica simples e pode ser eficaz para ocultar mensagens de forma básica. Entretanto, comparada aos métodos modernos de criptografia, ela é considerada insegura para proteger informações sensíveis e não deve ser usada em aplicações críticas.
Para aplicações mais seguras, recomenda-se utilizar algoritmos criptográficos robustos e atualizados, como AES, RSA ou similares.
Para aprender mais sobre Python e criptografia, visite o site oficial do Python: python.org