MSA CRYPTAGE NON REVERSIBLE PAR MATRICE SEMI-ALÉATOIRE
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020
-
24 juin 2010 à 07:14
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 2016
-
13 juil. 2010 à 06:29
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 13 juil. 2010 à 06:29
Non, c'est irréversible en général car le domaine (ensemble d'entrée) est plus grand que le codomaine (ensemble de sortie).
Toutefois il me semble relativement aisé de trouver une collision sur un algorithme aussi simple, une attaque algébrique est triviale ici. Essentiellement le problème est de trouver deux matrices qui produisent la même semimatrice après réduction, ce qui me semble peu ardu étant donné la complexité de la fonction de réduction.
Développer des algorithmes cryptographiques en tant qu'amateur peut être intéressant (bien sûr il ne faut pas les utiliser pour un usage sérieux mais juste pour le fun), car il faut développer des techniques de construction et d'optimisation afin de rendre l'algorithme suffisamment performant niveau cryptographique et informatique (un méga algo qui tourne à 1 ko/s ne sert à rien sauf dans des cas très particuliers, mais un algo peu sûr a beau tourner à 4 Go/s, il ne sert à rien de toute façon).
Cordialement, Bacterius !
yohan49
Messages postés380Date d'inscriptionsamedi 22 janvier 2005StatutMembreDernière intervention13 août 20117 24 juin 2010 à 17:26
Lol BiDou , tu ma devancer de deux seconde , c justement ce que j'allait dire ! implementer des algos non tester dans des appliquations n'est pas a faire ! moi je cherche juste a reflechir au systeme qui pourrait etre fait :)
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 24 juin 2010 à 17:23
C'est bien pour s'amuser le week-end, effectivement, mais personne de sérieux en entreprise prendrait le risque d'implémenter une chose pareille! non?
Mon message était donc là pour prévenir les éventuelles personnes qui fonceraient tête baissées...
cs_Warny
Messages postés473Date d'inscriptionmercredi 7 août 2002StatutMembreDernière intervention10 juin 2015 24 juin 2010 à 17:06
Milles excuses. Il faut tester avec des chaînes de 65536 caractères (256*256 = taille de la matrice)
cs_Warny
Messages postés473Date d'inscriptionmercredi 7 août 2002StatutMembreDernière intervention10 juin 2015 24 juin 2010 à 17:02
@Bidou : Je ne suis pas d'accord avec toi sur ce point. Proposer un tel algo pour le sport me paraît être bonne une chose. Il est néanmoins important de le préciser.
@yohan49 : un tel algo ne correspond pas à du cryptage, mais à du hashage. Le cryptage sert à rendre illisible pour le commun des mortel, alors que le hashage sert à transporter des données de comparaisons (et dans certain cas à générer des séries aléatoires). Comme il s'agit d'une fonction de hashage, pour bien faire, tu devrais implémenter l'interface des fonctions de hashages.
Sinon pour la ritique de l'algo en lui même. utiliser une matrice de 256*256 d'entier sur 4 octets me paraît un peu lourd.
Pour l'attaque, la taille de la matrice de départ me fait penser qu'en soumettant des chaînes de 262144 caractères similaires, il doit y avoir des collisions des parties du hash. A voir...
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 24 juin 2010 à 13:27
Je ne sais pas si c'est réversible ou pas (pas envie de perdre du temps mais à mon avis ça risque bien de l'être...) mais en tout les cas, c'est totalement inutile: les algos dans lesquels ont peut avoir confiance font très bien leur travail et sont déjà implémentés dans le framework .NET.
Pas besoin de (mal) réinventer la roue...
yohan49
Messages postés380Date d'inscriptionsamedi 22 janvier 2005StatutMembreDernière intervention13 août 20117 24 juin 2010 à 12:13
salut
Texte original : aaaaaaaaaa
Resultat : H-D9-E/CD/D/9C/E
Texte original : aaaabaaaaa
Resultat : H-D9-E*CD/D/=C/E
j'ai essayé de faire une fonction pour remonter du resultat a la chaine original , mais j'ai pas reussi
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020371 24 juin 2010 à 07:14
Je me trompe peut être mais je ne pense pas que ton algo donne réellement un cryptage non réversible...
13 juil. 2010 à 06:29
Toutefois il me semble relativement aisé de trouver une collision sur un algorithme aussi simple, une attaque algébrique est triviale ici. Essentiellement le problème est de trouver deux matrices qui produisent la même semimatrice après réduction, ce qui me semble peu ardu étant donné la complexité de la fonction de réduction.
Développer des algorithmes cryptographiques en tant qu'amateur peut être intéressant (bien sûr il ne faut pas les utiliser pour un usage sérieux mais juste pour le fun), car il faut développer des techniques de construction et d'optimisation afin de rendre l'algorithme suffisamment performant niveau cryptographique et informatique (un méga algo qui tourne à 1 ko/s ne sert à rien sauf dans des cas très particuliers, mais un algo peu sûr a beau tourner à 4 Go/s, il ne sert à rien de toute façon).
Cordialement, Bacterius !
24 juin 2010 à 17:26
24 juin 2010 à 17:23
Mon message était donc là pour prévenir les éventuelles personnes qui fonceraient tête baissées...
24 juin 2010 à 17:06
24 juin 2010 à 17:02
@yohan49 : un tel algo ne correspond pas à du cryptage, mais à du hashage. Le cryptage sert à rendre illisible pour le commun des mortel, alors que le hashage sert à transporter des données de comparaisons (et dans certain cas à générer des séries aléatoires). Comme il s'agit d'une fonction de hashage, pour bien faire, tu devrais implémenter l'interface des fonctions de hashages.
Sinon pour la ritique de l'algo en lui même. utiliser une matrice de 256*256 d'entier sur 4 octets me paraît un peu lourd.
Pour l'attaque, la taille de la matrice de départ me fait penser qu'en soumettant des chaînes de 262144 caractères similaires, il doit y avoir des collisions des parties du hash. A voir...
24 juin 2010 à 13:27
Pas besoin de (mal) réinventer la roue...
24 juin 2010 à 12:13
Texte original : aaaaaaaaaa
Resultat : H-D9-E/CD/D/9C/E
Texte original : aaaabaaaaa
Resultat : H-D9-E*CD/D/=C/E
j'ai essayé de faire une fonction pour remonter du resultat a la chaine original , mais j'ai pas reussi
24 juin 2010 à 07:14