je m'appel Gaël, je suis passionné par l'informatique, plus particulièrement par le développement et l'algorithmique.
Le projet
Le projet est un algorithme de cryptage, qui a la particularité de ne pas être décryptable. C'est donc un cryptage a sens unique.
Améliorer la sécurité des bases de données, puisque lorsque qu'une base de donnée fuie, les mot de passes n'étant pas décriptables, ils ne sont pas exploitables. Pour preuve de l'impossibilité d'y déchiffrer :
Ton projet est peut être intéressant, sauf que tu ne le présente pas vraiment, et dire qu'il est plutot incassable que dire qu'il n'est pas décryptable, ca beaucoup d'algorithmes le disent également. Ensuite sur quel principe il se base ? Et comment on va pouvoir s'en servir (Donner le code source, ...) ?
Il existe 10 types de personnes dans le monde, ceux qui comprennent le binaire... et les autres !
Encore un beau projet troll de Aze... je me demande si tu fais exprès de faire des projets inutiles et irréalistes vu ton âge et tes compétences... Il existe des tas de fonctions php pour ça, et comment tu peux tu prouver que algo est efficace ? Sur quoi repose il?
La taille au stockage sur la base de donnée car vu que c'est composé uniquement de 0 et de 1, c'est enregistrable en binaire, donc ça prend très peu de place sur une base de donnée
La taille au stockage sur la base de donnée car vu que c'est composé uniquement de 0 et de 1, c'est enregistrable en binaire, donc ça prend très peu de place sur une base de donnée
Tu as un exemple de données non enregistrables en binaire ?
Personnellement, je n'ai aucune confiance en un algorithme peut l'on ne peut pas analyser.
Les algo MD5, SHA-1 et autres déjà existant sont publiques et cela ne les empêche pas d'être parfaitement inviolable (à condition de les coupler à une salt-string pour se protéger des attaques par bases de données associatives).
De plus, si ton algo n'est pas publique, cela nous oblige à envoyer le mot de passe non crypté à ton serveur pour que celui-ci effectue le cryptage... ce qui va totalement à l'encontre des principes de sécurités les plus basique.
Bref, ne compte pas sur moi pour utiliser ton algo mais j'attends la version PHP histoire d'essayer de le craquer
54dvd84vd n'est pas enregistrable en binaire directement car il n'y a pas que des 0 et des 1
Bah si. Je ne comprends pas l'argument de "c'est en binaire, donc ça tient moins de place". Si tu as 1024 bytes, ils feront 1 kio quoiqu'il arrive. Une chaîne de caractères (ou n'importe quoi d'ailleurs) qui s'encode en moins de 1kio tiendra moins de place même si ce n'est pas du binaire à la base.
si j'y enregistre en chaine de caractère, cela prend 76 octets dans une base de donnée (information donnée par PhpMyAdmin), alors que si j'y enregistre en tableau de bit, ça ne prend plus que 13 octets. Voilà la différence.
si j'y enregistre en chaine de caractère, cela prend 76 octets dans une base de donnée (information donnée par PhpMyAdmin), alors que si j'y enregistre en tableau de bit, ça ne prend plus que 13 octets. Voilà la différence.
Sans blague... Tu n'as pas compris mon argument. Tu as dit :
La taille au stockage sur la base de donnée car vu que c'est composé uniquement de 0 et de 1, c'est enregistrable en binaire, donc ça prend très peu de place sur une base de donnée
Ce qui est fondamentalement stupide puisque :
n'importe quel algo de chiffrement te fournit des données binaires ;
le fait que ce soit du binaire ne signifie pas que ce soit léger, ce qui fait que c'est léger est le fait qu'il y a peu d'infos dans ta chaîne.
D'ailleurs, c'est du cryptage ou du hash ? En tout cas, si c'est du hash, avec seulement 13 octets, tu vas pas aller très loin. Ça fait \(8\^{13}\sim 6\cdot 10\^{11}\) possibilités. En en testant \(10\^4\) par seconde (ce qui est que dalle), il suffira de \(6\cdot 10\^7\) secondes pour explorer toutes les possibilités. À raison de \(86400\) secondes par jour, ça laisse moins de 3 ans pour dégommer complètement ton système. Pour un algo de chiffrement dont l'objectif est de
Améliorer la sécurité des bases de données
c'est un peu léger. Et je suis partit sur une base de \(10\^4\) possibilités par seconde. En supposant que c'est avec un seul CPU, il suffira de 5 mois pour un clampin sur une machine à 8 coeurs. Prends un supercalculateur bas de gamme à 128 coeurs, et tu tombes à 1 semaine pour dégommer ton algo soit disant inviolable.
Au contraire, moins on en sait, plus on à des projets irréalistes... Regarde tous les projets de mmo, nouveau réseau social ou autre truc du genre. C'est toujours des ados qui n'y connaissent rien qui ont ce genre de projet. Aze voulais faire une régie publicitaire avant ce projet là.
J'imagine que quand on est ignorant on ne se rend pas compte de la difficulté et on penses qu'avec un peu de motivation et de une recherche google on va arriver à réussir ce genre de projets...
Pour qu'il ne l'ouvre pas il faudrait déjà qu'il se rende compte de son ignorance sur le sujet, et ça c'est pas gagné..
On peut être un complet débutant sans avoir des chevilles à faire pâlir d'envie un pont-tablier. L'immense majorité des débutants se rend compte que ces projets sont irréalisables (sans savoir précisément les tenants et aboutissants, mais ils ont le bon sens de se dire que si ce sont des projets faits par des pros, c'est probablement parce que c'est pas à la portée du premier venu). Le fait qu'il y ait d'autres débutants complètement dans la Lune n'est pas une excuse. Il y en a bien qui ont les pieds sur terre.
En fait, j'ai crée ce topic dans le but, d'aider dans la cryptographie, ou d'aider dans la compression en informatique.
Vous connaissez l'algorithme de huffman ? C'est un algorithme très connu, inventé en 1952 par David Albert Huffman, qui permet de compresser un texte, de façon assez optimale. (http://fr.wikipedia.org/wiki/Codage_de_Huffman)
Comme l'indique ce très bon article : http://walid.nabhan.pagesperso-orange.fr/developpement/pages/hffalgo/huffman5.html , cela produit un taux de compression plutôt bon, mais hélas, il faut OBLIGATOIREMENT que l'arbre de déchiffrement soit inclus dans le fichier pour pouvoir le déchiffrer. J'ai donc cherché un moyen optimal de se passer de cet arbre de déchiffrement, mais c'est impossible. Et puis quelques jours plus tard, ça a fait tilt dans ma tête : On ne peut pas y décrypter, mais le même input donne toujours le même output, c'est un hash a sens unique !
Quand j'ai crée le topic je me suis dit :
Soit personne n'arrive à décrypter, et ce sera une chose nouvelle dans la cryptographie, soit c'est décrypté. Dans ce cas, ça améliorera le domaine de la compression, en permettant de ne pas inclure l'arbre de décompression. Il y a donc forcément un gain pour l'informatique.
Le problème de la décompression sans l'arbre de décompression a été abordé de nombreuses fois, sans succès. En le proposant sous un autre angle, j'espérais que quelqu'un de plus compétent que moi arrive trouver une solution. C'est pourquoi je ne voulais pas vous donner l'algorithme.
Mais comme l'a soulevé Loic.AB sur facebook ce matin, est-ce que lorsque on hash un hash déjà produit par l'algorithme, est-ce qu'il change ? La réponse est non. Aille, si on arrive a penêtrer sur la base de donnée, en entrant le hash on peut se connecter !
Mais j'ai trouvé une parade facile, il suffit de rajouter un 0 devant le chemin d'une lettre, pour que en hash un hash il change !
Dans tont les cas, le seul algorithme de chiffrement ou de hashage en lequel on peut avoir confiance est celui dont les sources peuvent-être publiques sans pour autant que la sécurité de cet algorithme ne soit compromise.
Et il n'empêche que dans ton dernier message tu nous avoues clairement qu'en fait cet algorithme n'est pas de toi non ?
Y a aussi un truc un peu idiot : "Aille, si on arrive a penêtrer sur la base de donnée, en entrant le hash on peut se connecter !" -> Si tu sais rentrer dans la BDD tu sais aussi probablement modifier les données, donc le hash, pour mettre le tien et hop adieu les problèmes... Le coup de la récupération des mots de passe depuis une base de données provient du fait que dans le cas ou les mots de passe sont stockés avec un algorithme de hashage faible type md5, quelqu'un peut assez rapidement faire un lien entre une adresse mail et le mot de passe originel et ainsi pouvoir, avec une probabilité assez élevée, accéder à cette même adresse mail (les gens utilisant assez souvent le même mot de passe partout). Ta "parade facile" n'est qu'un truc totalement inutile.
En effet, la sécurité par l'obscurité, n'est pas un algorithme fiable.
Bien sur. Mais comme dit plus haut, c'était pour vous pousser à réfléchir, et si j'avais écrit : "j'ai utilisé un algorithme que j'ai détourné et un peu modifié !", vous m'auriez pris pour un fou...
@dri1 : où ai-je dit qu'un hash servait à la compression de données ?
Il existe 10 types de personnes dans le monde, ceux qui comprennent le binaire... et les autres !