Algo de Hashage/Signature

Algo de Hashage/Signature - C++ - Programmation

Marsh Posté le 09-07-2003 à 19:29:26    

Salut,  
 
Je chercherai un algo assez simple à mettre en oeuvre et assez efficace dont le but serait de générer la signature d'un fichier.
 
Quand je parle d'efficacité, je souhaite juste m'assurer qu'en changeant un seul caractere du fichier, la signature générée ne soit pas quasiment identique à l'originale !  
 
Quand je parle de "simplicité", c'est juste que je souhaiterais l'implémenter en VB!
 
Si vous avez simplement des idées à propos d'un principe que je pourrais implémenter, elles sont le bienvenues !

Reply

Marsh Posté le 09-07-2003 à 19:29:26   

Reply

Marsh Posté le 09-07-2003 à 19:32:15    

Yoyo@ a écrit :

Quand je parle de "simplicité", c'est juste que je souhaiterais l'implémenter en VB!

T'es dans la mauvaise cat garçon.. :p

Reply

Marsh Posté le 09-07-2003 à 19:33:33    

Reply

Marsh Posté le 09-07-2003 à 19:53:39    

Tu proposes quoi comme catégorie qui serait adaptée (cad une catégorie ou y a quand meme du monde qui passe)?

Reply

Marsh Posté le 09-07-2003 à 19:57:47    

ben la cat VB... t'en es encore sur ce truc?

Reply

Marsh Posté le 09-07-2003 à 20:58:49    

Bah oui, mais y a pas grand monde sur la catégorie VB...
 
C'est d'ailleurs pour ca que je demande plus un algo que du code, pour ne pas me retrouver réellement dans la mauvaise catégorie !

Reply

Marsh Posté le 09-07-2003 à 20:59:41    

Yoyo@ a écrit :

Tu proposes quoi comme catégorie qui serait adaptée (cad une catégorie ou y a quand meme du monde qui passe)?

cat vb ou algo :p

Reply

Marsh Posté le 09-07-2003 à 21:00:45    

ben tu veux quoi? l'algo md5 il est partout sur le web. par contre si tu cherches une blibliotheque ou que t'as de problemes au niveau du code, ben cat vb.

Reply

Marsh Posté le 10-07-2003 à 08:11:33    

Perso j'aime bien le SHA.

Reply

Marsh Posté le 10-07-2003 à 09:24:45    

Bon, hier soir, j'ai trouvé une belle page sur le MD5, des explications, ainsi que l'algo! Après étude, il s'avère que celui ci ne sera pas implémentable en VB!
 
En effet, j'ai calculé, pour un fichier de 100 ko, il lui faudra au moins 1 milliards d'opérations, et certaines risquent d'etre hyper lentes en VB (genre le décalage de bits <<< qui n'existe pas en natif, donc, que je devrais simuler en multimliant mon resulpar 2^x...
 
Je vais essayer de voir pour le SHA1 alors....
 
Yoyo*

Reply

Marsh Posté le 10-07-2003 à 09:24:45   

Reply

Marsh Posté le 10-07-2003 à 10:23:34    

Là, je viens d'imprimer le principe du SHA1, mais pareil, cet algo a massivement besoin de "Shift", donc, en VB, ca passera vraiment pas !
 
En fait, je cherche une solution intermédiaire, peut etre pas aussi poussée que des solutions professionnelles, mais relativement efficaces !

Reply

Marsh Posté le 10-07-2003 à 10:29:11    

CRC32 est pas mal du tout :O

Reply

Marsh Posté le 10-07-2003 à 10:33:08    

OK, je vais faire mes recherches ;)
 
Merci les amis ! Si je suis venu poster dans la rubrique C++, c'est parce que je sais qu'il y a beaucoup de gens ici qui utilisent ce genre d'algos !

Reply

Marsh Posté le 10-07-2003 à 10:43:04    

j'ai lu la suite du topic et le crc32 est fan des << [:ciler]

Reply

Marsh Posté le 10-07-2003 à 10:52:28    

Bah, sur un octet, en VB, c'est "facil" de faire un <<...
 
Il suffit de faire :  
x << y => x * 2^y
et
x >> y => [x/2^y] où [] est la partie entière d'un nombre
 
Mais bon, c'est sur que s'il y a des millions d'opérations de ce genre, ca risque d'etre relativement inefficace.
 
De plus, je peux faire ca failement sur des octets, car ils sont non signés, mais si je m'attaque à des Long (des Word quoi de 4 Bytes), la, ils sont signés sous VB, donc, chui dans de beaux draps lol !

Reply

Marsh Posté le 11-07-2003 à 00:27:00    

md5 powa
 
tu as fait des tests en VB?

Reply

Marsh Posté le 11-07-2003 à 08:29:57    

Yoyo@ a écrit :


Il suffit de faire :  
x << y => x * 2^y
et
x >> y => [x/2^y] où [] est la partie entière d'un nombre
 
Mais bon, c'est sur que s'il y a des millions d'opérations de ce genre, ca risque d'etre relativement inefficace.


Ouh pitain ! D'habitude c'est l'inverse qu'on fait : décalage a droite ou a gauche pour des division/multiplicactions par des exposants de 2...
Ca va prendre des plombes, surtout en VB koa.

Reply

Marsh Posté le 11-07-2003 à 08:43:01    

JagStang a écrit :

md5 powa
 
tu as fait des tests en VB?


 
Bah MD5 = basé sur des décalages, donc, en VB, ca va etre dur, et quand bien meme j'yarrivais, j'y laisserais des plumes lol

Reply

Marsh Posté le 11-07-2003 à 09:06:26    

et alors? le CRC c'est basé sur les XOR. tout ce qui traite du binaire utilsie les opérateurs binaires.

Reply

Marsh Posté le 11-07-2003 à 09:30:49    

++Taz a écrit :

et alors? le CRC c'est basé sur les XOR. tout ce qui traite du binaire utilsie les opérateurs binaires.


 
Bah chrisbk (en lui souhaitant bon anniversaire ;) ) m'a répondu :
 

Code :
  1. j'ai lu la suite du topic et le crc32 est fan des <<

Reply

Marsh Posté le 11-07-2003 à 09:32:51    

Yoyo@ a écrit :


 
Bah chrisbk (en lui souhaitant bon anniversaire ;) ) m'a répondu :
 

Code :
  1. j'ai lu la suite du topic et le crc32 est fan des <<




 
11 jours de retard [:xx_xx]
 
mais merci quand meme [:ddr555]

Reply

Marsh Posté le 11-07-2003 à 09:41:52    

chrisbk a écrit :


 
11 jours de retard [:xx_xx]
 
mais merci quand meme [:ddr555]


 
Bah disons que y a 11 jours, je ne te "connaissais" pas, meme si je savais que c'était ton anniversaire!
 
Aujourd'hui, comme tu as répondu à l'un de mes topics, je me permets alors de te le souhaiter (avec 354 jours d'avance :D)

Reply

Marsh Posté le 11-07-2003 à 10:23:13    

Si j ai bien suivi tes posts tu utilises deja des Dll C/C++ pour ton projets en VB, pkoi ne pas faire pareil si VB te pose des pb de perf ou d'infaisabilite ?. Tu cree une Dll C++ juste pour le md5 avec juste une fonction exportee (pour une source en C/C++ de MD5 y en a un qui traine ici meme).

Reply

Marsh Posté le 11-07-2003 à 10:30:13    

Oui, tu as entièrement raison, mais tous comptes faits, je vais vriament me restreindre au maximum d'utiliser des Dlls (question de sécurité), à moins que j'en ai un ultime besoin (genre récupérer le num du disque dur, chose que je ne sais pas faire en C++)
 
D'autre part, je cherche justement un algo de hashage/signature pour pouvoir signer les Dlls que je vais utiliser donc, si pour signer ma dll, j dois utiliser une autre dll, alors, c'est come un serpent qui se mord la queue, et je ne saurais comment sécuriser ma première dll (celle que j'utilise pour signer)

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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