Мой учитель математики попросил нас запрограммировать процесс шифрования / дешифрования RSA на python.Итак, я создал следующую функцию: lettre_chiffre (T), которая преобразует каждый символ в строке в число с помощью функции ord () chiffre_lettre (T), которая делает противоположное с chr (). И так как эти функции создают 4 блока чисел, янеобходимо зашифровать в RSA с 5-значным блоком для предотвращения частотного анализа.Проблема в том, что функция ord плохо работает с французскими акцентами "é" "à" ... Поэтому мне было интересно использовать метод bytearray, но я понятия не имею, как его использовать.
Как сделать так, чтобы эта программа работала с акцентами.Шифрование и дешифрование в байтах с помощью bytearray не работает, например, с «é» и «à».
python
def lettre_chiffre(T):
Message_chiffre = str('')
for lettre in T:
if ord(lettre) < 10000:
nombre = str(ord(lettre))
while len(nombre) != 4:
nombre = str('0') + nombre
Message_chiffre += nombre
else:
print("erreur lettre : ",lettre)
while len(Message_chiffre)%4 != 0:
Message_chiffre = str('0') + Message_chiffre
return str(Message_chiffre)
def chiffre_lettre(T):
Message_lettre = str('')
A =T
for i in range(int(len(str(A))/4)):
nombre = str(A)[4*i:4*i+4]
if int(nombre) < 10000:
Message_lettre += str(chr(int(nombre)))
return Message_lettre