Hill Cipher — Chiffre par algèbre linéaire
★★★★★
Principe
Le chiffre de Hill chiffre des blocs de N lettres en les multipliant par une matrice clé N×N modulo 26. Le déchiffrement nécessite l'inverse de la matrice mod 26 (la matrice doit être inversible).
Mécanisme
Clé : matrice K (ex 2x2), clair en vecteurs de 2 lettres
C = (K · P) mod 26
Déchiffrement : P = (K⁻¹ · C) mod 26
# K inversible mod 26 => det(K) premier avec 26
import numpy as np # + inverse modulaire du déterminant Cryptanalyse
Vulnérable à l'attaque à clair connu : avec assez de couples clair/chiffré on résout le système linéaire pour retrouver K. Sinon, brute force des matrices inversibles (limité pour 2×2).