Hrot, compression codée de fichier par clef 128bits

Soyez le premier à donner votre avis sur cette source.

Vue 7 595 fois - Téléchargée 1 150 fois

Description

HRot est une idée que j'ai depuis longtemps et avec le nombre de sources
proposant des methodes de "cryptage" de fichier je me suis dis, allez poste la
de toute façon ... :)

comment fonctionne HRot ?

HRot n'est pas réellement un algorythme de "cryptage" mais plutot une methode
d'encodage faisant appel a certains principe existant ou propre a lui meme.

HRot fonctionne selon le schéma suivant :

Donnée --> Compression --> Generation d'un clef MD5 selon le mots de passe --> Encodage avec la clef MD5

l'encodage est assé complexe et est fait pour etre assé resistant au brute force.
Deja il est presque impossible de tester toute les clefs 128 bits existante (3,4e+38 solutions possible)
et l'encodage ne suis pas une suite logique lineaire.

En premier lieu, nous compressons la donnée brute avec ZLib puis nous generons une clef MD5 a partir du mots de passe.

Une fois que l'on a generer la clef (celle ci est sotckée dans un tableau de 16 octet (indice 0..15)).

Puis on selectionne un indice de depart selon la valeur resultante de ce calcul :

I = (Key[0] xor Key[8]) mod 16;

ensuite a chaque iteration du buffer a encoder il se passe la chose suivante :

Si la valeur de la clef d'indice I a une valeur paire :
l'octet est egal a l'inversion de lui même soustrait de la valeur de la clef d'indice I decalée de I modulo 5 bits vers la gauche suivis d'un ou exclusif avec la valeur de la clef d'indice I.

O = not ( (O - (Key[I] shl (I mod 5))) xor Key[I] )

Si la valeur de la clef d'indice I a une valeur impaire :

l'octet est egal a l'inversion de lui même additionné a la valeur de la clef d'indice I decalée de I modulo 5 bits vers la droite suivis d'un ou exclusif avec la valeur de la clef d'indice I.

O = not ( (O + (Key[I] shr (I mod 5))) xor Key[I] )

L'indice suivant sera calculer de la maniere suivante :

I = (I + 7) mod 16

Ce brouillage devrait etre suffisement efficace pour proteger la donnée.

remarque importante : HRot ne supporte pas les mots de passe trop simple, vous devez obligatoirement lui fournir
un mots de passe d'au moins 3 lettres et 3 chiffres.

Conclusion :


Vous trouverez ZLib et TinyHash dans le zip, pas besoin de les installer.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
4715
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
12
mince moi qui croyais passer un p'tit week peinard
raté foxi a déposé une source..
excellent

@Bientot
Messages postés
814
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
30 juillet 2009
3
hum, ça m'a l'aire intéressant!

je mets ça dans un coin pour plus tard. :)

A+

Loda

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.