Code
Effecr
EffVar L1
EffVar L2
Lbl 0
Menu( "CRYPT","CRYPTAGE",1,"DECRYPTAGE",2,"CLES CONNUS",3,"TROUVER CLES",4,"TROUVER CLES DE",5,"ENVOI/RECEPTION",6,"QUITTER ?",99
Lbl 1
Lbl 2
"ABCDEFGHIJKLMNOPQRSTUVWXYZ" -> chaine1
Effecr
Input "A= ",X
Input "B= ",Y
Input "MESSAGE ",chaine2
Input " NB : ",N
For(I,1,N
For (J,1,26
If sous-Chaine (Chaine1,J,1)= sous-Chaine (Chaine2,I,1)
J-1 -> L1 (I)
End
End
For (I,1,N
XL1(I) + Y -> A
partEnt (A/26) -> Q
A - 26Q -> R
R + 1 -> L2 (I)
End
1 -> A
6 -> B
For (I,1,N
Output (B,A,sous-Chaine (Chaine1,L2 (I),1
A + 1 -> A
If A= 16
1 -> A
B +1 -> B
End
End
Pause
Goto 0
Lbl 3
EffEcr
Disp "CLES CONNUS :","11:8","19:4"
Pause
Goto 0
Lbl 4
Effecr
Disp " ClES ALEATOIRE :
0 -> A
0 -> R
While R = 0 ou A = 13
EntAleat (1,25 -> A
parEnt (A/2)->Q
A - 2Q -> R
End
EntAleat (0,25 -> B
Output(3,1,"A=
Output(3,8,A
Output(4,1,"B=
Output(4,8,B
Pause
Goto 0
Lbl 5
Effecr
Disp "CLES :
Input " A= ",X
Input "B= ",Y
1 -> A
For (I,0,1000000
parEnt (AI/26) -> Q
AI - 26Q -> R
If R = 1
Goto 51
End
Lbl 51
I -> X
parEnt(X/26 -> Q
X - 26Q -> X
X x (-Y) -> Y
parEnt (Y/26 -> Q
Y - 26Q -> Y
Output (5,1,"CLES DE :
Output (6,1,"A=
Output (6,8,X
Output (7,1,"B=
Output (7,8,Y
Pause
Goto 0
Lbl 6
Goto 0
Lbl 99
EffVar L1
EffVar L2
EffVar Chaine 1
EffVar Chaine 2
EffVar A
EffVar B
EffVar X
EffVar Y
Effecr
" [2 espaces]