begin process at 2010 02 10 10:04:50
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Delphi

 > 

Archives

 > 

Sécurité

 > 

cle de 128 bits et cryptage


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

cle de 128 bits et cryptage

mardi 8 mars 2005 à 20:19:04 | cle de 128 bits et cryptage

MoveX

une cle de 128 bits en cryptage ca correspond a quoi? je veux dire, ca n est pas une cle de 128 caracteres?
mardi 8 mars 2005 à 20:32:23 | Re : cle de 128 bits et cryptage

florenth

Membre Club
Euh, je ne m'y connais pas trop mais je peux juste te dire qu'un caractere c'est un octet (8 bits) donc 128 bits correspondent à 16 octets donc 16 carac.
Après, quant à savoir si ces 128 bits sont des caractères ... c'est plus dans mon domaine

J'espere avoir éclaici ta lanterne .
Flo

Si tu ne te plantes pas ......
tu ne poussera jamais
mardi 8 mars 2005 à 20:39:22 | Re : cle de 128 bits et cryptage

MoveX

ok, ca je le savais deja mais merci bien. je pense comme toi mais j aimerais avoir confirmation....
mercredi 9 mars 2005 à 09:32:54 | Re : cle de 128 bits et cryptage

sovitec

Salut,

128 bits correspond effectivement à 16 char (8 bits). Mais comme tous les caractères ne sont pas imprimables et que la norme ASCII de base ne code que sur 7 bits on ne peut pas écrire un nombre de 128 bits avec 16 caractères.

Si tu veux représenter une clef de 128 bits par une chaine de caractères il faut donc l'encoder, pour cela il existe des méthodes standards : Base64, YEnc, UU, ...

Si ton but est, à partir d'une chaine de caractère quelconque (une phrase de passe), de générer un nombre de 128 bits alors il vaut mieux utiliser une fonction de hachage : MD5 (non recommandée pour de la cryptographie), SHA-1 (idem MD5), SHA-256, ... Pour les méthodes de hachage qui ont une sortie de plus de 128 bits tu peux prendre un bloc de 128 bits dans la sortie : les 128 premiers par exemple. Attention que dans ce cas des fonctions de hachage on ne peut pas remonter des 128 bits vers la chaine de caractère.

J'espère avoir été clair.
mercredi 9 mars 2005 à 18:45:32 | Re : cle de 128 bits et cryptage

MoveX

ok merci, je pense avoir compris mais un petit exemple serait le bienvenue, il faut que je genere une cle de 128 bits qui corresponde a un nombre premier... javoue ne pas trop savoir comment faire, le tout sans utiliser de composants ext. tout du moins un minimum.

si tu as une idee.

merci encore
jeudi 10 mars 2005 à 09:47:55 | Re : cle de 128 bits et cryptage

sovitec

Bonjour

Tu n'avais pas préciser que tu devais générer une clé de 128 bits, et surtout que celle ci devait être un nombre premier.

L'encodage ne sert que si tu veux transmettre ta clé sous forme de chaine de caractères, dans un email par exemple, ou comme clef d'activation d'un logiciel qu'un utilisateur doit taper.

Les fonctions de hachage dont je parlais peuvent bien servir à générer des clefs, mais elles ne sont pas aléatoires, et rien ne garanti la primalité. Elles servent surtout dans le cadre de mots de passe.

Revenons en à ton problème alors.

D'abord il serait surement beaucoup plus simple d'utiliser un bibliothèque de gestion des grands nombres qui te permette d'effectuer les opérations sur des nombres de 128 bits de façon naturelle. Sinon tu peux en écrire une minimale toi même, ce n'est pas très compliqué.

Ensuite pour la génération de nombres aléatoires si tu as une fonction qui te donne des nombres de 32bits par exemple, tu peux en concaténer 4 pour générer un nombre aléatoire de 128 bits, ça marche très bien. Attention cependant que les fonctions random standards de Delphi ne sont pas du tout cryptographiquement sûres. Si tu travailles sous windows il n'existe d'ailleurs pas de générateur d'aléa sûr. Sous Linux il existe une fonction système bien plus sûre, mais pas très rapide (cependant, vu que tes besoins sont faibles ce devrait être largement suffisant).

Dernier point : la clé doit être un nombre premier. D'abord il n'existe pas de façon de générer un nombre premier aléatoire. Donc la solution est de générer un nombre aléatoire, puis de vérifier s'il est premier. S'il ne l'est pas on tire un nouveau nombre jusqu'à en trouver un qui soit premier. Le problème est maintenant de vérifier qu'un nombre de 128 bits est premier. Avec une méthode exhaustive comme le cribble d'Erasthotène cela peut prendre enormément de temps. Donc pour les grands nombres on utilise des méthodes probabilistes, telle que la méthode de Miller-Rabin, qui ne garantie pas absolument que le nombre soit premier, mais qui dit simplement que le nombre est premier avec une forte probabilité (on peut choisir son seuil de probabilité en effectuant plusieurs passes).

Sinon je peux demander pourquoi la clé doit être un nombre premier ? Le cas le plus classique où l'on ai besoin de nombre premier est celui des clés RSA. Mais dans ce cas 128 bits c'est vraiment très faible.

jeudi 10 mars 2005 à 18:05:23 | Re : cle de 128 bits et cryptage

MoveX

cest bien pour un cryptage rsa, j essaie de reproduire un ptit programme qui crypte en rsa, j ai une activite dans mon bouquin de math qui explique le systeme rsa.... bref, j ai deja un code pour generer un nombre premier compose d un certain nombre de chiffres. si tu le veux, il te suffit daller voir dans le post suivant celui ci dans le forum...

pour commencer, je ne vois pas vraiment a quoi correspond un nombre de 32 bits. donc... ensuite, 128 bits est peut etre faible mais cest pour commencer, on verra ensuite quand ca fonctionnera deja un minimum.

enfin, j aimerais eviter d utiliser des librairies exterieures...

voila, si tu as un lien ou deux pour m expliquer les bases en ce qui concerne les cles de cryptage notamment la notion de longueur....
vendredi 11 mars 2005 à 09:39:18 | Re : cle de 128 bits et cryptage

sovitec

Une explication du codage binaire, libre et en français :
http://www.commentcamarche.net/base/binaire.php3

Une bibliothèque de cryptage libre pour Delphi (elle ne fait pas le RSA, mais elle a tous les outils pour la manipulation des grands nombres) :
http://www.cityinthesky.co.uk/delphi.html

Je viens aussi de regarder ton code, en fait je l'avais déjà vu, et j'avais même répondu, mais je n'avais pas fait le rapprochement. Elle marche peut être bien pour un nombre à 3 chiffres (décimaux, soit 10 chiffres binaires environ), mais pour 128 bits ça risque d'être loooooong : La racine carrée d'un nombre de 128 bits est un nombre de 64 bits soit environ 2x1017. Imaginons que dans ta boucle tu puisses tester un million de diviseurs par seconde (c'est un ordre de grandeur optimiste sur un PC moyen), alors il te faudra de l'ordre de 2.1011  secondes pour tester si un nombre est premier, c'est à dire environ 6000 ans. C'est pourquoi je te disais de te documenter sur les méthodes telles que Miller-Rabin (tu trouveras pleins de doc avec Google).
vendredi 11 mars 2005 à 17:32:49 | Re : cle de 128 bits et cryptage

MoveX

ok, je pensais que 128 bits ca correspondait a 8 caracteres, et ca marchait bien mon generateur avec 8 chiffres....
mardi 13 mars 2007 à 14:01:58 | Re : cle de 128 bits et cryptage

vegetalain

"La racine carrée d'un nombre de 128 bits est un nombre de 64 bits soit environ 2x1017"
Ca veut dire qu'un nombre à 64 bits équivaut à un nombre à 18 chiffres?
Soit pour un nombre composé de 2.868 chiffres par exemple, en ferait un nombre à 10.197 bits, et donc une clé de cryptage à 10.197 bits?...

1 2

Cette discussion est classée dans : cryptage, cle, bits


Répondre à ce message

Sujets en rapport avec ce message

Comment avoir ma cle d'activation de delphi 6 personel [ par apz ] Salut a tous, Pour avoir ma cle d'activation j'ai visité trois fois le site de borland (lieu public et pas de machine) et a chaque fois il m'envoit to TQuery et violation de cle [ par jonath ] bonjour, j'ai un probleme suite à l'execution d'une requete sql : des que je ferme une fenetre du prog, une erreur violation de cle apparait et fait b Lecture d'une cle sur la base de registre [ par Kosh ] Salut tout le mondej'ai ecrit un petit programme pour lire une cle (chaine de caract) situe dans un rep de la bdrmais le probleme que j'ai ca fonction Couleurs 24 Bits [ par MAsterC ] J'ai une question ....Est-ce que Delphi prend en charge dans les bouton les image (bmp) 24bits couleurs... parce que moi l'image dans mon bouton me se extraire les composantes R, G, B d'un bitmap 16 bits [ par ericamiens ] bonjour, j'aimerais donc extraire ces composantes mais les fonctions GetRValue, GetGValue et GetBValue attendent un RGB (32 bits) en entrée. ça foncti Cryptage MD2 MD4 MD5 [ par MAsterC ] Bonjour à tous! J'ai Delphi 7 et Borland C++ Builder 6 puis dans le logiciel C++ de Borland dans l'onglet "Indy - Divers" il y a Les composant de pb de legalité !!! [ par bobok ] je suis en stage et je doit effectuer une cle logicielle pour supprimer un bundle( cle USB qui permet de faire tourner le logicielle) probleme ==> le Cryptage MD5 [ par Kruger ] Bonjour tous le monde, je suis en train de develloper une petite application sous delphi 6 entreprise dont une partie est "protégée" par un mots de p Vitesse de la carte reseau [ par manu00 ] Bonjour,Une petite question...savez vous comment faire en delphi pour connaitre la vitesse (et pkoi pas les references) d'une carte reseau en local... Cryptage 128 bits [ par Artegon ] Salut a tous, j' aimerais savoir comment crypteune chaine de caractere en 128 bits...J' ai bien vus l' algorithme crypter/decrypter 128/256 bits, mais


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales