Comment mettre en œuvre AES-512 algorithme?
Est là javascript avaialable qui implémente l'algorithme AES-512 de l'algorithme(j'.e Encyption,le Décryptage)?
J'ai trouvé la plupart des javascripts mises en œuvre AES-128,AES-192,AES-256.
Il n'y a pas de AES-512. AES vient seulement en 128, 192 et 256 bits.
Connexes de Crypto.SE: Pourquoi nous ne pouvons pas mettre en œuvre AES 512 taille de la clé?
Connexes de Crypto.SE: Pourquoi nous ne pouvons pas mettre en œuvre AES 512 taille de la clé?
OriginalL'auteur | 2009-08-26
Vous devez vous connecter pour publier un commentaire.
La Rijdael vient de chiffrement à 128, 160, 192, 224, et 256 bits des variantes. Le 128, 192 et 256 bits des variantes ont été sélectionnés pour l'Advanced Encryption Standard. 128-bits de clés symétriques sont considérés comme pour être à peu près aussi forte que RSA de 1024 bits clés, et 256 bits de clés symétriques sont considérés comme pour être à peu près aussi forte que 2048 bits RSA clés. Dans la pratique, personne n'utilise de 192-bit AES, parce qu'ils sont inquiets au sujet de la performance et/ou de contrôle à l'exportation, et l'utilisation de 128 bits, ou paranoïaque, et l'utilisation de 256 bits.
Il n'y a pas un seul 512-bit de la clé symétrique de chiffrement en commun l'usage du public. Le bain à remous fonction de hachage, qui est basé sur AES, les retours de 512 bits digérer, mais ce n'est pas la même chose que de 512 bits AES.
La commune de la comparaison avec le RSA, c'est que de 128 bits de la clé symétrique correspond à environ 3000 bits RSA.
OriginalL'auteur Chris
Je comprends qu'il n'y a pas une telle chose comme un 512-bit AES.
De wikipédia:
bon à savoir, merci.
OriginalL'auteur Cheeso
Comme d'autres l'ont mentionné double-AES-256 de ne pas donner de 512 bits de sécurité (au lieu de 256+1 bits de complexité temporelle) en raison du temps/espace d'échange donnée par la "meet-in-the-middle attack".
Cependant, je ne crois pas que personne ait répondu correctement "que" AES-512 qui serait en fait SI elle existait. Notez que tous les AES variantes de fixer une taille de bloc de 128 bits, donc AES-512 si elle existait, aurait également une taille de bloc de seulement 128 bits (en supposant que la tendance s'est maintenue), et donc ne nécessiterait PAS de modification pour le MixColumns ou ShiftRows des sous-routines.
L'extension de l'AES système à utiliser de clé de 512 bits tailles est appuyé techniquement par le standard AES, SI vous le permettez
N_k>8
. Notez que le standard AES FIPS-197 a un design qui est essentiellement indépendante de la taille de la clé. La seule chose qui manque, c'est le nombre de tours pourN_k=16
(512 bit keys=16*'32 bit words'
). La norme actuelle (à la page 14) spécifieN_r={10,12,14}
tours pourN_k={4,6,8}
respectivement. Suivant le modèle montreN_r=N_k+6
. DoncN_r=22
siN_k=16
... après la définition deN_r=22
pourN_k=16
rien d'autre a besoin de changement, de pré-remplir les 512 premiers bits de la clé de l'annexe (comme spécifié dans la section 5.2) avec la clé et continuer avec l'algorithme...le seul facteur limitant pourrait être le Rcon[i] mot qui est multiplié par
x (mod x^8+x^4+x^3+x+1)
pour chaqueN_k
de mots, car il dispose d'un délai de 51 puis commence à se répéter.x^51=(1 mod x^8+x^4+x^3+x+1)
... cependant, le plus grandRcon[i]
que l'on utilise estil n'est donc pas un problème en moins Rcon obtenir utilisé comme la clé de l'augmentation de la taille...
OriginalL'auteur user3338098
Veuillez noter que, AES256 deux fois n'est pas équivalent en quelque sorte à un (futur) AES512 de chiffrement.
Comsider:
2^256 + 2^256 < 2^512
En d'autres termes, le temps nécessaire à la force brute 2 256-bit clés est significativement inférieure à la fois à la force brute d'une seule clé de 512 bits.
(Non pas que ce soit une attaque est possible sur le matériel actuel de toute façon)
OriginalL'auteur NoCake
Je pense qu'il pourrait être possible d'étendre A. E. S, mais la mouche dans la pommade pour ainsi dire, est le changement et inverser le changement des valeurs, autrement, il ne devrait y avoir aucun problème.
Donc, pour 512 vous aurait besoin de quatre lignes et 16 colonnes, mais vous devez travailler sur les facteurs de changement comme je l'ai dit plus tôt. pour 1024 vous il suffit de doubler le nombre de colonnes mais encore une fois les quarts de travail et d'inverser changements ont besoin d'être travaillé.
OriginalL'auteur user80998
Je pense que vous pouvez aller avec un de 8 lignes de 64 bits, de sorte que chaque ligne contient un 64 bits et vous pouvez effectuer l'ajout de clés sur que sans trop de difficulté.
Gauche/droite touche maj n'est pas problématique, car vous pouvez utiliser une version 64 bits de *int64_t __lrotl(int64_t,int)* et *int64_t __lrotr(int64_t,int)*. La seule voler dans l'onguent est la vide mixcolumns() et vide invmixcolumns() qui doivent changer de %4 %8 mais je ne pense pas que cela fonctionnerait, mais il semble que cela devrait fonctionner, en théorie.
OriginalL'auteur user80998
AES est juste la norme et il traite de diverses choses.
L'un d'eux est l'algorithme de chiffrement, qui est appelé Rijndael.
Il n'est tout simplement pas disponible et défini avec plus de 256 bits.
Vous pourriez théoriquement étendre cette chiffrement pour une plus longue longueur de clé de 256 bits, la longueur de la clé est déjà ridiculement forte pour une clé symétrique de chiffrement.
Ne pas être confondu par les clés RSA et assymétrique de la cryptographie. Ils sont beaucoup plus faibles, et l'équivalent de la puissance d'un summetric de chiffrement avec la même longueur de clé est beaucoup, beaucoup plus fort.
Si vous modifiez Rijndael, vous pouvez faire beaucoup d'erreurs qui compromettent la sécurité de votre.
Une clé AES 256 bits est probablement de compareable force comme un rsa 2048 bits clé
Mais ce que vous pouvez faire, si vous voulez prendre votre paranoïa à un nouveau niveau entier, juste chiffrer quelque chose et puis chiffrer à nouveau. Le cryptage à deux reprises pour effet de doubler la taille de la clé.
Et vous êtes toujours à l'abri de faire des erreurs.
bien sûr, @mistika
OriginalL'auteur The Surrican
Il n'y a pas de norme officielle pour AES-512, cependant, vous pouvez facilement simuler son effet par la simple exécution de l'algorithme AES-256 deux fois à l'aide de deux de 256 bits clés.
Le problème principal de l'exécutant deux fois c'est de l'optimisation, bien qu'il ne peut notamment affecter Javascript, car il ne sera pas à l'aide de matériel de prise en charge du cryptage de toute façon. Avec cela à l'esprit, la méthode la plus simple sera entièrement dépendant de la bibliothèque que vous choisissez, car la plupart ne sont pas conçus avec n'importe quel type de fonctionnalité de diffusion, dans l'esprit, de sorte que vous aurez probablement être en train de faire deux passes de données pour chacune des 256 bits morceau de votre "512 bits de la clé".
Comme d'autres l'ont interrogé cependant, la grande question est pourquoi vous avez besoin de la vraie 512-bits de protection. 256-bits est encore beaucoup pour le moment, cependant, si vous êtes intéressé à ce sujet alors la meilleure chose à faire est de concevoir votre système pour accepter de longueur variable clés et exécutez simplement passer un pour chacune des 256 bits morceau; de cette façon, vous pouvez augmenter la taille plus tard par l'émission d'/générer le plus de touches à chaque fois que vous sentez que vous avez besoin d'une mise à niveau.
OriginalL'auteur Haravikk
Vous pouvez le faire deux fois pour le cryptage ajouter ups.
Pour un exemple, par le cryptage AES-256 de deux heures, vous disposez de 256 bits Alimenté par 2 donc devenir 65536 bits de cryptage. 😉 Je doute que vous souhaitez le résultat de la performance sur que si. De cryptage à 128 bits deux fois serait 16 384 bits de cryptage. Vous ne devez utiliser une clé pour un chiffrement et si vous voulez chiffrer deux fois, tu dois avoir 2 clés pour deux types de chiffrement et je peux vous promettre qu'il va être très difficile pour quiconque de pause par le biais de ce type de chiffrement. 😉
En fait, il donne un niveau de force qui est beaucoup moins de 512 bits et beaucoup plus proche de 256 bits, à cause de quelque chose de connu comme "le meet-in-the-middle attack". Il ya une raison pourquoi les cryptographes ne pas encourager les gens à essayer d'inventer leurs propres algorithmes de cryptographie.
Vous pourriez de la chaîne d'eux trois fois, comme dans le Triple DES.
OriginalL'auteur NoName