[UNDEFINED] Chiffrement RSA plus Key ? - Version imprimable +- N-PN White-Hat Project (https://dev.n-pn.fr/forum) +-- Forum : Programmation (https://dev.n-pn.fr/forum/forumdisplay.php?fid=72) +--- Forum : Langages interprétés (https://dev.n-pn.fr/forum/forumdisplay.php?fid=27) +--- Sujet : [UNDEFINED] Chiffrement RSA plus Key ? (/showthread.php?tid=2223) |
[UNDEFINED] Chiffrement RSA plus Key ? - InstinctHack - 26-09-2012 Bonjour à tous! Comme je l'ai dit dans un autre topic, je m'intéresse actuellement à la sécurisation des data (chiffrement/stégano) mais cela de façon totalement privé. définition de privé : aucun lien avec une librairies, je veux un code fait par moi, pour que je puisse le comprendre et le modifier. J'ai trouvé ce code sur le sdz http://www.siteduzero.com/tutoriel-3-2306-les-programmes-de-cryptage-et-decryptage.html Mais le truc c'est que les clé sont des nombres (premiers) et que je voudrais que ça soit une passphrase à la truecrypt, mais j'ignore comment m'y prendre, et comme je suis débutant en chiffrement :/ Avez-vous une idée ? Code : #!/usr/bin/env python RE: Chiffrement RSA plus Key ? - Horgh - 26-09-2012 Citation :Mais le truc c'est que les clé sont des nombres (premiers) et que je voudrais que ça soit une passphrase à la truecrypt, mais j'ignore comment m'y prendre, et comme je suis débutant en chiffrement :/Tu es obligé d'utiliser des nombres premiers pour RSA, une grande partie de l'algorithme repose là-dessus. RE: Chiffrement RSA plus Key ? - b0fh - 26-09-2012 Hello, Quel tuto absolument horrible (sur sdz). Il est évident que l'auteur n'a rien compris. Il chiffre le message lettre par lettre, dans ces conditions il est trivial de casser le chiffrement, il suffit de construire une table de substitution pour chaque byte possible en le chiffrant avec la clef publique. Son choix de e est sous-optimal, si le message chiffré est suffisamment large une petite valeur de e convient très bien et accélère immensément le chiffrement (65537 est un bon choix, d'abord parce que l'élévation à la puissance ne demande que 16 multiplications, et ensuite parce qu'il est premier donc pas besoin de tester sa co-primalité avec phi(n)). L'algorithme utilisé pour le générer est débile pour de nombreuses raisons (par exemple parce que si p ou q sont premiers, phi(n) est toujours pair, donc e ne peut pas l'être). Son calcul de d est totalement idiot aussi, la manière correcte est d'utiliser l'algorithme d'Euclide étendu, que je vais te laisser googler et redemander si tu ne comprends pas bien. En fait, RSA peut fonctionner même si p et q ne sont pas premiers. Les conditions pour que ça fonctionne sont que: - e soit co-premier à phi(n) (le calcul de phi(n) change par contre si p et q ne sont pas premiers, je te laisse googler la Fonction Totiente d'Euler) - le message m soit toujours co-premier à n (la probabilité que ça arrive est quasi nulle avec p et q grands premiers, mais diminue dangereusement si tu choisis p et q au hasard) Mais de manière générale, pour une taille de clef équivalente tu auras une sécurité plus faible, ce n'est donc pas recommandé. Transformer une passphrase en nombres premiers pour RSA n'est pas forcément une bonne idée, mais tu peux quand même le faire, si tu utilises la passphrase comme seed pour un générateur de nombres aléatoires qui sera utilisé pour générer tes nombres premiers, par exemple avec la méthode de Rabin-Miller. Il est très important de générer les deux nombres d'un coup, et de ne pas reset le générateur aléatoire entre les deux ou d'utiliser deux seeds de sources différentes pour les deux nombres, sinon le risque est plus élevé d'avoir une collision partielle qui rend deux clefs publiques mutuellements cassables. RE: Chiffrement RSA plus Key ? - CyberSee - 26-09-2012 Quoi dire de plus si non félicitation b0fh pour un message bien composer. Je suis toute a fait d'accord avec ce que tu dit. REP+2 On a pas de tuto sur les RSA encore ... va falloir pallier a ça. RE: Chiffrement RSA plus Key ? - InstinctHack - 26-09-2012 Et bien merci beaucoup pour ce commentaire très instructif (je me disais que c'était trop simple) Je vais donc me renseigner sur le chiffrement AES et son fonctionnement interne et tenter de le recoder |