begin process at 2008 08 22 06:11:11
1 229 779 membres
50 nouveaux aujourd'hui
14 267 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CRYPTER AVEC AES 256 BITS ( ADVANCED ENCRYPTION STANDARD )


Information sur la source

Catégorie :Sécurité Niveau : Débutant Date de création : 09/08/2004 Date de mise à jour : 10/08/2004 17:17:26 Vu / téléchargé: 14 565 / 1 847

Note :
9,13 / 10 - par 8 personnes
9,13 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (22)
Ajouter un commentaire et/ou une note

Description

Voici le fameux AES 256 bits ( algorithme Rijndael ). Réputé inviolable, il est utilisé par des banques, des instituts gouvernementaux, des clubs de tricots...

Sauf erreur de ma part, je ne l'ai pas trouvé sur le site. Je voulais la source en vb alors je suis allé le dénicher dans les méandres du site officiel, chez nist.gov

Pour les forts en math c'est ici :
http://csrc.nist.gov/CryptoToolkit/aes/rijndael/Rijndael-ammended.pdf

J'ai trouvé sur le web un indice (en francais normal :-) de son niveau de sécurité :

"À titre indicatif, pour casser un AES aujourd'hui, et en admettant que l'on sache réaliser une machine capable de casser un DES* en une seconde,  il faudrait 2 puissance 128 secondes pour venir à bout d'un AES ce qui nous donne environ 150 milliards d'années. Lorsque l'on sait que notre univers à un âge évalué à 20 milliards d'années, on voit le niveau de sécurité qui peut être atteint."
*DES : un algorithme d'un haut niveau de sécurité

L'algo est dans une classe, j'y ai rajouté deux fonctions pour simplifier le cryptage et décryptage.

J'ai rajouté une form pour simplifier l'essai de cet algo.

J'ai aussi mis dans le zip les fichiers d'origine, et il y a de l'asp.

Conclusion

'Pour crypter :
    Dim AES As New CRijndael
    RésultatCrypté = AES.JustCrypter(StringàCrypter, MotDePasse)
'décrypter :
    Dim AES As New CRijndael
    RésultatDécrypté = AES.JustDécrypter(RésultatCrypté, MotDePasse)
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

10 août 2004 17:17:26 :
g ajouté les fichiers asp d'origine
  • signaler à un administrateur
    Commentaire de MoiOlivier le 09/08/2004 18:26:38

    Salut,

    Moi, je dis : merci !
    Je ne connaisais pas l'algo et il est bôôô...

    Pour info :
    C'est effectivement un clé de 256 bits (array de 32 bytes, donc 32*8=256). Gaffe aux diverses législations...

    C'est pas forcément du texte, tant que c'est un tableau de bytes (donc tout et n'importe quoi).

    Bonne prog, @+

  • signaler à un administrateur
    Commentaire de Scalpweb le 09/08/2004 21:48:12

    Ouahou ! bravo pour la source !

  • signaler à un administrateur
    Commentaire de nephix2003 le 10/08/2004 23:25:02

    Sympa ^^ merci Philippe pour ce code.

  • signaler à un administrateur
    Commentaire de TheTiger le 25/08/2004 23:57:48

    J'ai pas encore vue le zip mais c'est trés prometteur merci beaucoup :)

  • signaler à un administrateur
    Commentaire de nono1135 le 27/08/2004 07:26:24

    Salut à tous
    cette source est vraiment géniale!!!

    par contre je souhaiterais créer un programme de cryptage de fichiers. Le problème est que les fichiers cryptés sont beaucoup plus volumineux apres cryptage.
    Est ce que quelqu'un aurait une idée pour garder une taille de fichier casi identique ?

    Merci @+

  • signaler à un administrateur
    Commentaire de TheTiger le 27/08/2004 13:57:55

    Ca dépand ce que tu appels plus volumineux car normalement l'AES crypte pas bloque et donc il arrondi les octets mais d'un chouilla si tu veux vraiment conserver la taille du fichier à l'otet prés ben c'est possible mais faut prendre un autre algo c'est pas pour faire de la pub mais le mien crypte octet par octet et la technique le rend "incassable" en fait c'est pas encore trop sure j'attend justement que quelqu'un me prouve que c'est cassable ou non ( tout cryptage reste cassable car sinon on pourait pas décrypter ;) mais pour celui qui n'a pas la clée c'est plus long lol )

    http://www.vbfrance.com/code.aspx?ID=25664

  • signaler à un administrateur
    Commentaire de nono1135 le 27/08/2004 15:14:59

    San problèmes je vais essayer ton algo.

    Pour ma question je vais prendre un exemple :
    il me semble que AES crypte avec des clés à 16 Caractères ?

    texte clair = a
    Key = a
    texte crypté = 9AFCD986A9871505AF826330642F4439F1D1C89375C6303FE2AA8E026CE1FB32

    texte clair = a
    key = aaaaaaaaaaaaaaaa
    texte crypté = BCA7207187351B26F9250D660B207C1574DF21507735A9A51D94A35D187DCF0D

    si je code mon fichier avec ce résultat il sera
    au moins quatre fois plus gros !!??

    Le résultat crypté est bien en héxa ?

    Si tu pouvais m'eclairer, je me coucherais moins bête
    ce soir :-)

  • signaler à un administrateur
    Commentaire de TheTiger le 27/08/2004 17:32:27

    Ca ressemble à de l'Hexa mais pour mon algo j'ai un gars qui s'y connait qui a jeté un coup d'oeil apparament c'est pas tout géniale :) et mon algo n'est pas addapté pour crypter un fichier cela étant il est facilement adaptable quand on a compris le principe A+

  • signaler à un administrateur
    Commentaire de Philippe734 le 27/08/2004 20:37:31

    nono< le résultat affiché pour ton exemple est bien de l'hexa. mais c une manière d'afficher le résultat.
    si tu analyses le code de l'aes, tu verras qu'on peut avoir le résultat sous une autre forme, c-a-d ne pas avoir un résultat en hexa (c la conversion bytes en hexa qu'on obtient). juste qu'on aurai des bytes. !?
    je n'y comprend rien, ni connais quoique ce soit, mais je pense qu'a moyen de crypter un fichier avec ce code, sans obtenir un résultat en hexa, mais en bytes.
    l'aes fait ca :
    texte en string -> conversion en byte -> crypte -> résultat en byte -> conversion en hexa -> et affiche le résultat en hexa
    donc tu stop la conversion en hexa et t'aura des bytes, je sais po comment faire, ni à quoi ca ressemblerai lol
    mais je dois pas etre de loin de la vérité... car on nous cache des choses ici...

  • signaler à un administrateur
    Commentaire de nono1135 le 29/08/2004 19:35:55

    OK merci les gars
    je vais chercher, et peut etre que je vais trouver !!!
    @+

  • signaler à un administrateur
    Commentaire de oussx le 02/09/2004 15:07:12

    Salut,je veux apprendre comment crypter avec cryptoapi
    un prog simple,merci

  • signaler à un administrateur
    Commentaire de FLO1978 le 21/09/2004 11:43:26

    Bonjour,

    Ton code est vraimment interressant,
    Domage qu'il ne soit pas compatible avec vb.net.

  • signaler à un administrateur
    Commentaire de Philippe734 le 21/09/2004 19:13:03

    si vous etes interessé par cet algo, mais dans un autre langage, alors je vous conseil d'aller voir du coté du site officiel. du moins... fouiller les méandres de nist.gov jusqu'a trouver le zip magique. :-)

  • signaler à un administrateur
    Commentaire de TheEwook le 21/09/2004 22:54:36

    Est-ce qu'on peux trouver la même chose mais compatbile vb.net ?

    Merci pour l'info

  • signaler à un administrateur
    Commentaire de TheTiger le 09/11/2004 20:00:52

    J'ai regardé l'algo d'AES là mais j'ai remarqué que quand on met le texte dans un buffer en byte il y a un octet sur 2 qui est à 0 exemple j'ai mis le Texte "Test" , en gros voici le tableau

    0:asc("T")
    1:0
    2:asc("e")
    3:0
    4:asc("s")
    5:0
    6:asc("t")
    7:0

    Donc si on crypte ça ben on a plus que à récupérer un octet sur 2 du texte crypté et on a un octet sur 2 de la clée car Clée Xor 0 = Clée :D

  • signaler à un administrateur
    Commentaire de TheTiger le 10/11/2004 21:35:46

    Je reviens sur ce que j'ai dit car comme la clée on crypte le texte avec le même procédé resulta ça change rien à la sécurité :D

  • signaler à un administrateur
    Commentaire de wallon14 le 06/06/2005 00:07:05

    Pour chipoter :

    Private Sub cmdOK_Click()
    If txtAcrypter <> "" And txtMotDePasse <> "" Then
        Dim AES As New CRijndael
        txtCrypté = AES.JustCrypter(txtAcrypter, txtMotDePasse)
    End If
    End Sub


    Sinon, intégrer ce cryptage de 256 bits dans une application (clé de validation par exemple), sans faire de contrôle "If A = B Then ProgrammeDébloqué", ca serait très intéréssant !

    Merci pour cette source !

  • signaler à un administrateur
    Commentaire de us_30 le 09/09/2006 14:47:33

    Bonjour,

    Je cite :

    "À titre indicatif, pour casser un AES aujourd'hui, et en admettant que l'on sache réaliser une machine capable de casser un DES* en une seconde, il faudrait 2 puissance 128 secondes pour venir à bout d'un AES ce qui nous donne environ 150 milliards d'années."

    Je calcule :

    2^128 = 3.4 * 10^38 secondes.
    soit : 3.4*10^38 / (60*60*24*365) = 1.08*10^31 années.
    Soit : 1.08*10^31 / 10^9 = 1.08 * 10^22 années.

    Soit environ 11 mille millards de millards de millards d'années !

    Y'a comme un os...?  -:);

    Amicalement,
    Us.

  • signaler à un administrateur
    Commentaire de us_30 le 09/09/2006 15:05:07

    ... et notre univers à un âge évalué en général à 15 milliards d'années (et non 20)... mais, bon, on est plus à ça près...

    Us.

  • signaler à un administrateur
    Commentaire de Philippe734 le 28/09/2006 22:39:19

    l'AES est un standard, donc libre d'utilisation, sans restriction d'usage ni brevet. c'est un algorithme de type symétrique (comme le DES). c'est un algorithme de chiffrement par blocs (comme le DES). il supporte différentes combinaisons [longueur de clé]-[longueur de bloc] : 128-128, 192-128 et 256-128 bits (en fait, Rijndael supporte également des tailles de blocs variables, mais cela n'est pas retenu dans le standard). l'AES est plus sûr que le 3DES car il présente, entre autres, une plus grande résistance aux attaques par dictionnaires de clés. Les autres attaques ne sont pas appliquables dans son cas.

  • signaler à un administrateur
    Commentaire de gawel84 le 09/02/2007 11:34:30

    Super, et en plus tout prêt à l'emploi, intégration très simple dans un projet VB.

    Merci ! :-)

  • signaler à un administrateur
    Commentaire de sdcoder le 23/04/2007 18:04:20

    Je voudrais pas vous ennuyer avec vos théories sur le temps de cassage, mais "tout le monde" sait que les S-tables du DES sont biaisées et qu'il faut pas plus d'un jour à une connection machine  pour tout découvrir. Voir cryptanalyse diffférentielle et Machines parallèles. Bon courage !

Ajouter un commentaire

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Boutique

Boutique de goodies CodeS-SourceS