Algorithme de cryptage

a marqué ce sujet comme résolu.

Présentation

Bonjour :)

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.

Objectif

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 :

11100011100111011011001101111010101111111000000011101100110010001110010101000101

Il est impossible de retrouver ce qui à été hashé à la base. J'offre une récompense a celui qui arrive a y déchiffrer !

Pour le moment l'algorithme est codé en VB.net, je suis en train de le transcrire en PHP.

Contact

Vous pouvez me contacter :

Via Skype : fandeonepiece2@gmail.com

Via mail : fandeonepiece2@gmail.com

Via twitter : https://twitter.com/AzeOfficiel

Via facebook : https://www.facebook.com/AzeOfficiel

+1 -8

À priori c'est le but de tout algorithme de cryptage …

De plus n'importe quelle suite de 0 et 1 n'a aucun sens hors contexte.

Dans le fond je comprends pas vraiment ton projet .. s'il est impossible de déchiffrer les données, ça sert strictement à rien non ? :p

+1 -1

Salut,
Je ne comprends pas vraiment comment tu comptes te démarquer des algorithmes de cryptage à sens unique mondialement utilisés tels que SHA-256.
Peux-tu m'envoyer ton logiciel en VB.NET pour que je fasse des tests pour essayer de réussir ton "défi" ? ^^

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.

Aze

C'est du hash, et ça existe déjà, qu'apporte ton algorithme de plus que les autres (les différentes variantes de SHA, notamment) ?

Ensuite, pourquoi poster ici si l'on ne peut pas voir, même si ce n'est pas le code source, au moins l’exécutable ?

Enfin, je t'offre la preuve qu'une suite binaire est impossible à déchiffrer sans aucune info dessus :

1
00111000011001010011001000110110001100000110010000111000011001010011010101100101001110000011010001100101001100100110001100110100001110010110011000110001001100010110011000110010011000100110010100110010001110010011011101100010011000110110001100110001011000010011100000110011011001000110001100110011001100110011000000110010

Tu as 4 heures (ou même plus, vu que tu ne peut pas y parvenir).

Idem que Phigger, tu retombes dans tes anciens travers : tu viens nous annoncer un projet qui va révolutionner le monde sans rien présenter de concret ni surtout comment tu comptes faire mieux que tout ce qui existe déjà.

Et par pitié, remplace ces énormes bannières par un titre normal, c'est vachement agressif.

+1 -0

Bonjour :)
C'est une phrase en français qu'il faut trouver.

Si ça sert, c'est un cryptage à sens unique ça sert.Lors que l'inscription tu enregistre ton mdp hashé dans ta base de donnée. Et à chaque connexion, tu hash le mot de passe entré par l'utilisateur et tu le compare avec celui dans la base de donnée. Ca permet d’identifier l'utilisateur sans avoir a décrypter le mot de passe. Cette technique est celle utilisée actuellement avec le MD5, et le SHA-256, etc.

Désolé je ne peux pas, le VB.net ne permet pas une protection du code source (que pour le moment je garde privé). Dès que j'ai fini l'adaptation en PHP, je vous y envoi.

Le problème des algorithmes actuels et le fait qu'il existe des dictionnaires. Pour mon cryptage, il n'y en a aucun (et il faudra un moment pour qu'il y en ai un aussi complet que celui des autres cryptages^^).
En effet une suite en binaire est indéchiffrable hors contexte. Avec mon algorithme, j'ai crypté une courte phrase en français.

Je vais y modifier tout de suite :p
cordialement

+0 -6

Ça y est, il recommence à parler d'un sujet qu'il ne maîtrise pas. Alors, dans l'ordre…

  1. Même à supposer que ton algorithme soit assez lent et ne produise que 100 hash par minute, il faut une semaine à un ordinateur pour produire un dictionnaire d'un million de mots. Imagine alors avec mille ordinateurs qui travaillent en parallèle ?
  2. Ensuite, je peux largement me reposer sur les algorithmes existant pour protéger mes mots de passe, à la simple condition de choisir des mots de passe difficiles à trouver. Par exemple, il n'existe aucun dictionnaire qui intègre le mot de passe « À l'an que vèn. Se sian pas mai, que siégen pas mens. ».
  3. Enfin, il existe une technique magique pour mettre en l'air tous les dictionnaires, qui s'appelle le salage. Au lieu d'enregistrer le hash du mot de passe dans ta BDD, tu enregistres le hash du mot de passe suivi d'un code aléatoire choisi lors de la création du site. Par exemple, au lieu de stocker les hashs des mots de passe "salut", "toto", et "grublublu", tu stockes les hashs de "salut8e260d8e5e84e2c49f11f2be297bcc1a83dc3302", "toto8e260d8e5e84e2c49f11f2be297bcc1a83dc3302" et "grublublu8e260d8e5e84e2c49f11f2be297bcc1a83dc3302" et les dictionnaires sont bien niqués, pour parler djeuns.

Et pour finir, t'es sérieux avec ton histoire de protection du code source ? o.O T'as déjà vu qu'un code source PHP était plus protégé qu'un code source VB ?? Et puis si t'en es encore à la sécurité par l'obscurité, c'est que tu n'as rien compris à la cryptographie…

+13 -0

Et pour finir, t'es sérieux avec ton histoire de protection du code source ? o.O T'as déjà vu qu'un code source PHP était plus protégé qu'un code source VB ??

Dominus Carnufex

Je pense qu'il veut créer une page sur laquelle on peut encoder un texte, sans du coup donner le code.

Même si je crois que l'on peut faire des exécutables en VB…

Et puis si t'en es encore à la sécurité par l'obscurité, c'est que tu n'as rien compris à la cryptographie…

Dominus Carnufex

+1

En fait, on est obligé de faire des exécutables en VB, le seul problème c'est que la rétro ingénierie est super simple et avec un logiciel tu peux obtenir un code quasiment identique à l'original. Mais bon après je penses que quelqu'un qui veux obtenir ton code PHP trouvera le moyen de le faire …

Bha c'est juste un gamin de 13 ans qui passe son temps sur des projets tous aussi irréalistes les uns que les autres: une régie publicitaire, un algo de cryptage (comme si php n'en proposait pas déjà..) etc… Je me demande ce qui est pire: ce genre de projets ou ceux qui veulent faire le prochain mmo.

Aze c'est bien que tu ai plein de connaissances en informatique pour ton âge et plein de projets! Mais le soucis c'est que tous tes projets sont irréaliste et sans intérêts. Pourquoi ne pas viser des choses plus modestes mais réalistes et utiles? De plus VB est un langage déprécié et peu utilisé. Tu devrais apprendre le C# qui t'ouvrira de très nombreuses portes si tu le maitrise correctement.

+1 -0

Je l'ai bien lu en entier, je ne jugeait pas utile de répondre, du fait que je suis d'accord avec toi sur ces points et surtout que c'est pas vraiment des questions. "Imagine alors avec mille ordinateurs qui travaillent en parallèle ?" Bien sur que des dictionnaires sont relativement vite fait^^. Ensuite dans ton point 2, ce que tu parle cela repose uniquement sur l'utilisateur finale, et donc pas sur le cryptage. Quand au point 3, je sais que le salage existe. Je ne remet pas en cause la cryptographie actuelle, je propose une solution qui me semble nouvelle.

Je ne comprend pas pourquoi les gens ont des problèmes avec les projets qu'ils jugent "irréalisables". Qu'une personne dise qu'il pense que ce projet est irréalisable Ok. Que Plusieurs personnes rabâchent en permanence que ce projet est irréalisable Non ! Faut changer un peu de mentalité. Quand je dit : "C'est dégeu les courgettes.", ma mère me reprend toujours : "Non ! Les courgettes ne sont pas dégueu, tu les trouves dégeu.". Donc merci d'arrêter de dire d'un projet (de n'importe qui, hein, pas que des miens) qu'il est irréalisable. Dites que vous le pensez irréalisable. Ensuite, quand une personne à déjà dit qu'il pense un projet irréalisable, a quoi cela avance t'il de le dire 20 fois ? Si vous n'avez rien à dire de plus, inutile de rabaisser l'auteur. "Les fous, les marginaux, les rebelles, les anticonformistes, les dissidents… Tous ceux qui voient les choses différemment, qui ne respectent pas les règles. Vous pouvez les admirer, ou les désapprouver, les glorifier, ou les dénigrer. Mais vous ne pouvez pas les ignorer. Car ils changent les choses. Ils inventent, ils imaginent, ils explorent. Ils créent, ils inspirent. Ils font avancer l'humanité. Là où certains ne voient que folie, nous voyons du génie. Car seuls ceux qui sont assez fous pour penser qu'ils peuvent changer le monde, y parviennent."

Pour ceux qui cherche ou qui vont chercher, voici un nouvel indice, il n'y a pas de chiffre dans la phrase. Je résume donc les connaissances actuelles : C'est une courte phrase en français, sans chiffres.

cordialement

+1 -1

Mettre au point un algorithme de hash est un exercice intéressant sur le plan pédagogique. Si toutefois c'est le but recherché (on va pas se mentir, si tu cherches à révolutionner la cryptographie j'ai de sérieux doutes…).

Maintenant que tu as mis au point ton algorithme, l'as-tu testé envers chacun des critères qui qualifient un bon algorithme de hash ? Qu'est-ce-que ton algorithme donne en termes de collisions par exemple ? En termes de complexité et de temps de calcul ?

Ou alors as-tu simplement "salé" un algorithme existant ? Auquel cas l'intérêt pédagogique est très faible.

Bref, ce qui est intéressant dans ta démarche ce n'est pas de dire "regardez j'ai obtenu un nombre binaire à partir d'une chaîne de caractère quelconque et vous ne la trouverez jamais", n'importe quel zozo peu faire ça. On peut chercher 100 ans sans trouver, ce n'est pas pour autant que tu disposes d'une bonne fonction de hash (indice : je colle un "random" dans mon algorithme, t'as aucune chance de trouver pourtant la fonction est strictement inutile puisque non déterministe).

L'intérêt c'est de nous montrer comment tu t'y es pris pour améliorer ton projet et qu'on te donne éventuellement des pistes, des indications sur le plan mathématique, etc.

+2 -0

Non mais pour changer les choses il faut 3 conditions :

  • Connaitre le systéme qu'on veut changer

  • Avoir une idée nouvelle et originale

  • Être intelligent et beaucoup travailler

Toi désolé mais tu as 13 ans, ne connais donc rien aux sujets que tu abordes, arrive avec des idées qui n'ont rien d’innovante ni d'originale. Sur l'intelligence je ne me prononcerais pas, mais j'ai ma petite idée^^

C'est pas par ce oui certains génies peuvent être incompris et rejetés que si on dit que ton idée est irréaliste c'est que forcement tu es un visionnaire.... :p Je dirais même que ce raisonnement est typique des gens… qui justement ne sont ni visionnaires ni vraiment intelligents et essayent de gagner un peu crédit avec ces arguments bateaux.

C'est dommage car à 13 ans tu as pas mal de connaissances. Le soucis c'est que tu les utilises très mal, avec des idées irréalistes et sans intérêt. Que tu veuille faire ton programme pour apprendre et progresser c'est parfait. Mais quand tu dis que ça apporte quelque chose à la cryptographie y à un soucis. Arrête de vouloir révolutionner des trucs, ce n'est pas à 13 ans que ça arrivera. Fait plutôt des petits projets pour toi, par ce que ça te plait et que tu apprends des choses. Tu peux essayer de faire des petits jeux 2D par exemple, ou un site internet pour parler de ta passion pour quelque chose, je ne sais pas moi.

+0 -0

EDIT : Demandred a répondu avant moi, j'envoie quand même.

Bien sur que des dictionnaires sont relativement vite fait^^.

Félicitations ! Tu te contredis à quelques messages d'intervalle.

Le problème des algorithmes actuels et le fait qu'il existe des dictionnaires. Pour mon cryptage, il n'y en a aucun (et il faudra un moment pour qu'il y en ai un aussi complet que celui des autres cryptages^^).

Faudrait savoir, ce sera rapide ou pas de faire un dictionnaire de ta fonction ? Par ailleurs, s'il est très rapide de faire un tel dictionnaire, quel est l'intérêt de ton système, puisque tu dis toi-même que son intérêt est de ne pas avoir de dictionnaire ?

Ensuite dans ton point 2, ce que tu parle cela repose uniquement sur l'utilisateur finale, et donc pas sur le cryptage.

Même avec le meilleur cryptage du monde, si l'utilisateur final choisit "1" comme mot de passe, ça donnera une protection de merde. Ton argument est stupide invalide.

Quand au point 3, je sais que le salage existe. Je ne remet pas en cause la cryptographie actuelle, je propose une solution qui me semble nouvelle.

Ter repetita placent : quel est l'intérêt de ta solution ? Tu refuses de nous montrer comment elle fonctionne, pourquoi lui ferait-on plus confiance qu'à des systèmes éprouvés ?

Maintenant, écoute-moi bien. Tu n'es pas un fou, un marginal, un rebelle, un anticonformiste, un dissident. Tu es un gamin de 13 ans exactement comme tous les autres : persuadé de tout savoir mieux que « les vieux ».

Personne ici n'affirme qu'il est irréalisable d'inventer une nouvelle fonction de hachage bien meilleure que les précédentes. Ce qu'on dit, c'est que toi tu n'en es pas capable. Parce que tu n'as tout simplement pas le bagage nécessaire pour simplement analyser les solutions existantes.

Puisque tu aimes les arguments d'autorité, laisse-moi te parler de Champollion. Il a déchiffré les hiéroglyphes très jeune, en adoptant un méthodologie révolutionnaire. Mais il ne faut pas oublier qu'avant ça, il avait appris des dizaines de langues, en particulier de langues sémitiques, et qu'il connaissait toutes les théories qui avaient cours à l'époque sur le sujet.

Qu'est-ce que tu connais du sujet ? Combien est-ce que tu connais de fonctions de hachage différentes ? Sais-tu comment elles fonctionnent ? Quelle est leur logique de conception ?

Sais-tu seulement qu'inventer une nouvelle fonction de hachage, c'est avant tout des maths ? Et des maths d'un niveau bien supérieur au tien. Tiens, lis ça. C'est la spec de SHA-3. Essaye déjà de comprendre ce que ça raconte et tu auras fait un grand pas en avant…

EDIT : je dirai comme @dri1 sur ta présentation sur OC. Aie un peu de courage et balance ton code, qu'on joue avec et qu'on te montre s'il est solide ou pas.

+4 -0
Ce sujet est verrouillé.