Add DocString

This commit is contained in:
Félix MARQUET
2022-03-21 10:55:46 +01:00
parent 0b8f78d3bd
commit 8163345157
4 changed files with 33629 additions and 33627 deletions

Binary file not shown.

View File

@@ -28,14 +28,14 @@ def chiffrementAffineByte(data: bytes, keya: int, keyb: int) -> bytes:
alphabet = []
for i in range(256):
alphabet.append(i)
x=alphabet.index(int.from_bytes(data, "little"))
y=(keya*x+keyb)%256
x = alphabet.index(int.from_bytes(data, "little"))
y = (keya*x+keyb)%256
return bytes([alphabet[y]])
def inverse(a):
""" Renvoie l'inverse du module de a et x par 256
"""
x=0
x = 0
while (a*x%256 != 1):
x += 1
return x
@@ -46,8 +46,8 @@ def dechiffrementAffineByte(data: bytes, keya: int, keyb: int) -> bytes:
alphabet = []
for i in range(256):
alphabet.append(i)
x=alphabet.index(int.from_bytes(data, "little"))
y=(inverse(keya)*(x-keyb))%256
x = alphabet.index(int.from_bytes(data, "little"))
y = (inverse(keya)*(x-keyb))%256
return bytes([alphabet[y]])
@@ -104,6 +104,8 @@ def sortbyteFreq(byteFreq : dict) -> list:
def findKeywrite(data: bytes, dataout: bytes, filenameOut = 'result'):
"""Ecrit dans filenameOut les couples de clé possible pour que data soit égale à dataout.
"""
createFile(filenameOut)
fdout = open(filenameOut, "w")
for keya in range(1, 256):
@@ -119,6 +121,8 @@ def findKeywrite(data: bytes, dataout: bytes, filenameOut = 'result'):
fdout.write("\n")
def findKeyList(data: bytes, dataout: bytes):
"""Renvoie la liste des couples de clé possible pour que data soit égale à dataout.
"""
L = []
for keya in range(1, 256):
if keya % 2 != 0:
@@ -130,31 +134,9 @@ def findKeyList(data: bytes, dataout: bytes):
return L
def comparKey(L: list, M: list) -> tuple:
"""Compare les couples de clé valeur et renvoie le couple commun aux 2 listes M et L.
"""
for i in range(len(L)):
for y in range(len(M)):
if L[i] == M[y]:
return L[i]
#Jeu de test
#print(sortbyteFreq(byteFreq("data")))
#findKeywrite(b'\xaa', b'\x20', "keyoutspace")
#findKeywrite(b'\x31', b'\x65', "keyoute")
#print(findKeyList(b'\xaa', b'\x20'))
print(comparKey(findKeyList(b'\xaa', b'\x20'), findKeyList(b'\x31', b'\x65')))
#cryptByteFile('tescrypt.txt', 1, 3, "resulttest2")
#cryptByteFile('data', 1, 3, 'resultcryptdata')
#cryptByteFile('monkey.jpg', 1, 3)
#decryptByteFile('resulttest2', 1, 3, "decryptresult2")
#decryptByteFile('resultcryptdata', 1, 3, 'resultdecryptdata')
decryptByteFile('data', 91, 74, "decrptdatatest")
#cryptByteFile('enemy-from-the-series-arcane-league-of-legends.mp3', 45, 76, 'enemyCrypted')
#decryptByteFile('enemyCrypted', 45, 76, 'enemyDeCyted.mp3')
#nmb d'octet de e et code (b'x65')
#nmb d'octet de espace et code (b'x20')
#nmb d'octet de . et code (b'x2e')
# \x20 -> \xaa

20
jeudetest.py Normal file
View File

@@ -0,0 +1,20 @@
from chiffrement_affine import *
print(sortbyteFreq(byteFreq("data")))
#findKeywrite(b'\xaa', b'\x20', "keyoutspace")
#findKeywrite(b'\x31', b'\x65', "keyoute")
#print(findKeyList(b'\xaa', b'\x20'))
print(comparKey(findKeyList(b'\xaa', b'\x20'), findKeyList(b'\x31', b'\x65')))
#cryptByteFile('tescrypt.txt', 1, 3, "resulttest2")
#cryptByteFile('data', 1, 3, 'resultcryptdata')
#cryptByteFile('monkey.jpg', 1, 3)
#decryptByteFile('resulttest2', 1, 3, "decryptresult2")
#decryptByteFile('resultcryptdata', 1, 3, 'resultdecryptdata')
decryptByteFile('data',
comparKey(findKeyList(b'\xaa', b'\x20'), findKeyList(b'\x31', b'\x65'))[0],
comparKey(findKeyList(b'\xaa', b'\x20'), findKeyList(b'\x31', b'\x65'))[1],
"dataDecrypted")
#cryptByteFile('enemy-from-the-series-arcane-league-of-legends.mp3', 45, 76, 'enemyCrypted')
#decryptByteFile('enemyCrypted', 45, 76, 'enemyDeCyted.mp3')