Histoire
des codes secrets
Un magnifique livre par l'auteur du
"Dernier
théorème de Fermat" Simon
SINGH aux édition JC LATTES. S.SINGH décrit
la lutte incessante entre les concepteurs et les
briseurs de code. On y découvre que le sort
réservé à Marie STUART, L'entrée
en guerre des USA pendant la première guerre
mondiale sont des effets de l'oeuvre des décrypteurs.Toute
l'évolution des types de chiffre est commentée.
Un chapitre est consacré au déchiffrement
des langues anciennes égyptien et linéaire
B.S.SINGH propose un concours: 10 000£ ( environ
100 000 FF) au premier lecteur qui déchiffrera
une série de dix messages. Les huit premiers
messages ont été déjà
été découverts ( limite 1er
octobre 2000).
The Cipher Challenge donne les informations sur
le concours. En revanche, vous n'aurez pas les solutions.
NOE vous offre la solution de la première
enigme:
"La
lettre" d'Edgar POE nous apprend qu'un secret
est d'autant mieux caché qu'il se trouve
dans un endroit où on ne le cherche point.
La mode est au PGP. Que peut-il exciter la curiosité
plus qu'un texte codé en PGP, ou quelque
code. Je propose la création d'un code qui
n'apparaisse pas tel. Ce code pourra être
filtré par le système ECHELON sans
effet tant il paraîtra anodin quelque soit
son véritable contenu. Le principe en est
fort simple: les mots du texte d'origine sont transformés
non pas en un code qui va attirer l'attention mais
en un mot d'un dictionnaire neutre. Ce dictionnaire
est soit un vrai dictionnaire commun, soit un livre
de référence, soit plus simplement
une liste de mots neutres. A tout mot du texte à
coder, on fait correspondre un mot du dictionnaire
commun.
Il nous reste à préciser les modalités
de cette transformation.
Le système repose sur deux dictionnaires:
un dictionnaire privé DPRI sert de référence,
il contient tous les mots du texte à coder.
Et, un dictionnaire public DPUB dans lequel sera
exprimé le texte codé. DPUB ne contient
évidemment que des mots neutres. DPRI et
DPUB ont le même nombre de mots (au prix d'ajout
et de retrait qu'il faut connaître).
Soit un texte à coder: il s'agit d'une liste
de N mots M(i), i=1,N et M(i) de DPRI
M(i)=DPRI(j) Le ième mot du texte est le
jème mot du dictionnaire DPRI
Soit t2 une bijection de [1,N] dans [1,N]
M(i)
t1: i --> j
t2: j --> k
t3: k --> m(k)
M(i) --> m(k)
Le ième mot du texte d'origine devient le
kème mot du dictionnaire public
Comme c'est trop simple, parceque systématique,
nous allons inclure une variation.
t'2: j --> k+r(i) , où r(i) est la ième
décimale d'un nombre irrationnel. Ainsi un
même mot sera codé de plusieurs façons.
Pour des textes longs, on pourrait regrouper les
décimales par 2, 3. Le nombre irrationnel
peut être connu à l'avance, ou être
envoyé avec le message. par exmple "3"
à une place convenue dans le message pour
signifier racine carrée de 3.
On pourra utiliser le code N° 2 pour faire connaître
ce nombre, et celui utilisé pour les leurres
Ainsi tout texte confidentiel devient une suite
de mots anodins qui devraient moins attiser la curiosité
qu'un texte codé en PGP
code
N°1 (stéganographie)
c'
est
facile
de
lire
ce
texte
.
la
solu
tion
e
s
t
c
ac
h
é
e
d
e
d
a
n
s
.
code
N°2
codage des chiffres en base 29 avec l'alphabet latin
comme liste de symboles à laquelle on joint
","
et ";"
et"."
Soit abcdefghijklmnopqrstuvwxyz,;.
Ainsi 2000 devient bj;
le leurre dynamique
:
un leurre est introduit dans le texte avec une certaine
fréquence. L'idée est de prendre successivement
les nièmes décimales de la racine
carrée irrationnelle d'un nombre. Ce nombre
étant à une place déterminé
dans le message envoyé.
système Braille
VOUS
ALLEZ ETRE TRES FORT AU JEU DU PENDU
Ordre
d'apparition des lettres
en
français
en
anglais
une
lettre
E/ASITN/
RULO/D/
CMP/VQGFBH/
JX/YZ
E/TA/ONISRH
LDCU/PFMW/
YBGV/KQXJZ
ordre
des digrammes
ES/RE/ON/DE/
EN/NT/LE/ER/
TE/SE/AN/TI/RA
TH/HE/AN/IN
ER/RE/ES/ON/
EA/TI/AT/ST/EN/
ND/OR
ordre
des trigrammes
ENT/ION/TIO/
ONS/RES/QUE/
DES/EDE
THE/AND/THA/
ENT/ION/TIO/
FOR/NDE
Fréquence
d'apparition des lettres
(source: livre de Simon
SINGH
Fréquence
d'apparition des lettres
( source: revue de hacker)