[C] Cryptographie | Implémentation du chiffre de Vernam
|
24-08-2014, 12h43
(Modification du message : 24-08-2014, 12h43 par b0fh.)
Message : #3
|
|
b0fh
Membre actif Messages : 210 Sujets : 17 Points: 309 Inscription : Jul 2012 |
RE: [C] Cryptographie | Implémentation du chiffre de Vernam
Hello,
Jolie introduction ! Pour compléter ce qu'écrit supersnail: le type char implémente déja naturellement l'arithmétique modulo 256. C'est tout à fait possible de travailler modulo 255, ce qui permet d'éliminer les NULs, mais il faut le faire de manière cohérente, par exemple pour l'addition de a et b, il faut: Code : (((a - 1) + (b - 1)) % 255) + 1 Il faut le faire dans un type suffisamment grand pour que ça ne wrappe pas avant le modulo (donc 16 bits au moins.) C'est aussi beaucoup, beaucoup plus lent que l'arithmétique mod 256. De cette manière on "projette" la plage effective 1-255 vers la plage 0-254, dans laquelle on utilise l'addition modulo 255. C'est faux de dire que le type signed char ne va "que" jusqu'a 127: en fait, l'arithmétique de base (addition, soustraction et multiplication) se comporte exactement de la même manière pour les types signed et unsigned, par quelque magie mathématique. La preuve: les instructions asm sont les mêmes. Ce qui change, par contre, ce sont les opérations de comparaison (jump greater/jump lesser vs jump above/jump below). Mais si on utilise le fait que le débordement produit naturellement une arithmétique modulo 256, il n'y a pas besoin de faire de comparaisons pour implémenter cet algo. Et sinon, amen pour la manipulation de données binaires avec une taille explicite. |
|
Messages dans ce sujet |
[C] Cryptographie | Implémentation du chiffre de Vernam - par EpicOut - 24-08-2014, 07h37
RE: [C] Cryptographie | Implémentation du chiffre de Vernam - par supersnail - 24-08-2014, 10h32
RE: [C] Cryptographie | Implémentation du chiffre de Vernam - par EpicOut - 24-08-2014, 17h19
RE: [C] Cryptographie | Implémentation du chiffre de Vernam - par b0fh - 24-08-2014, 12h43
RE: [C] Cryptographie | Implémentation du chiffre de Vernam - par supersnail - 25-08-2014, 10h46
|
Utilisateur(s) parcourant ce sujet : 2 visiteur(s)