[JAVA] - Pros du BigInteger required

- Pros du BigInteger required [JAVA] - Programmation

Marsh Posté le 08-01-2002 à 23:47:47    

Ben voilà, je dois implémenter un DSA pour mon cours de crypto. J'ai choppé la doc du NIST et tout et tout, mais c'est vraiment balèse. De plus comme les entiers manipulés dépassent allègrement les 160 bits... Enfin bref c'est la merde et je maîtrise vraiment pas.
 
J'ai vu la classe BigInteger dans l'API Java, mais par exemple comment créer un BigInteger dont la valeur à représenter serait 2^g, où g est un BigInteger...
 
Si qqn a une URL, un source (de DSA, SHA-1 ou autres), ça m'intéresse aussi. Là, c'est vraiment trop chaud pour moi.

Reply

Marsh Posté le 08-01-2002 à 23:47:47   

Reply

Marsh Posté le 09-01-2002 à 00:17:05    

pour ton 2^g, je ne sais pas si tu as vu, mais il y a une méthode pour faire 2^g mod h. C'est souvent le genre de calcul qui est fait un crypto (une exponantiation modulée)
Si ca te suffit, la méthode c'est ca :  
public BigInteger modPow(BigInteger exponent, BigInteger m)
 
Sinon, je vois pas d'autre solution que de coder cette méthode à la main. Ca se fait sans trop de difficulté, par contre c'est ton ordi qui va morfler : 2 à la puissance un chiffre de 160 bits ca fait vraiment beaucoup !!!!!!!
 
d'ailleur quand je réfléchis 2 secondes je me dis que c'est pas calculable : La place prise pour stocker le résultat serait de 2^160 bits => environ 200 000 000 000 000 000 000 000 000 000 000 000 000 Giga octets. Va falloir que t'investissent dans de la RAM :D

Reply

Marsh Posté le 09-01-2002 à 00:27:38    

Je doutais que qqn de versé dans la crypto rôde sur le forum...
 
Effectivement la méthôde parait tout à fait appropriée.
 
Ta remarque sur le 2^160 me laisse perplexe. En effet, d'une part tu as parfaitement raison (et j'avais pas vu ça donc merci aussi pour ça), mais d'autre part c'est dans un livre on-line Handbook of Applied Cryptography que j'ai lu ça. A tous les coups, c'est également dans le FIPS 186 ça.
 
Bien, bien. Merci beaucoup en tout cas de manifester de l'intérêt pour mes p'tits problèmes.
 
Si qqn a des URLs ou autres, je suis toujours preneur. J'aimerai voir comment ça se code un cryptosystème...

Reply

Marsh Posté le 09-01-2002 à 00:47:57    

Bah, ca se compresse bien le nombre 2^160. Regarde, je vous le fait en directe :
 
2^160
 
Et voila :D

Reply

Marsh Posté le 09-01-2002 à 00:59:52    

:lol: y me dit qu'il veut le calculer, je lui calcule :)
 
mais bon, surement que tu n'as pas besoin de faire le calcul de ce chiffre pour arriver à tes fins, ou du moins, que tu peux le simplifier avec le reste de la formule.
 Vérifie que le modulo ne suffit pas : ca fait un calcul bien plus performant !

Reply

Marsh Posté le 09-01-2002 à 08:50:35    

Tu peux utiliser une api existante ou pas? Parce que il doit y avoir des trucs au niveau Java security qui devrait pouvoir t'aider.
 
A+

 

[edtdd]--Message édité par darklord22--[/edtdd]


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed