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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
#---importations des modules---#
from math import *
from random import randrange
#---Définition du XOR---#
def xor(a,b):
return( a and not(b)) or (not(a) and b)
#---Définition du GRANDXOR---#
def GRANDXOR(Binaire,Binairedelacle):
for loop in range(7):
z = xor(Binairedelacle[loop], Binaire[loop])
Binaire[loop] = z
return Binaire
#---Champ de texte---#
Texteacrypter = input()
clebinaire = input()
#---Liste des lettres à crypter---#
liste = list(Texteacrypter)
tailledelaliste = len(liste)
ASCII=[]
Binaire=[]
ASCIIdelacle=[]
Binairedelacle=[]
Messageacrypter=[]
Codebinaire=[]
#---1ère étape : codage en code ASCII---#
for car in Texteacrypter:
e=ord(car)
ASCII.append(e)
for car in clebinaire:
f=ord(car)
ASCIIdelacle.append(f)
print('ASCII : ', ASCII)
print('ASCII de la clé :', ASCIIdelacle)
#---2nde étape : codage en binaire---#
for car in ASCII:
c=bin(car)
Binaire.append(c)
for car in ASCIIdelacle:
d=bin(car)
Binairedelacle.append(d)
print('Binaire :', Binaire)
print('Binaire de la cle', Binairedelacle)
#---Lirelaliste---#
for compteur in range((len(Binaire))):
Codebinaire=[]
Codebinaire=[compteur%(len(Binairedelacle))]
print(Codebinaire)
#---Utilisation du GRANDXOR---#
Xordumessage = GRANDXOR(Binaire,Binairedelacle)
print(Xordumessage) |
Partager