Bonjour à tous,

J'espère que vous allez bien, moi je me casse un peu les dents sur des petit problème. Mais je suis pas assez fort pour m'en sortir en python.

Alors mon problème c'est que j'essaye de faire le cryptage RSA mais dans ma textNum() il faudrait que je convertisse ma chaine en caractère ASCII mais que le résultat soit une chaine de nombre et non un tableau comme j'ai fait.

Il faudrais aussi une fonction qui découpe une chaine par exemple: split("TOTO",2) = TO, TO

Vous voyez ?

Ensuite un problème de math, car je suis un piètre matheux.
Je dois résoudre d tel que 71*d mod 1008 = 1
mais je sais pas résoudre cela sous forme équation à 1 inconnu en Python

J'espère que vous pourrez m'aider

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
 
 
#On convertit le texte initial en texte ASCII
def textNum():
	text=raw_input("Votre texte: \n")
 
	text=map(ord,text)
 
	return text
 
#Il faut qu'on retourne la clé publique et privé 
def key():
	#On prend 2 nombres premiers au hasard p et q
	#Pour les tests on utilise p=29 q=37
 
	p=29
	q=37
	n= p*q
 
	x=(p-1)*(q-1)
 
	#Pour les tests on prend e=71 où e est normalement choisit au hasard
 
	e=71
 
	#Trouver d en résolvant l'équation e*d%x=1
	d=1079
	y=e*d%x
 
	keyPub=[e,n]
	keyPriv=[d,n]
 
	print keyPub
	print keyPriv
 
#On crypte à l'aide de la clé publique et du texte sous forme ASCII
def RSACrypt():
 
#On décrypte à l'aide de la clé privée et du texte crypté
def RSADecrypt():
 
 
 
texte = textNum()
key()

Merci de votre aide bonne journée