Inscription / Connexion Nouveau Sujet
Niveau BTS
Partager :

algorithme/programme pascal pour Chiffrement

Posté par
datasciecectt
22-02-22 à 19:18

On veut attribuer des codes personnels pour y accédez a un coffre-fort pour chaque client, ce code doit être chiffre pour éviter toute utilisation frauduleuse. La méthode qu'on va utiliser s'inspire du << chiffrement de Vigenère>>mais elle a été simplifiée au maximum. Ce travail étant spécifique. Les codes sont formés de 4 nombres, composés de chiffres differents de zero. La méthode est décrite ci-dessous à travers un exemple.

Si le code est: 2885 7624 3189 2227
Données de départ:
A= 2885
B= 7624
C= 3189
D= 2227
A ces 4 nombres on donne une clé random par exemple 3624 qui est un nombre aléatoire composé de chiffres différents les uns des autres de même taille que les nombres de depart.

L a méthode chiffrement:

On ordonne les chiffres de la clé ce qui donne 2346
En observant ces 2 derniers nombres clé ordonnée et clé de départ(3624) on remarque que:
Le 1 chiffre de la clé ordonnée se trouve dans la 3 position (2346) de la clé de depart.
Le 2 chiffre de la clé ordonnée se trouve dans la 1 position de la clé de depart.
Le 3 chiffre de la clé ordonnée se trouve dans la 4 position de la clé de depart.
Le 4 chiffre de la clé ordonnée se trouve dans la 2 position de la clé de depart.
On va appliquer la même chose aux 4 nombre de depart pour obtenir
X1= 8528
X2= 6472
X3= 1938
X4= 2722
Le code chiffré sera composé de 4 nombres suivants:

C1= 8612
C2= 5497
C3= 2732
C4= 8282
On enverra donc sur nos documents: 8612 5497 2732 8282
La méthode du déchiffrement on fera la méthode inverse.

Question: comment faire un programme pascal qui va nous permettre de chiffrer et de déchiffrer ls codes des coffres forts individuelle de la banque n'oublaint pas que pour chaque code donné ( en depart) il faut le séparer en 4 nombre et l'associé avec une clé.

Ce que g essayé:
En gros g découpé le programme en plusieurs module le premier module est spécialisé pour la clé: en premier temps on prend un nombre aléatoire après avoir verifier la taille des 4 nombres puis on vérifie c'est tout les chiffre de ce nombre sont different puis avec un module qui va ordonné la clé d'un ordre croissant mais après ça je suis tout a fait perdue...je ne sais plus ou il faut commencer ....




Merci d'avance.

Posté par
carpediem
re : algorithme/programme pascal pour Chiffrement 22-02-22 à 19:33

salut

si on apppelle chiffre() la méthode appliquée à clé pour obtenir clé_ ord

alors

A = 2885
A_ord = 2588
chiffre (A) = 8528 = X1

et idem pour B, C et D

donc oui il faut :

a/ une fonction (ou module) créant et vérifiant la validité de la clé
b/ une fonction ordonnant chaque nombre dans l'ordre croissant
c/ une fonction chiffre() rangeant chaque nombre (A, ..., D) comme pour passer de clé à clé_ord
d/ une fonction permettant de passer de X1, ..., X4 à C1, ..., C4

Posté par
datasciecectt
re : algorithme/programme pascal pour Chiffrement 22-02-22 à 19:43

carpediem @ 22-02-2022 à 19:33

salut

si on apppelle chiffre() la méthode appliquée à clé pour obtenir clé_ ord

alors

A = 2885
A_ord = 2588
chiffre (A) = 8528 = X1

et idem pour B, C et D

donc oui il faut :

a/ une fonction (ou module) créant et vérifiant la validité de la clé
b/ une fonction ordonnant chaque nombre dans l'ordre croissant
c/ une fonction chiffre() rangeant chaque nombre (A, ..., D) comme pour passer de clé à clé_ord
d/ une fonction permettant de passer de X1, ..., X4 à C1, ..., C4



Merci infiniment

Posté par
carpediem
re : algorithme/programme pascal pour Chiffrement 22-02-22 à 20:14

de rien

PS : inutile de citer mon msg !!

Posté par
datasciecectt
re : algorithme/programme pascal pour Chiffrement 22-02-22 à 22:37

carpediem enfaite j'ai essayé votre méthode je n'ai eu aucun problème apart concernant le module chiffre() je ne sais vraiment comment ça va marcher?

Merci d'avance.

Posté par
carpediem
re : algorithme/programme pascal pour Chiffrement 22-02-22 à 22:53

le module chiffre() est tout simplement

Citation :
L a méthode chiffrement:

On ordonne les chiffres de la clé ce qui donne 2346
En observant ces 2 derniers nombres clé ordonnée et clé de départ(3624) on remarque que:
Le 1 chiffre de la clé ordonnée se trouve dans la 3 position (2346) de la clé de depart.
Le 2 chiffre de la clé ordonnée se trouve dans la 1 position de la clé de depart.
Le 3 chiffre de la clé ordonnée se trouve dans la 4 position de la clé de depart.
Le 4 chiffre de la clé ordonnée se trouve dans la 2 position de la clé de depart.
pour obtenir
Citation :
On va appliquer la même chose aux 4 nombre de depart pour obtenir
X1= 8528
X2= 6472
X3= 1938
X4= 2722

Posté par
datasciecectt
re : algorithme/programme pascal pour Chiffrement 24-02-22 à 13:42

carpediem Je m'excuse encore une fois mais comment va-t-on l'appliquer? comme un mask? puisque je ne pense pas qu'il y une fonction comme celle la sur Pascal?

Posté par
carpediem
re : algorithme/programme pascal pour Chiffrement 24-02-22 à 13:56

ce n'est pas un mask c'est simplement une fonction ...

carpediem @ 22-02-2022 à 19:33

...
donc oui il faut :

a/ une fonction (ou module) créant et vérifiant la validité de la clé
b/ une fonction ordonnant chaque nombre dans l'ordre croissant
c/ une fonction chiffre() rangeant chaque nombre (A, ..., D) comme pour passer de clé à clé_ord
d/ une fonction permettant de passer de X1, ..., X4 à C1, ..., C4

la fonction c/ utilise la fonction b/ qui est élémentaire ...



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !