crypto

  • Commercial
  • Microsoft Outlook
Salut les mecs. Y'en a surement des mordus de crypto parmi vous.

Je suis néophite.

Alors, quick question de newbie: j'ai ici avec moi une jolie librairie toute
pleine de plein d'implantations d'alogrythmes.

Ce que je cherche: un algo qui encryptera des données sans que ça puisse
être décrypté. De façon similaire à ce que "crypt" fait, avec perl, php ...
ou comme pas mal tous les sysèmes sql que je connais font pour encrypter
passwords.

Comme je m'y connais pas même dans les termes de bases et que je commence à
avoir mal à la tête, je vous querie. Y'as-tu un terme pour ce genre de
non-reversible encryption trucs là?

Merci.

--
Eric Maziade
Senior Partner
Novisoft
(450)661-0017
http://www.secure-ebook.com
http://www.novisoft.com
 

Re: crypto

  • Canada
  • GNU/Linux
  • Mutt
  • FOAF

> Comme je m'y connais pas même dans les termes de bases et que je
> commence à avoir mal à la tête, je vous querie. Y'as-tu un terme
> pour ce genre de non-reversible encryption trucs là?


« hashing » ou « hachage » en français.

http://fr.wikipedia.org/wiki/Fonction_de_hash



--
--====|====--
--------================|================--------
Patrice Levesque
http://ptaff.ca/
wayne(à)ptaff.ca
--------================|================--------
--====|====-- GPG: http://ptaff.ca/k.asc ID 9212A432
--
Pièces jointes
 

RE: crypto

  • Commercial
  • Microsoft Outlook
Merci bien!

Connais-tu le nom de l' (ou de un) algorythme de hashing qui ne présente pas
(un ridiculement peu) de collisions?
 

Re: crypto

  • Canada
  • GNU/Linux
  • Mutt
  • FOAF

> Connais-tu le nom de l' (ou de un) algorythme de hashing qui ne présente pas
> (un ridiculement peu) de collisions?


Impossible de pas en subir - si ça se pouvait on pourrait compresser
n'importe quoi à l'infini jusqu'à 1 bit. La valeur d'un algo de hachage
se base sur deux principaux éléments:

- La longueur de la valeur résultante. Si tu imagines un hachage
qui donne un résultat de 4 bits, de forger un fichier caractérisé
par la même valeur relève de la trivialité (juste 2^4
possibilités).

Donc, règle générale, plus la longueur augmente, moins de
collisions se produisent.

- La difficulté de forcer un hash particulier. Si j'utilisais un
algo de hachage nono qui consiste en simplement additionner tous
les bytes, je pourrais facilement produire des données qui
correspondent au résultat que je veux obtenir, même si la valeur
de hachage contient 65536 bits.

Dernièrement des équipes ont réussi à « percer » MD5 et SHA1 dans une
certaine mesure, ces deux méthodes ne devraient plus être utilisées à
l'avenir. Entendons-nous, il ne s'agit pas d'une trivialité de truquer
ces deux algos, mais autant rester prudents.

Puisque mon expertise en crypto s'arrête à peu près là, je t'invite pour
choisir un algo de rechercher un peu sur ceux énoncés au bas de cette
page:

http://en.wikipedia.org/wiki/Cryptographic_hash_function



--
--====|====--
--------================|================--------
Patrice Levesque
http://ptaff.ca/
wayne(à)ptaff.ca
--------================|================--------
--====|====-- GPG: http://ptaff.ca/k.asc ID 9212A432
--
Pièces jointes
 
RE: crypto
  • Commercial
  • Microsoft Outlook
Mais MD5 (je connais pas SHA1 personnellement) reste réversible.
Ce que j'ai, c'est de l'info personnelle d'un client que je veux encrypter
chez-eux et envoyer chez-nous pour validation. Par contre, je ne veux pas
avoir la possiblité d'avoir cette information, tout ce que je veux garder,
c'est la possiblité de comparer qu'il s'agir de la même info.

Je jetterai un coup d'oeil au lien que tu m'as donné, ça m'a l'air bien écrit
:)

Merci pour le coup de pouce!
 
Re: crypto
  • Canada
  • GNU/Linux
  • Mutt
  • FOAF

> Mais MD5 (je connais pas SHA1 personnellement) reste réversible.


Pas réversible. Si c'était le cas, je pourrais compresser n'importe
quoi en 128 bits :)



> Ce que j'ai, c'est de l'info personnelle d'un client que je veux encrypter
> chez-eux et envoyer chez-nous pour validation. Par contre, je ne veux pas
> avoir la possiblité d'avoir cette information, tout ce que je veux garder,
> c'est la possiblité de comparer qu'il s'agir de la même info.


Si le but de l'exercice consiste à sécuriser un mot de passe, il ne
s'agit pas d'un moyen très sécuritaire - au fond dans ce cas le mot de
passe EST le hachage. Alors suffit de renifler le réseau puis de
récupérer le hachage, et s'en servir tel quel, pas besoin de connaître
le mot de passe original. Évidemment ce commentaire ne s'applique pas
si la couche de transport est sécurisée par https par exemple.

Si on cherche à passer des crédits d'authentification via http-en-clair,
une méthode beaucoup plus sécuritaire consiste à utiliser un système de
« challenge-response ». La procédure pourrait se passer ainsi:

Serveur: génère un « challenge » (une chaîne de caractères aléatoire de
mettons pour l'exemple 16 caractères) et l'envoie au client;

Client: entre son mot de passe. Le hachage du mot de passe est calculé
client-side. À ce mot de passe haché on concatène le « challenge » et
on rehache le tout, toujours client-side. On envoie le résultat au
serveur.

Serveur: peut effectuer le même calcul et comparer.

Avec un « challenge » assez long on peut s'assurer de créer un très bon
défi à quiconque voudrait s'emparer de l'accès client.


--
--====|====--
--------================|================--------
Patrice Levesque
http://ptaff.ca/
wayne(à)ptaff.ca
--------================|================--------
--====|====-- GPG: http://ptaff.ca/k.asc ID 9212A432
--
Pièces jointes
 
RE: crypto
  • Commercial
  • Microsoft Outlook
Les fonctions MD5 que j'utilise viennent avec un crypt et un decrypt... De
toutes façon, selon le link que tu m'a envoyé plus tôt, je crois que je vais
regarder "whirlpool", j'en ai une implantation quelque part.

Pour ce que je vais en faire, c'est un combo des deux. SSL + challenge
response encrypté d'un code hashé. C'était juste le choix de l'implantation
du hashing en C qui me manquait.
 
RE: crypto
  • Commercial
  • Lotus Notes
MD5 n'est pas reversible a proprement dit. On peux pacontre trouver la
string d'origine en utilisant du brute force.


--
Sébastien Bérubé
(514) 964-1828
berube(à)ca.ibm.com
 
RE: crypto
  • Commercial
  • Microsoft Outlook
Ce que je veux dire par "réversible", c'est peut-être plutôt décryptable.
Si t'as la clé d'encryption, tu peux décrypter. Et je parle pas de hackers.
Je veux juste encrypter des données sans aucune possiblité de décryption.
Pas même par le programme qui a fait l'encryption.
 
Re: crypto
  • Canada
  • GNU/Linux
  • Mutt
  • FOAF

> Ce que je veux dire par "réversible", c'est peut-être plutôt décryptable.


Si on parle du MD5, il s'agit d'un *hachage*, pas décryptable,
réversible, déchiffrable, peu importe, les données originales
_sont_perdues_.

Si tu vois des fonctions qui s'appellent "*MD5*" et qui fonctionnent
dans deux directions, on parle pas de hachage et voilà à mon avis un
abus de langage. MD == « Message Digest ».

9606f07d59b41d8622f5bcddfe9cad6e

Il existe un nombre à toutes fins pratiques _infini_ de chaînes qui
correspondent à un MD5 donné.

Ou par démonstration, supposons 64 caractères possibles pour une chaîne
(52 lettres + 10 chiffres + 2 ponctuations au choix). Le hachage MD5
comporte 128 bits.

Si j'écris toutes les chaînes de 22 caractères possibles parmi ces 64,
manifestement j'obtiendrai au moins mille collisions: il existe 5,4E39
chaînes pour 3,4E38 MD5 possibles.

Le nombre de collisions augmente avec le nombre de caractères et à
priori on ne connaît pas la longueur de la chaîne originale qui a été
hachée. On ne peut donc *pas* retrouver la chaîne originale avec
certitude; certain que « abc123 » trône plus haut dans les possibilités
de mot de passe que « h7EE0ijSrn3q51mn6 » (supposant qu'ils partagent le
même MD5), mais là on déborde.



> Si t'as la clé d'encryption, tu peux décrypter. Et je parle pas de hackers.


Le MD5 n'utilise *pas* de clef. Il s'agit un checksum exotique ni plus
ni moins.

Rinformez-vous qu'ils disaient: http://fr.wikipedia.org/wiki/MD5



--
--====|====--
--------================|================--------
Patrice Levesque
http://ptaff.ca/
wayne(à)ptaff.ca
--------================|================--------
--====|====-- GPG: http://ptaff.ca/k.asc ID 9212A432
--
Pièces jointes
 
Re: crypto
  • Canada
  • GNU/Linux
  • Mutt
  • FOAF

> Si j'écris toutes les chaînes de 22 caractères possibles parmi ces 64,
> manifestement j'obtiendrai au moins mille collisions: il existe 5,4E39
> chaînes pour 3,4E38 MD5 possibles.


Au moins dix collisions, désolé pour la confusion possible.




--
--====|====--
--------================|================--------
Patrice Levesque
http://ptaff.ca/
wayne(à)ptaff.ca
--------================|================--------
--====|====-- GPG: http://ptaff.ca/k.asc ID 9212A432
--
Pièces jointes
 
RE: crypto
  • Commercial
  • Microsoft Outlook
Ah... Pourtant j'ai trois librairies ici (dont une qui est commerciale) qui
on un algorythme d'encryption qu'ils appèlent MD5.

Peut-être qu'ils s'en sevent seulement pour hasher la clé, qui sait.

Et si je hashe quelque chose qui a moins de 30 caractères? J'imagine que je
fais simplement diminuer mes chances de collisions...

Hmm...
 
RE: crypto
  • Commercial
  • Microsoft Outlook
Ouch. J'ai mélangé, dans ma caboche, MD5 et RC4. Mea Culpa. Et,
effectivement, dans un des algos que j'ai déjà utilisé (RC4), la clé était
hachée via MD5.

Désolé de ma confusion :}
 

 

Propulsé par xhtmail