chaos mathématique et cryptage |
Auteur |
Message |
vibra
Autorisation : Membre
Nb de messages : 595
Inscrit le : Mer 04 Avr 2007, 13:29
|
Posté le : Jeu 01 Nov 2007, 21:02
|
|
|
Je viens de découvrir un phénomène tout à fait fascinant pouvant peut-être avoir une utilisation dans certains algorithmes de codages.
Rentrez le programme suivant :
Code | "X^2"->Y1
Fn-Off
0->Xmin
10->Xmax
-.5->Ymin
1.5->Ymax
For(A,0,10,.01
Pt-On (A,Y1(A)-((1<0)+int (Y1(A)
End |
Mettez le programme en route, et là, si je vous dit que ce qui s'inscrit sur l'écran est la fonction "x^2" vous me croyez ? Que c'est-il passé ? Tout simplement la bonne vieille fonction "x^2" s'est littéralement fait hachée menu par une bande de petits rigolo appelés modulos.
Un autre exemple encore plus impréssionnant ?
Code | "7,5+x sin (cos (X^2"->Y1
Fn-Off
0->Xmin
10->Xmax
-.5->Ymin
5.5->Ymax
For(A,0,10,.01
Pt-On (A,Y1(A)-5((5<0)+int (Y1(A)/5
End |
On peut donc constater que les fonctions sont complètement dénaturées, et ne ressemblent plus à rien de connu.
Alors, quelle utilité à ce phénomène ? Tout simplement l'utilité est que cette fonction, à moins qu'on repousse les maths dans ces derniers retranchements, les fonctions modulées ne possèdent pas de fonction réciproque. Quésaco ? Quand on marque y=x^2+3, on peut retrouver x si l’on connaît y an faisant x=sqrt(Y-3) ou x=-sqrt(y-3). Les deux fonctions sont des fonctions dites réciproques. En revanche avec une fonction modulée, pas moyen d’exprimer x en fonction de y. (Note : le sqrt signifie [racine])
Ainsi un petit futé qui ferait un algorithme pour protéger un programme du type :
Code | Prompt A
If 36(A+3)/15=35+2
Then
Disp "CODE CORRECT
Else
Disp "CODE INCORRECT
Stop |
aurait tout faux, puisqu’il suffit au « cracker » d’éditer le programme et de résoudre l’équation pour trouver le code. En revanche, avec une fonction modulée, même en connaissant le nombre d’arrivée, il est impossible de remonter jusqu’au code.
Mais il y a mieux : je vous propose un algorithme où il faut entrer 2 codes : le premier pour coder le modulo, et le deuxième pour coder le nombre, et le nombre d’arrivée est lui-même caché derrière un nombre aléatoire (avec Ans). Là c’est du solide ! Si vous pouvez faire en sorte qu’on ne puisse modifier le programme, alors le programme est en sûreté, d’autant plus qu’il y a 184^10^184^10^14 possibilités, ce qui fait…beaucoup de milliards de milliards…
Code | "(10+X)sin(cos((10+X)^2"->Y1
Input "A=",A
ClrHome
Y1(A)-10[pi]((10[pi]<10)+int (Y1(A)/(10[pi]
Input "B=",A
ClrHome
Y1(A)-Ans((Ans<0)+int(Y1(A)/Ans->B
453->rand
rand
10^-3round(rand,4
If round(B,7)=11,937+Ans
Then
0
" " ->Y1
Disp " CODE ACCEPTE
Pause
Return
Else
0
" " ->Y1
Disp " CODE REFUSE
Stop
End |
Le couple de solution est 1610 et 4^282 (soit 1312).
---------------------- Vive la programmation et vive le vibraphone !!! |
|
|
|
webmaster
Autorisation : Administrateur
Nb de messages : 792
Inscrit le : Mer 18 Aoû 2004, 22:13
|
Posté le : Jeu 01 Nov 2007, 23:24
|
|
|
Un article très intéressant...
@+ Le Webmaster
|
|
|
|
Stupid
Autorisation : Membre
Nb de messages : 768
Inscrit le : Jeu 28 Sep 2006, 18:42
|
Posté le : Ven 02 Nov 2007, 22:40
|
|
|
Citer | "7,5+x sin (cos (X^2"->Y1
Fn-Off
0->Xmin
10->Xmax
-.5->Ymin
5.5->Ymax
For(A,0,10,.01
Pt-On (A,Y1(A)-5((5<0)+int (Y1(A)/5
End |
j'ai pas compris l'utilité du truc, ni ce qu'il y'a d'impressionant...
juste un debut de fonction et aprés des points...le graph de fucktime est bien plus impressionant
|
|
|
|
coc5
Autorisation : Membre
Nb de messages : 891
Inscrit le : Sam 16 Jui 2007, 13:37
|
Posté le : Sam 03 Nov 2007, 11:56
|
|
|
Il est intéressant dans le sens où on dispose d'une "fonction" dont on ne peut trouver l'origine à partir du résultat vu que c'est un modulo.
---------------------- Ne cliquez pas ici ! |
|
|
|
vibra
Autorisation : Membre
Nb de messages : 595
Inscrit le : Mer 04 Avr 2007, 13:29
|
Posté le : Sam 03 Nov 2007, 16:35
|
|
|
Voilà le but c'est pas d'avoir un beau graphique Baby, mais de ne pas pouvoir retrouver le nombre d'origine…
---------------------- Vive la programmation et vive le vibraphone !!! |
|
|
|
Stupid
Autorisation : Membre
Nb de messages : 768
Inscrit le : Jeu 28 Sep 2006, 18:42
|
Posté le : Sam 03 Nov 2007, 17:00
|
|
|
ça me fait peur...
|
|
|
|
vibra
Autorisation : Membre
Nb de messages : 595
Inscrit le : Mer 04 Avr 2007, 13:29
|
Posté le : Sam 03 Nov 2007, 18:59
|
|
|
Citer : Baby | ça me fait peur... |
T'as raison, les modulos sont une bande de bêtes féroces assoiffée de sang Arrgggg…
---------------------- Vive la programmation et vive le vibraphone !!! |
|
|
|
Sangohan38
Autorisation : Membre
Nb de messages : 3370
Inscrit le : Sam 31 Déc 2005, 19:48
|
Posté le : Sam 03 Nov 2007, 19:16
|
|
|
Jolie faute d'orthographe là.
Sangohan38
|
|
|
|
vibra
Autorisation : Membre
Nb de messages : 595
Inscrit le : Mer 04 Avr 2007, 13:29
|
Posté le : Dim 04 Nov 2007, 10:23
|
|
|
Mais non c'est parce que les deux touches sont toutes proches… bon d'accord il y a quand même le F et le D entre…
---------------------- Vive la programmation et vive le vibraphone !!! |
|
|
|
unknow
Autorisation : Membre
Nb de messages : 229
Inscrit le : Jeu 12 Oct 2006, 19:30
|
Posté le : Dim 11 Nov 2007, 12:50
|
|
|
en quioi c'est utile?
---------------------- Ta le look coco |
|
|
|
vibra
Autorisation : Membre
Nb de messages : 595
Inscrit le : Mer 04 Avr 2007, 13:29
|
Posté le : Dim 11 Nov 2007, 14:10
|
|
|
T'as lu le premier post de l'article ou pas ??
---------------------- Vive la programmation et vive le vibraphone !!! |
|
|
|
Google_AdSense
|
Publicité
|
|
|
|
|
mad67
Autorisation : Membre
Nb de messages : 630
Inscrit le : Sam 23 Jui 2007, 14:05
|
Posté le : Mer 14 Nov 2007, 17:50
|
|
|
les modulos si j'ai bien compris divise jusqua ne plus pouvoir?
|
|
|
|
vibra
Autorisation : Membre
Nb de messages : 595
Inscrit le : Mer 04 Avr 2007, 13:29
|
Posté le : Mer 14 Nov 2007, 21:21
|
|
|
Citer : mad67 | les modulos si j'ai bien compris divise jusqua ne plus pouvoir? |
On les étudie en spé maths. La définition exacte c'est : (a congru à b modulo n) ssi (a et b ont même reste dans leur division euclidienne par n).
Ex : 15 est congru à 3 modulo 4.
---------------------- Vive la programmation et vive le vibraphone !!! |
|
|
|
unknow
Autorisation : Membre
Nb de messages : 229
Inscrit le : Jeu 12 Oct 2006, 19:30
|
Posté le : Ven 16 Nov 2007, 19:39
|
|
|
si j'ai lu?? evidemment que oui, mais j'ai eu la flemme de comprendre
non serieusement j'ai absolument pas compris
---------------------- Ta le look coco |
|
|
|
vibra
Autorisation : Membre
Nb de messages : 595
Inscrit le : Mer 04 Avr 2007, 13:29
|
Posté le : Ven 16 Nov 2007, 20:42
|
|
|
Ça sert à crypter un code sans pouvoir le découvrir même en éditant le programme.
---------------------- Vive la programmation et vive le vibraphone !!! |
|
|
|
Stupid
Autorisation : Membre
Nb de messages : 768
Inscrit le : Jeu 28 Sep 2006, 18:42
|
Posté le : Ven 16 Nov 2007, 21:42
|
|
|
au pire, si tu planque dans uen matrice+ un codetouche, si le gars il trouve c'est qu'il sait rpogrammer et si il sait programmer il vire les deux lignes
|
|
|
|
vibra
Autorisation : Membre
Nb de messages : 595
Inscrit le : Mer 04 Avr 2007, 13:29
|
Posté le : Sam 17 Nov 2007, 11:59
|
|
|
Oui je sais, mais bon c'était pour le principe…
---------------------- Vive la programmation et vive le vibraphone !!! |
|
|
|
tahmahal
Autorisation : Membre
Nb de messages : 45
Inscrit le : Sam 15 Déc 2007, 10:36
|
Posté le : Ven 21 Déc 2007, 17:08
|
|
|
J'aurais beaucoup aimé comprendre mais déja je cale : une fonction réciproque kézako?
|
|
|
|
Google_AdSense
|
Publicité
|
|
|
|
|
vibra
Autorisation : Membre
Nb de messages : 595
Inscrit le : Mer 04 Avr 2007, 13:29
|
Posté le : Ven 21 Déc 2007, 18:26
|
|
|
Imagine que tu étudie une population de bactéries. Au début tu en as peu, puis le nombre augmente au cours du temps (il y a une augmentation exponentielle). En faisant des relevés régulièrement, tu vas être en mesure de trouver une fonction mathématique (ça s'appelle modéliser), que l'on notera f, et qui nous donne le nombre de bactérie n présentes à la date t. On note f(t)=n.
Mais ce n'est qu'un point de vu, car il est également possible de définir une fonction g qui nous donne la date t en fonction du nombre de bactérie n. On note g(n)=t.
Les fonction f et g sont des fonction réciproques, et on note g=f^-1.
Bref en conclusion, [f(x )=y] <=> [f^-1(y)=x]
Quand je dis que
Citer : vibra | les fonctions modulées ne possèdent pas de fonction réciproque. |
, je veux dire que quand on a une fonction normale f(x )=y, si on connaît y, peut retrouver x (presque tout le temps), alors qu'avec une fonction modulée g(x )=y, si l'on connaît y, on ne peut pas retrouver x, ce qui est particulièrement intéressant pour le cryptage.
J'espère avoir été clair.
---------------------- Vive la programmation et vive le vibraphone !!! |
|
|
|
webmaster
Autorisation : Administrateur
Nb de messages : 792
Inscrit le : Mer 18 Aoû 2004, 22:13
|
Posté le : Mar 25 Déc 2007, 18:12
|
|
|
Citer : tahmahal | J'aurais beaucoup aimé comprendre mais déja je cale : une fonction réciproque kézako? |
Plus simplement la fonction racine carrée et la fonction carrée sont des fonctions réciproques car (sqrt(4))²=4. En gros, quand tu appliques la fonction et la fonction réciproque l'une après l'autre tu reviens au point de départ.
@+ Le Webmaster
|
|
|
|