Le Code Gray est un code binaire réfléchi, c'est-à-dire que l'on passe d'un nombre x à un nombre y en ne changeant qu'un seul bit.
Ainsi, pour passer de 1 = 00000001 à 2= 00000011, seul le deuxième bit en partant de la droite a changé de 0 à 1.
Voici le tableau de correspondance pour les 20 premiers nombres :
C'est donc un code binaire "modifié".
Les tableaux Gray Code ↔ caractères n'existant pas, l'algo intègre une étape intermédiaire dans le processus de chiffrement et de déchiffrement.
Soit le schéma :
- encrypting : text → binaire → gray code
- decrypting : gray code → binaire → text
Le code Gray est en général basé sur 5 bits, mais parfois il peut être de 3 ou 4 bits.
Quelques exemples :
Encrypting :
input → Hello Moto !
conversion binaire classique (5bits) →
output →
input → Bienvenue en 2012
conversion binaire classique (5bits) →
output →
Decrypting :
input → 1100 1101 110 110 111 10011011 111 11010 11010 1 100 111 1100 111 11011 111
conversion en binaire classique (5bits)→
output →
madhat
Ainsi, pour passer de 1 = 00000001 à 2= 00000011, seul le deuxième bit en partant de la droite a changé de 0 à 1.
Voici le tableau de correspondance pour les 20 premiers nombres :
Code:
Dec. Binaire Code Gray 00 00000000 00000000 01 00000001 00000001 02 00000010 00000011 03 00000011 00000010 04 00000100 00000110 05 00000101 00000111 06 00000110 00000101 07 00000111 00000100 08 00001000 00001100 09 00001001 00001101 10 00001010 00001111 11 00001011 00001110 12 00001100 00001010 13 00001101 00001011 14 00001110 00001001 15 00001111 00001000 16 00010000 00011000 17 00010001 00011001 18 00010010 00011011 19 00010011 00011010 20 00010100 00011110
C'est donc un code binaire "modifié".
Les tableaux Gray Code ↔ caractères n'existant pas, l'algo intègre une étape intermédiaire dans le processus de chiffrement et de déchiffrement.
Soit le schéma :
- encrypting : text → binaire → gray code
- decrypting : gray code → binaire → text
Le code Gray est en général basé sur 5 bits, mais parfois il peut être de 3 ou 4 bits.
Quelques exemples :
Encrypting :
input → Hello Moto !
conversion binaire classique (5bits) →
Code:
01000 00101 01100 01100 01111 01101 01111 10100 01111
Code:
1100 111 1010 10101000 1011 1000 11110 1000
input → Bienvenue en 2012
conversion binaire classique (5bits) →
Code:
00010 01001 00101 01110 10110 00101 01110 10101 00101 0010101110 11111011100
Code:
11 1101 111 1001 11101111 1001 11111 111 111 1001 10000110010
Decrypting :
input → 1100 1101 110 110 111 10011011 111 11010 11010 1 100 111 1100 111 11011 111
conversion en binaire classique (5bits)→
Code:
01000 01001 00100 00100 00101 01110 01101 00101 1001110011 00001 00111 00101 01000 00101 10010 00101
Code:
Hidden message here
madhat
Commentaire