Chiffre de transposition
Le chiffrement de transposition est un algorithme cryptographique dans lequel l'ordre des alphabets dans le texte en clair est réorganisé pour former un texte chiffré. Dans ce processus, les alphabets de texte brut réels ne sont pas inclus.
Exemple
Un exemple simple de chiffrement de transposition est columnar transposition cipheroù chaque caractère du texte brut est écrit horizontalement avec une largeur d'alphabet spécifiée. Le chiffrement est écrit verticalement, ce qui crée un texte chiffré entièrement différent.
Considérez le texte brut hello world, et appliquons la technique de transposition en colonne simple comme indiqué ci-dessous
Les caractères de texte brut sont placés horizontalement et le texte chiffré est créé au format vertical comme : holewdlo lr. Maintenant, le récepteur doit utiliser la même table pour déchiffrer le texte chiffré en texte brut.
Code
Le code de programme suivant illustre l'implémentation de base de la technique de transposition en colonnes -
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'))
Explication
Utilisation de la fonction split_len(), nous pouvons diviser les caractères de texte brut, qui peuvent être placés au format colonne ou ligne.
encode La méthode permet de créer un texte chiffré avec une clé spécifiant le nombre de colonnes et imprime le texte chiffré en lisant des caractères dans chaque colonne.
Production
Le code de programme pour l'implémentation de base de la technique de transposition en colonnes donne le résultat suivant -
Note- Les cryptanalystes ont observé une amélioration significative de la sécurité cryptographique lorsque la technique de transposition est effectuée. Ils ont également noté que le rechiffrement du texte chiffré à l'aide du même chiffrement de transposition crée une meilleure sécurité.