CRYPTO : ALGO AES (RIJNDAEL) -- CODE SOURCE + BIBLIOTHÈQUE

cs_dominion Messages postés 230 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 15 mai 2008 - 17 janv. 2005 à 23:25
contax Messages postés 20 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 13 mars 2005 - 11 févr. 2005 à 17:31
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/28911-crypto-algo-aes-rijndael-code-source-bibliotheque

contax Messages postés 20 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 13 mars 2005
11 févr. 2005 à 17:31
Utilisateur anonyme
11 févr. 2005 à 17:24
Gnnné ??
En quoi l'implémentation d'AES qui est un algorithme ouvert est interdite en France ?

En réalité, même un logiciel tel que PGP n'est pas illégal en France. Seul une de ses utilisations est "interdite".
contax Messages postés 20 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 13 mars 2005
11 févr. 2005 à 14:04
Bonjour,

En toute logique ce code devrait disparaitre d'ici dans queques jours. N'y voyez aucune censure, mais une démarche de ma part pour me mettre en conformité avec le droit français en matière de cryptographie. Car bien que ne fournissant pas de programme de cryptage à proprement parler, je dois tout de même faire la démarche d'une demande d'autorisation.
J'espère que ce source sera de retour dans quelques mois dûment accepté par la DCSSI.

A+.
Utilisateur anonyme
4 févr. 2005 à 19:12
Effectivement, merci de la correction.
Je ne m'étais intéressé qu'à une partie de l'algo de façon très maladroite.
contax Messages postés 20 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 13 mars 2005
4 févr. 2005 à 15:05
"... Cette étape de substitution par table S est cruciale dans DES. Toutes les autres opérations sont linéaires et faciles à analyser. Les tables S sont non linéaires et, par dessus tout, elle confère au DES son niveau de sécurité. ..."

Bruce Schneier -- Cryptographie appliqué -- 2ème édition.

Fais attention à ce que tu avances ici.
DES fait des substitutions ET des permutations ( la permutation à même un nom propre : la permutation P).
Utilisateur anonyme
4 févr. 2005 à 11:06
Oui c'est exactement cela. A noté que dans AES on utilise une substitution non-linéaire ce qui corse les attaques différentielles par frequence. Ainsi, par exemple, si un A devient un B, un C ne deviendra pas forcement un D.
Dans AES pour trouver cette table qui se nomme S-Box, on utilise les corps finis de Gallois, ici, le champ fini à 256 éléments: GF(2^8). Dans ce corps, on considère une suite de 8 bits comme un polynôme et on défini une multiplication. Ainsi la S-box combine la recherche de l'octet inverse dans le corps GF(2**8) ainsi qu'une application linéaire.

Sinon, Coucou, va voir ici:
http://www.commentcamarche.net/crypto/des.php3
ils expliquent comment se fait la permutation.
Contrairement à AES, DES ne fait pas une substitution mais une permutation. C'est un choix.

P.S: le principe de diffusion répond à l'une des lois de Shannon (un physicien / matheux qui a bossé sur le signal, et donc aussi la crypto). La diffusion c'est: le resultat de l'opération de cryptage diot dépendre d'un nombre le plus grand possible de données de départ.
Ainsi, si on change ne serait-ce qu'un bit dans le texte initial ou dans la clé, on obtient un résultat _totalement_ différent. On utilise ca aussi pour le hashage. Ca évite les attaques par proximité.
contax Messages postés 20 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 13 mars 2005
4 févr. 2005 à 09:15
Enfin t'as peut être pas complètement tort.
Faut entendre par race humaine la race humaine civile. Ne comptent pas (ce n'est pas exhaustif) les diverses agences de sureté/surveillance du territoire, les militaires, les grands cartels mafieux ... Prenons par exemple la NSA (dont les amateurs de crypto ne peuvent ignorer les fonctions), qui sait de quoi elle est réellement capable ?
Ca rejoint d'ailleur la question de coucou concernant les tables S de DES. Longtemps le fait que celle-ci aient été corrigées par la NSA lorsque LUCIFER devint DES a fait couler beaucoup d'encre (voir la bible de Bruce Schneier : Cryptographie appliquée).
En fait ce n'est qu'en 90 grâce à la publication des recherches sur la cryptanalyse differentielle que l'on s'est rendu compte que ces tables avaient été améliorées par la NSA pour résister à ce genre d'attaque. Au milieu des années 70 ! 15 ans d'avance .... Mais la situation n'était pas la même. Les questions de cryptologie étaient à l'époque plus confidentielles.
En fait (je n'irai pas loin dans mes explication car je n'ai pas les connaissances suffisantes pour le faire, je peux même me tromper) la substitution par tables S est là pour assurer une fonction du chiffrement : la _confusion_. C'est comme substituer un alphabet à un autre. par exemple :
R -> S
S -> A
A -> E. RSA devient SAE ...
ensuite on introduit de la _diffusion_ en effectuant des permutations.
SAE -> (2, 3, 1) -> AES
Trouver les tables est une affaire de chercheurs (matheux).
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
3 févr. 2005 à 19:01
en des, une fonction fait un "mélange" de bits, (table de permutation)

je n'ai jamais compris comment elle se faisait, ni comment on trouvais la table (c'est une autre clef ???)

si qqn pouvait m'éclairer...
Utilisateur anonyme
3 févr. 2005 à 10:38
ok, très juste pour 3DES, mais disons que sa durée de vie est courte vue la forte croissance de la puissance des ordis.
contax Messages postés 20 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 13 mars 2005
2 févr. 2005 à 20:33
J'ai corrigé le mode CFB.
A l'heure actuelle les modes ECB, CBC et CFB128 sont surs.
Les modes CFB32, CFB64 et CFB96 ne sont pas testés. Il faudrait que je rajoute un CFB8, 16 ... mais ce n'est pas vraiment dans mon optique pour le moment (mon optique == implémentation d'un programme de chiffrement où AES sera utilisé sous l'habituel mode CFB128).
Je crois que ces sources évoluront peu maintenant, si ce n'est pour les nettoyer un jour ou l'autre des instructions/structures superflues.

En réponse à TeLeTUbiz :
il utilise des clés de 128, 192 ou 256 bits (par extension également 160 et 224 je crois) mais ce n'est pas dans le standard AES ...
Tes parenthèses sont ambigüe :
il utilise des clés de 128, 192 ou 256 bits (par extension également 160 et 224 je crois mais ce n'est pas dans le standard AES) ...

Et en fait je ne crois pas que 3DES soit obsolète. La brute force peut casser DES, la faiblesse connue de 3DES réduit sa clé de 168 bits (3 * 56) à 112 bits utiles. Mais une brute force sur 112 bits est encore actuellement hors de porté de la race humaine.
contax Messages postés 20 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 13 mars 2005
31 janv. 2005 à 13:08
J'ai ajouté des tests qui mettent en évidence un problème pour le mode CFB (128 bits). Apparemment les autres modes (ECB et CBC) sont fonctionnels. Aurais-je mal compris le fonctionnement CFB ? Pourtant j'ai lu le FIPS 800 en large et en travers ... ?
Un peu de feedback serait bienvenue.
Utilisateur anonyme
19 janv. 2005 à 19:04
pas grave personne t'en veux. Je me disais bien que ton dernier post allait pas resté longtemps.
contax Messages postés 20 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 13 mars 2005
19 janv. 2005 à 18:16
Avis à ceux qui auraient téléchargé le Zip avant le post du 19/01- 18h00 : ne m'insultez pas, les sources sont erronées ... Pour me faire pardonner j'ai mis à jour et ajouté un exemple d'utilisation avec un test tiré du FIPS 197. (Voir "Explication finale" ci-dessus).
Utilisateur anonyme
19 janv. 2005 à 00:19
Les courbes elliptiques sont un moyen de "dissimuler nu nombre". AES en fait, c'est plutôt pour des cartes dotées de mini-processeurs. Ca permettra de coder les informations voire de les décoder.
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
18 janv. 2005 à 22:16
pour les cartes bleus, c'est plutôt courbes éliptiques non ? (pour éviter qu'un malin ne puisse en lisant la carte lire la clef...)
c'est ce que j'ai vu en cherchant de la doc sur ces courbes...
Utilisateur anonyme
18 janv. 2005 à 17:01
En fait DES est devenu obsolete lorsque plusieurs scientifiques ont proposés des machines dédiées au calcul du cassage de DES. Le NIST à alors fait un appel d'offre pour un nouvel algo, puis ca a trainé un peu. Un jour, une nouvelle machine est arrivée et elle coutait peu d'argent (250 000 $ je crois) et elle était capable de casser un triple DES en qques jours. Le secret industriel a donc été mis à rude épreuve, et la situation est devenue très "urgente".
AES est un standard de cryptographie basé sur un algorithme du nom de Rijndael (pour Rijmen et Daemon de ses inventeurs Belges). Cet algorithme répond au cahier des charges proposé par le NIST lors de son appel d'offre:
il est ouvert au public;
il utilise des clés de 128, 192 ou 256 bits (par extension également 160 et 224 je crois) mais ce n'est pas dans le standard AES;
il est rapide;
il est sûr;
il est simple à comprendre;
il est totalement portable (tout type de média, y compris les cartes bleues à micro processeur incorporé);
etc...
contax Messages postés 20 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 13 mars 2005
18 janv. 2005 à 07:07
C'est ça. DES se faisait un petit peu vieux. faut dire qu'il est né en 1977 et s'appelait alors LUCIFER. Son grand problème était (et est toujours) la taille de ses clés : 56 bits utiles pour l'algo. Comme cette taille n'est plus du tout sur depuis un moment on utilise DES de différentes façons pour allonger la taille des clés, c'est TDES. Ces techniques utilisent l'algo DES plusieur fois (TDES = triple DES), elles sont donc plus lentes qu'un algorithme qui saurait utiliser directement des clé de 128, 192 ou 256 bits. C'est pourquoi AES est aujourd'hui le standard. (je passe tout les détails administratifs). AES sait utiliser de telles clés.
cs_dominion Messages postés 230 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 15 mai 2008
17 janv. 2005 à 23:25
Un petit cours d'histoire sur AES svp ?
C'est le successeur de DES non ?
Rejoignez-nous