Logiciel de cryptageet décryptage avec visual

patrick -  
ToTo_54_83 Messages postés 8 Statut Membre -
salut ,
J'ai un problème pour la création d'un masque jettable(logiciel de cryptage et décryptage) avec le visual basic sans mentir je ne sais par où commencer.Quelques lignes de codes me suffirait.
Merci d'avance.
Pat
A voir également:

7 réponses

sebsauvage
 
>Comme tu as l'air de t'y connaitre seb, peux tu nous expliquer
> ce qu'est un masque jetable?

Ok :-)

C'est la *seule* technique de chiffrement qui est *totalement incassable*, quelle que soit la puissance de calcul dont tu possède.

Dit comme ça, ça a l'air génial, mais dans la pratique c'est quasi-inutilisable (et quasi-inutilisé).

Pour chiffrer un message de n octets, il faut:
- créer un bloc de n octets *réellement* aléatoire (appelé "masque").
- faire un XOR octet par octet du message avec le masque.

Pour déchiffrer, on fait le même XOR entre le message chiffré et le masque. On obtient le message en clair.

Ainsi, si tu ne connais pas le masque exact, le message suivant:
"rgBtytryyneRGBrzgbRgriojfSYci"

Peut très bien se décoder en:
"Est-ce que ta soeur va bien ?"
"La bombe explosera à 17 h 00."
"La bombe explosera à 19 h 00."
"La bombe explosera à 05 h 37."

Aucun moyen de savoir si tu ne connais pas le masque!

ça a l'air génial comme ça, mais il y a des problèmes:

- le masque est aussi gros que la clé. Pas cool. Par exemple pour chiffrer 600 Mo de données : il faut conserver un masque de 600 Mo.
- le masque ne doit jamais être ré-utilisé.
- Pour que le destinataire puisse décoder, il doit avoir le masque complet. Il faut donc lui envoyer par un canal sûr. Mais si tu as déjà un canal sûr pour lui envoyer le masque, pourquoi ne pas l'utiliser pour envoyer le message ?
- contrairement à ce qu'on pourrait croire, c'est très difficile de générer des octets réellement aléatoire. *AUCUN* ordinateur ou logiciel n'en est capable. Or si c'est pas réellement aléatoire, on peut le deviner, et donc décoder le message !

Dans la pratique, la technique du masque jetable n'est quasiment pas utilisée. Trop de contraintes.
1
teebo Messages postés 33570 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
Y'a pas a dire, t'es un chef seb...

@,@
\__/
1
ToTo_54_83 Messages postés 8 Statut Membre 2
 
Je sais je débarque un peux tard (par rapport a la date de ce topic) mais c vrai que ca fait plaize des gens qui on une tel maitrise du sujet et qui soit assez sympa pour prendre le temps de bien expliquer et tout ca en toute humilité... Ca change d'autres... En tout cas merci pour tes explications qui sont trés instructives!!!
1
sebsauvage
 
1) il est impossible de faire un logiciel de chiffrement masque jetable *uniquement* logiciel.

Par définition, tout logiciel est déterministe, il est donc IM-PO-SSIBLE de créer des données aléatoires avec un logiciel, donc impossible de créer un logiciel de chiffrement par masque jetable totalement logiciel.

http://sebsauvage.net/comprendre/encryptage/crypto_otp.html
(Lire aussi la RFC 1750 ( http://rfc.net/rfc1750.html), ça donne un aperçu de la difficulté du problème).

2) Si tu as une bonne source *physique* de données aléatoire (webcam sur un phénomène chaotique, ou un pont de diode produisant du bruit blanc), il suffit généralement de les numériser et donner à manger à un algo qui te sortira un bloc de n octets aléatoires (de la taille de ton message à chiffrer).
On utilise souvent blum-blum-shub, mais c'est un peu lourd en calculs. On peut prendre Yarrow, ou encore un bon générateur pseudo-aléatoire dont le pool sera altéré par les données numérisées.

3) Un simple XOR octet par octet entre le masque et le message suffira pour chiffrer et déchiffrer.
(Chouette, c'est la même opération ;-)

ça a l'air compliqué ?
C'est normal !

Avec le masque jetable, chiffrer et déchiffrer, c'est peanut (un simple XOR). La *grosse* difficulté, c'est la création du masque.
0
teebo Messages postés 33570 Date d'inscription   Statut Modérateur Dernière intervention   1 793
 
Salut seb,
Arrete moi si je me trompe, mais une bonne source de phenomene aleatoire est l'hrologe non? C'est quoi la precision de l'horloge interne d'un PC?
Je me suis jamais penche sur le probleme mais c'est l'idee qui m'est venue naturellement a l'esprit...

Autre idee con, faire cliquer l'utilisateur sur son ecran et recupere les coordonnees pour le cryptage...

@,@
\__/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sebsauvage
 
>Arrete moi si je me trompe, mais une bonne source de phenomene
>aleatoire est l'hrologe non? C'est quoi la precision de
> l'horloge interne d'un PC?

Que nenni !

L'horloge d'un PC, c'est un simple compteur incrémenté à intervalle réguliers par une quartz. Tout ce qu'il y a de prévisible.

De plus, quand on fait du masque jetable, on a besoin - par exemple - de 600 Mo de données aléatoires pour 600 Mo de données à chiffrer.

L'horloge ne fournira pas 600 Mo de données aléatoires.
A peine quelques octets, et encore on peut facilement deviner la fourchette de la valeur.
C'est inssufisant.

Silicon Graphics a inventé un système simple et efficace:
http://www.lavarnd.org/
Ils utilise une webcam pour filmer un phénomère chaotique (donc non prévisible) (des lava-lamps), et donnent l'image numérisée à manger à un algo, ce qui leur permet de sortir des nombres réellement aléatoires.

Et puis la majorité des générateurs de nombres pseudo-aléatoire fournis avec les compilateurs sont très mauvais:
- les même séquences reviennent
- on peut parfois prédir les octets suivants à partir de quelques octets déjà produit !
ça n'est pas assez sûr.
0
MarsuGL
 
Comme tu as l'air de t'y connaitre seb, peux tu nous expliquer ce qu'est un masque jetable?
merci
0
MarsuGL
 
merci pour ton explication
0

Discussions similaires