|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() Étudiant Inscription : mai 2011 Messages : 226 ![]() |
Bonjour,
existe-t-il une librairie javascript qui permette de générer une clé rsa (ou autre algo asymétrique) privée, publique, et d'encoder et de décoder des fichiers avec ces clés ? j'ai pas trouvé...
|
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
Ben ici, il est surtout question de JavaScript dans le navigateur et à ce niveau, générer une clé privée n'est rien moins qu'un non sens.
Ceci dit, il existe des librairies JavaScript serveur qui semblent faire ça. Par exemple Node.js
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
00
|
|
|
#3 | |
|
Membre habitué
![]() Étudiant Inscription : mai 2011 Messages : 226 ![]() |
Citation:
|
|
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
Ben parce que si tu génères la clé privée dans le navigateur, tout le monde y aura potentiellement accès... ce qui n'est habituellement pas le but recherché
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
00
|
|
|
#5 |
|
Membre habitué
![]() Étudiant Inscription : mai 2011 Messages : 226 ![]() |
désolé de bugguer comme ça, je connais pas assez bien ces points là, mais comment quelqu'un d'extérieur pourrait accéder à ma clé privée? Comment il devrait s'y prendre pour faire ça?
|
|
|
00
|
|
|
#6 |
|
Membre habitué
![]() Étudiant Inscription : mai 2011 Messages : 226 ![]() |
j'ai peut-être trouvé quelque chose ici : http://shop-js.sourceforge.net/crypto2.htm
malgré tout je reste curieux de ta réponse Bovino |
|
|
00
|
|
|
#7 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
C'est juste qu'en général, JavaScript s'exécute sur une page Web, que cette page Web est donc potentiellement accessible par tout le monde et donc le code de création de ta clé aussi.
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
00
|
|
|
#8 |
|
Membre habitué
![]() Étudiant Inscription : mai 2011 Messages : 226 ![]() |
le code de création? tu veux dire l'algo ? oO
Ben l'algo de RSA est bien accessible à tout le monde. Pourtant on n'a pas abandonné le ssl... |
|
|
00
|
|
|
#9 |
|
Membre habitué
![]() Étudiant Inscription : mai 2011 Messages : 226 ![]() |
bon, j'ai trouvé ça aussi : http://www-cs-students.stanford.edu/~tjw/jsbn/rsa2.html,
mais j'ai absolument aucune idée de comment les utiliser... je vois des e, des n, des d, p, q, etc, plein de fonctions prenant en compte différents paramètres, mais je n'ai absolument aucune idée de comment générer un paire clé publique/clé privée, et les utiliser pour crypter/décrypter... Si quelqu'un est plus à l'aise que moi avec la crypto... |
|
|
00
|
|
|
#10 | |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
Citation:
Ceci dit, j’admets que j'ai peut-être été un peu excessif dans mon jugement
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
|
00
|
|
|
#11 | |
|
Membre habitué
![]() Étudiant Inscription : mai 2011 Messages : 226 ![]() |
Citation:
![]() Sinon, je suis toujours preneur si quelqu'un a trouver un script de cryptage et qu'il arrive à l'utiliser... Parce que pour le moment y a rien qui marche... |
|
|
|
00
|
|
|
#12 |
|
Membre Expert
![]() ![]() Demazy MbellaDéveloppeur Web Inscription : août 2010 Messages : 620 ![]() |
je pense que tu devrait encore relire la théorie sur RSA et celle sur les clés privées avant de chercher la solution a ton problème !
__________________
Trois personnes peuvent garder un secret si deux d'entre elles sont mortes. :Benjamin FranklinL'humanité se divise en trois catégories : ceux qui ne peuvent pas bouger, ceux qui peuvent bouger, et ceux qui bougent : Benjamin FranklinLe hasard, c'est le déguisement que prend Dieu pour voyager incognito : Albert Einsteinbon je m'arrête là au risque de me faire buter
|
|
|
01
|
|
|
#13 |
|
Membre habitué
![]() Étudiant Inscription : mai 2011 Messages : 226 ![]() |
Merci du conseil, mais comme tu ne m'explique pas ce qui te pousse à dire ça, ça ne m'aide pas beaucoup...
|
|
|
00
|
|
|
#14 |
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 868 ![]() |
En fait le problème repose sur la génération de ta clé privée sans la recevoir du serveur sinon ça sert à rien de crypter tes données sur le reseau si on a pu intercepter la clé de décryptage juste avant.
Et comme il n'existe pas d'algo pour générer des nombres premiers(clé privés) je ne vois pas comment le client pourrait en obtenir une sans la récupérer sur le réseau. En fait si, j'imagine bien un moyen un peu compliqué. Le serveur possède un clé privée et t'envoie une clé publique pour que tu puisses lui envoyer des messages privés. Après il te suffit de générer un grand nombre aléatoire(très grand) et de l'envoyer au serveur. En supposant que le serveur ait accès à une grande base de données de clés privées, il pourrait en choisir une aléatoirement à t'envoyer. A laquelle il soustrairait d'abord le nombre que tu lui as envoyé. Il t'enverrait donc(de façon non cryptée) une clé tronquée d'une valeur que seul toi et lui connaissez. Il te suffirait donc du coté client et recoller les morceau et ainsi obtenir ta clé privée. De là tu pourras générer des clés publiques et les distribuer. Par exemple au serveur qui enfin à son tour pourra t'envoyer des donner cryptées. Si je ne dis pas de bêtises ? |
|
|
00
|
|
|
#15 | |
|
Membre habitué
![]() Étudiant Inscription : mai 2011 Messages : 226 ![]() |
pourquoi on ne pourrait pas envoyer au client un fichier contenant un très grand nombre de nombres premiers? Il n'aurait alors plus qu'à en choisir au hasard dans la liste...
Citation:
|
|
|
|
00
|
|
|
#16 | |
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 868 ![]() |
Citation:
En dehors du fait de ce que tu dis est faux, même en supposant que ça aurait pu être vrai, ça aurait généré un nombre beaucoup trop restreint de nombres qui aurait croient de façon factoriel(donc dépassant l'exponentiel à partir d'une certaine valeur) ce qui aurait vachement limité le nombre de clé, donc facilement retrouvable à moins d'en générer des infiniment grandes ce qui auraient été impossible à utiliser vu la lenteur des calculs de cryptage à partir d'un certain point. |
|
|
|
00
|
|
|
#17 | |
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 868 ![]() |
Citation:
Maintenant, supposons que tu en envois 10.000.000.000, (bah oui, si tu n'en envoies que 2-3 le hacker aura vite fait le tour de ta liste avec un algo) donc 50octets * 10.000.000.000 = 500Go. J'espère que tu as ta réponse et que tu comprends pourquoi ce n'est pas possible pour une page web. (et encore, il me semble évident que 10 milliards c'est encore bien trop peu, même si je n'ai jamais testé ni de chiffres sous la main qui en parle.) En plus, le hacker aura toujours toutes les clés "potentielles". Or il n'existe pas de liste exhaustible des nombres premiers. En tout cas pas à partir du moment où les valeurs deviennent intéressante pour du cryptage. (> 10^50). edit: bon dis nous simplement ce que tu voulais faire, on pourra sans doute te donner une solution plus adaptée. usage de page sécurisée "https" ? |
|
|
|
00
|
|
|
#18 | |
|
Membre habitué
![]() Étudiant Inscription : mai 2011 Messages : 226 ![]() |
Citation:
![]() Désolé. Par contre, il y a quand même quelque chose que je ne comprends pas : les générateurs rsa actuels (celui que tu peux exécuter depuis le shell par exemple), ne prennent pas 500Go d'espace disque. Ca signifie donc qu'il y a bien un moyen de générer ces clés, sans en faire un stock de 10.000.000.000, non? |
|
|
|
00
|
|
|
#19 | |
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 868 ![]() |
Citation:
Mais il existe plusieurs solution: 1) soit réclamer une clé au serveur( en la cryptant d'une façon ou d'une autre) (je pense que c'est le cas des connexions sécurisées https) 2) soit avoir un stock lors de l'installation (pas besoin d'en avoir 10 milliards, je disais 10 milliards dans le cas où tu le recevrais par le reseau en visible pour que le hacker ne puisse savoir choisir laquelle. on peut ici supposer que tu l'as installé avec un disque ou que le petit nombre que tu as reçu, tu l'as reçu de façon crypté.) (je pense que beaucoup de serveurs ont leurs stock [qu'ils renouvellent ou non en permanence]) 3) un vrai générateur, si tu veux les générer dans un temps court, je pense qu'un ordi peut facilement en générer des de taille de 50 caractères (valeur ~10^50) avec un bon algo, après je ne connais pas les limites de javascript dans un navigateur. Et ça risque fort de déprendre de ton visiteur. (nb: je pense que le générateur utilise des algo pour créer des nombres potentiellement premiers et puis les testes pour vérifier qu'ils le sont bien, et si ce n'est pas le cas, en essaye un autre). |
|
|
|
00
|
|
|
#20 | |
|
Membre habitué
![]() Étudiant Inscription : mai 2011 Messages : 226 ![]() |
Citation:
|
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com