Vote des utilisateurs
					
					
	 0
0  0
0 
						Détails
					
					Licence : Freeware
						Mise en ligne le 18 avril 2019
												
																										Plate-forme : 
								Windows							
												
													Langue : Français
						
					
							Référencé dans
						
						
										
					
						Navigation
					
					
				
						
							
							
								Crypter avec une fonction affine							
						 
					
					
								Crypter avec une fonction affine							
						Le chiffrage affine utilise une fonction affine du type y = (ax + b) pour crypter des données; a et b sont des constantes que l’on nommera ici CleA et CleB et ou x et y sont des nombres correspondant aux lettres de l’alphabet en sachant que A=0, B=1, C=2…
On remarquera que si a=1, on se retrouve avec le chiffre de César et par conséquence « b » sera le décalage.
On remarquera également que si b=0 alors « a » sera toujours chiffré « A »
Les formules de chiffrement et de déchiffrement sont :
pour crypter : C=c(x)= (ax + b) mod 26 ‘on travaille avec un modulo 26 pour que la lettre chiffré soit un nombre entre 0 et 25
pour décrypter : D=d(x)=(a^-1 * (x – b)) mod 26
											On remarquera que si a=1, on se retrouve avec le chiffre de César et par conséquence « b » sera le décalage.
On remarquera également que si b=0 alors « a » sera toujours chiffré « A »
Les formules de chiffrement et de déchiffrement sont :
pour crypter : C=c(x)= (ax + b) mod 26 ‘on travaille avec un modulo 26 pour que la lettre chiffré soit un nombre entre 0 et 25
pour décrypter : D=d(x)=(a^-1 * (x – b)) mod 26
							Nos ressources disponibles
						
						La fonction crypeaffine va chercher la position de la lettre à crypter dans l’alphabet,
applique la formule de cryptage et retourne la lettre cryptée
	
	
 
posalpha est une fonction qui retourne la position de la lettre dans l’alphabet en commençant par A=0
	
	
 
posnum est une fonction qui retourne la lettre de l’alphabet par rapport à une postion donnée
	
	
La fonction decrypeaffine va chercher la position de la lettre à décrypter dans l’alphabet,
applique la formule de décryptage et retourne la lettre décryptée
	
	
 
Cette fonction retourne l’inverse de CleA obligatoire pour pouvoir décrypter
	
	
					
											
										
					
					
							
	
				applique la formule de cryptage et retourne la lettre cryptée
| Code : | Sélectionner tout | 
| 1 2 3 4 5 6 7 8 | Fonction crypeaffine (Entrée lettre : chaine; Entrée CleA : entier; _ Entrée CleB : entier; Sortie crypteaffine : chaine) ENTIER X X :=posalph(lettre) X :=((CleA * X) + CleB ) Mod 26 crypteaffine := posnum(X) Fin fonction | 
posalpha est une fonction qui retourne la position de la lettre dans l’alphabet en commençant par A=0
| Code : | Sélectionner tout | 
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | Fonction Posalpha (Entrée lettre : chaine; Sortie Posalpha : entier) 
CHAINE alpha, tempo 
alpha := "ABCDEFGHIJKLMNOPQRSTUVWXYZ" 
  
pour i allant de 0 à longueur(alpha) 
  tempo=alpha[i] 
  si lettre = tempo alors 
      Posalpha=i 
      sort de pour 
  Fin de si 
prochain i 
  
fin fonction | 
posnum est une fonction qui retourne la lettre de l’alphabet par rapport à une postion donnée
| Code : | Sélectionner tout | 
| 1 2 3 4 5 6 7 | Fonction Posnum (Entrée position : entier; Sortie Posnum : chaine) CHAINE alpha alpha := "ABCDEFGHIJKLMNOPQRSTUVWXYZ" Posnum=alpha[position] -1 // A=0 fin fonction | 
La fonction decrypeaffine va chercher la position de la lettre à décrypter dans l’alphabet,
applique la formule de décryptage et retourne la lettre décryptée
| Code : | Sélectionner tout | 
| 1 2 3 4 5 6 7 8 9 10 11 | fonction decrypteaffine (Entrée lettre : chaine; _ Entrée CleA : entier; Entrée CleB : entier; Sortie decrypteaffine : chaine) ENTIER X InvA=InvA(CleA) X :=posalph(lettre) X :=(InvA * (x - CleB)) Mod 26 decrypteaffine := posnum(X) fin fonction | 
Cette fonction retourne l’inverse de CleA obligatoire pour pouvoir décrypter
| Code : | Sélectionner tout | 
| 1 2 3 4 5 6 7 8 | fonction InvA (Entrée CleA : entier, Sortie InvA : entier 
pour i allant de 1 à 26 
   si (CleA * i ) mod 26 = 1 alors 
      InvA=I 
   sort de pour 
   fin de si 
fin de pour 
fin fonction | 
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.
		
	
