Cleaning up the folder

This commit is contained in:
Félix MARQUET
2022-03-21 11:04:08 +01:00
parent 8163345157
commit dbf5962630
11 changed files with 0 additions and 583 deletions

View File

@@ -1,72 +0,0 @@
#R = machin.read(1)
#if not R = \00
def pgcd(a,b):
while b!=0:
a,b=b,a%b
return a
def chiffrementAffine(a,b,L):
alphabet=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]
x=alphabet.index(L)
y=(a*x+b)%26
return alphabet[y]
def inverse(a):
x=0
while (a*x%26!=1):
x=x+1
return x
def dechiffrementAffine(a,b,L):
alphabet=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]
x=alphabet.index(L)
y=(inverse(a)*(x-b))%26
return alphabet[y]
def crypt(M,a,b):
if (pgcd(a,26)==1):
mot = []
for i in range(0,len(M)):
mot.append(chiffrementAffine(a,b,M[i]))
return "".join(mot)
else:
return "Chiffrement impossible. Veuillez choisir un nombre a premier avec 26."
def decrypt(M,a,b):
if (pgcd(a,26)==1):
mot = []
for i in range(0,len(M)):
mot.append(dechiffrementAffine(a,b,M[i]))
return "".join(mot)
else:
return "Déchiffrement impossible. Le nombre a n'est pas premier avec 26."
def readByteFile(A: str):
with open(A, "rb") as f:
with open("result.txt", "a+") as o:
byte = f.read(1)
while (byte := f.read(1)):
o.write(str(byte))
def decouper(F: str):
fd = open("result.txt", "r").readlines()
for line in fd:
line = line.sp
def cryptFichier(A: str, a,b):
X = openBytesFile(A)
fdout = open("resulttest.txt", "wb")
for i in range(len(X)):
fdout.write(X[i])
crypt(fdout, a, b)
def openBytesFile(A: str):
opened = []
fdin = open(A, "rb")
data = fdin.read(1)
while data != b'':
opened.append(data)
data = fdin.read(1)
fdin.close()
return opened
print(chiffrementAffine(1, 3, 'P'))
print(crypt("JAIMELESFRITESALAFRITEUSES", 1, 3))
print(openBytesFile("testcrypt.txt"))

Binary file not shown.

Binary file not shown.

29
info.py
View File

@@ -1,29 +0,0 @@
def brutforce(filenameIn: str, filenameOut = 'result'):
maj = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]
createFile(filenameOut)
fdin = open(filenameIn, "rb")
fdout = open(filenameOut, "wb")
data = fdin.read(1)
for keya in range(1, 256):
print(keya)
for keyb in range(1, 256):
print(keyb)
i = dechiffrementAffineByte(data, keya, keyb)
ib = str(i, "utf-8")
for ib in maj:
fdout.write(i)
def findKey(data: bytes, dataout: bytes, filenameOut = 'result'):
createFile(filenameOut)
fdout = open(filenameOut, "w")
for keya in range(1, 256):
if keya % 2 != 0:
for keyb in range(1, 256):
i = dechiffrementAffineByte(data, keya, keyb)
if i == dataout:
fdout.write("keya: ")
fdout.write(str(keya))
fdout.write(" ")
fdout.write("keyb: ")
fdout.write(str(keyb))
fdout.write("\n")

128
keyout
View File

@@ -1,128 +0,0 @@
keya: 1 keyb: 138
keya: 3 keyb: 74
keya: 5 keyb: 10
keya: 7 keyb: 202
keya: 9 keyb: 138
keya: 11 keyb: 74
keya: 13 keyb: 10
keya: 15 keyb: 202
keya: 17 keyb: 138
keya: 19 keyb: 74
keya: 21 keyb: 10
keya: 23 keyb: 202
keya: 25 keyb: 138
keya: 27 keyb: 74
keya: 29 keyb: 10
keya: 31 keyb: 202
keya: 33 keyb: 138
keya: 35 keyb: 74
keya: 37 keyb: 10
keya: 39 keyb: 202
keya: 41 keyb: 138
keya: 43 keyb: 74
keya: 45 keyb: 10
keya: 47 keyb: 202
keya: 49 keyb: 138
keya: 51 keyb: 74
keya: 53 keyb: 10
keya: 55 keyb: 202
keya: 57 keyb: 138
keya: 59 keyb: 74
keya: 61 keyb: 10
keya: 63 keyb: 202
keya: 65 keyb: 138
keya: 67 keyb: 74
keya: 69 keyb: 10
keya: 71 keyb: 202
keya: 73 keyb: 138
keya: 75 keyb: 74
keya: 77 keyb: 10
keya: 79 keyb: 202
keya: 81 keyb: 138
keya: 83 keyb: 74
keya: 85 keyb: 10
keya: 87 keyb: 202
keya: 89 keyb: 138
keya: 91 keyb: 74
keya: 93 keyb: 10
keya: 95 keyb: 202
keya: 97 keyb: 138
keya: 99 keyb: 74
keya: 101 keyb: 10
keya: 103 keyb: 202
keya: 105 keyb: 138
keya: 107 keyb: 74
keya: 109 keyb: 10
keya: 111 keyb: 202
keya: 113 keyb: 138
keya: 115 keyb: 74
keya: 117 keyb: 10
keya: 119 keyb: 202
keya: 121 keyb: 138
keya: 123 keyb: 74
keya: 125 keyb: 10
keya: 127 keyb: 202
keya: 129 keyb: 138
keya: 131 keyb: 74
keya: 133 keyb: 10
keya: 135 keyb: 202
keya: 137 keyb: 138
keya: 139 keyb: 74
keya: 141 keyb: 10
keya: 143 keyb: 202
keya: 145 keyb: 138
keya: 147 keyb: 74
keya: 149 keyb: 10
keya: 151 keyb: 202
keya: 153 keyb: 138
keya: 155 keyb: 74
keya: 157 keyb: 10
keya: 159 keyb: 202
keya: 161 keyb: 138
keya: 163 keyb: 74
keya: 165 keyb: 10
keya: 167 keyb: 202
keya: 169 keyb: 138
keya: 171 keyb: 74
keya: 173 keyb: 10
keya: 175 keyb: 202
keya: 177 keyb: 138
keya: 179 keyb: 74
keya: 181 keyb: 10
keya: 183 keyb: 202
keya: 185 keyb: 138
keya: 187 keyb: 74
keya: 189 keyb: 10
keya: 191 keyb: 202
keya: 193 keyb: 138
keya: 195 keyb: 74
keya: 197 keyb: 10
keya: 199 keyb: 202
keya: 201 keyb: 138
keya: 203 keyb: 74
keya: 205 keyb: 10
keya: 207 keyb: 202
keya: 209 keyb: 138
keya: 211 keyb: 74
keya: 213 keyb: 10
keya: 215 keyb: 202
keya: 217 keyb: 138
keya: 219 keyb: 74
keya: 221 keyb: 10
keya: 223 keyb: 202
keya: 225 keyb: 138
keya: 227 keyb: 74
keya: 229 keyb: 10
keya: 231 keyb: 202
keya: 233 keyb: 138
keya: 235 keyb: 74
keya: 237 keyb: 10
keya: 239 keyb: 202
keya: 241 keyb: 138
keya: 243 keyb: 74
keya: 245 keyb: 10
keya: 247 keyb: 202
keya: 249 keyb: 138
keya: 251 keyb: 74
keya: 253 keyb: 10
keya: 255 keyb: 202

127
keyoute
View File

@@ -1,127 +0,0 @@
keya: 1 keyb: 204
keya: 3 keyb: 2
keya: 5 keyb: 56
keya: 7 keyb: 110
keya: 9 keyb: 164
keya: 11 keyb: 218
keya: 13 keyb: 16
keya: 15 keyb: 70
keya: 17 keyb: 124
keya: 19 keyb: 178
keya: 21 keyb: 232
keya: 23 keyb: 30
keya: 25 keyb: 84
keya: 27 keyb: 138
keya: 29 keyb: 192
keya: 31 keyb: 246
keya: 33 keyb: 44
keya: 35 keyb: 98
keya: 37 keyb: 152
keya: 39 keyb: 206
keya: 41 keyb: 4
keya: 43 keyb: 58
keya: 45 keyb: 112
keya: 47 keyb: 166
keya: 49 keyb: 220
keya: 51 keyb: 18
keya: 53 keyb: 72
keya: 55 keyb: 126
keya: 57 keyb: 180
keya: 59 keyb: 234
keya: 61 keyb: 32
keya: 63 keyb: 86
keya: 65 keyb: 140
keya: 67 keyb: 194
keya: 69 keyb: 248
keya: 71 keyb: 46
keya: 73 keyb: 100
keya: 75 keyb: 154
keya: 77 keyb: 208
keya: 79 keyb: 6
keya: 81 keyb: 60
keya: 83 keyb: 114
keya: 85 keyb: 168
keya: 87 keyb: 222
keya: 89 keyb: 20
keya: 91 keyb: 74
keya: 93 keyb: 128
keya: 95 keyb: 182
keya: 97 keyb: 236
keya: 99 keyb: 34
keya: 101 keyb: 88
keya: 103 keyb: 142
keya: 105 keyb: 196
keya: 107 keyb: 250
keya: 109 keyb: 48
keya: 111 keyb: 102
keya: 113 keyb: 156
keya: 115 keyb: 210
keya: 117 keyb: 8
keya: 119 keyb: 62
keya: 121 keyb: 116
keya: 123 keyb: 170
keya: 125 keyb: 224
keya: 127 keyb: 22
keya: 129 keyb: 76
keya: 131 keyb: 130
keya: 133 keyb: 184
keya: 135 keyb: 238
keya: 137 keyb: 36
keya: 139 keyb: 90
keya: 141 keyb: 144
keya: 143 keyb: 198
keya: 145 keyb: 252
keya: 147 keyb: 50
keya: 149 keyb: 104
keya: 151 keyb: 158
keya: 153 keyb: 212
keya: 155 keyb: 10
keya: 157 keyb: 64
keya: 159 keyb: 118
keya: 161 keyb: 172
keya: 163 keyb: 226
keya: 165 keyb: 24
keya: 167 keyb: 78
keya: 169 keyb: 132
keya: 171 keyb: 186
keya: 173 keyb: 240
keya: 175 keyb: 38
keya: 177 keyb: 92
keya: 179 keyb: 146
keya: 181 keyb: 200
keya: 183 keyb: 254
keya: 185 keyb: 52
keya: 187 keyb: 106
keya: 189 keyb: 160
keya: 191 keyb: 214
keya: 193 keyb: 12
keya: 195 keyb: 66
keya: 197 keyb: 120
keya: 199 keyb: 174
keya: 201 keyb: 228
keya: 203 keyb: 26
keya: 205 keyb: 80
keya: 207 keyb: 134
keya: 209 keyb: 188
keya: 211 keyb: 242
keya: 213 keyb: 40
keya: 215 keyb: 94
keya: 217 keyb: 148
keya: 219 keyb: 202
keya: 223 keyb: 54
keya: 225 keyb: 108
keya: 227 keyb: 162
keya: 229 keyb: 216
keya: 231 keyb: 14
keya: 233 keyb: 68
keya: 235 keyb: 122
keya: 237 keyb: 176
keya: 239 keyb: 230
keya: 241 keyb: 28
keya: 243 keyb: 82
keya: 245 keyb: 136
keya: 247 keyb: 190
keya: 249 keyb: 244
keya: 251 keyb: 42
keya: 253 keyb: 96
keya: 255 keyb: 150

View File

@@ -1,128 +0,0 @@
keya: 1 keyb: 138
keya: 3 keyb: 74
keya: 5 keyb: 10
keya: 7 keyb: 202
keya: 9 keyb: 138
keya: 11 keyb: 74
keya: 13 keyb: 10
keya: 15 keyb: 202
keya: 17 keyb: 138
keya: 19 keyb: 74
keya: 21 keyb: 10
keya: 23 keyb: 202
keya: 25 keyb: 138
keya: 27 keyb: 74
keya: 29 keyb: 10
keya: 31 keyb: 202
keya: 33 keyb: 138
keya: 35 keyb: 74
keya: 37 keyb: 10
keya: 39 keyb: 202
keya: 41 keyb: 138
keya: 43 keyb: 74
keya: 45 keyb: 10
keya: 47 keyb: 202
keya: 49 keyb: 138
keya: 51 keyb: 74
keya: 53 keyb: 10
keya: 55 keyb: 202
keya: 57 keyb: 138
keya: 59 keyb: 74
keya: 61 keyb: 10
keya: 63 keyb: 202
keya: 65 keyb: 138
keya: 67 keyb: 74
keya: 69 keyb: 10
keya: 71 keyb: 202
keya: 73 keyb: 138
keya: 75 keyb: 74
keya: 77 keyb: 10
keya: 79 keyb: 202
keya: 81 keyb: 138
keya: 83 keyb: 74
keya: 85 keyb: 10
keya: 87 keyb: 202
keya: 89 keyb: 138
keya: 91 keyb: 74
keya: 93 keyb: 10
keya: 95 keyb: 202
keya: 97 keyb: 138
keya: 99 keyb: 74
keya: 101 keyb: 10
keya: 103 keyb: 202
keya: 105 keyb: 138
keya: 107 keyb: 74
keya: 109 keyb: 10
keya: 111 keyb: 202
keya: 113 keyb: 138
keya: 115 keyb: 74
keya: 117 keyb: 10
keya: 119 keyb: 202
keya: 121 keyb: 138
keya: 123 keyb: 74
keya: 125 keyb: 10
keya: 127 keyb: 202
keya: 129 keyb: 138
keya: 131 keyb: 74
keya: 133 keyb: 10
keya: 135 keyb: 202
keya: 137 keyb: 138
keya: 139 keyb: 74
keya: 141 keyb: 10
keya: 143 keyb: 202
keya: 145 keyb: 138
keya: 147 keyb: 74
keya: 149 keyb: 10
keya: 151 keyb: 202
keya: 153 keyb: 138
keya: 155 keyb: 74
keya: 157 keyb: 10
keya: 159 keyb: 202
keya: 161 keyb: 138
keya: 163 keyb: 74
keya: 165 keyb: 10
keya: 167 keyb: 202
keya: 169 keyb: 138
keya: 171 keyb: 74
keya: 173 keyb: 10
keya: 175 keyb: 202
keya: 177 keyb: 138
keya: 179 keyb: 74
keya: 181 keyb: 10
keya: 183 keyb: 202
keya: 185 keyb: 138
keya: 187 keyb: 74
keya: 189 keyb: 10
keya: 191 keyb: 202
keya: 193 keyb: 138
keya: 195 keyb: 74
keya: 197 keyb: 10
keya: 199 keyb: 202
keya: 201 keyb: 138
keya: 203 keyb: 74
keya: 205 keyb: 10
keya: 207 keyb: 202
keya: 209 keyb: 138
keya: 211 keyb: 74
keya: 213 keyb: 10
keya: 215 keyb: 202
keya: 217 keyb: 138
keya: 219 keyb: 74
keya: 221 keyb: 10
keya: 223 keyb: 202
keya: 225 keyb: 138
keya: 227 keyb: 74
keya: 229 keyb: 10
keya: 231 keyb: 202
keya: 233 keyb: 138
keya: 235 keyb: 74
keya: 237 keyb: 10
keya: 239 keyb: 202
keya: 241 keyb: 138
keya: 243 keyb: 74
keya: 245 keyb: 10
keya: 247 keyb: 202
keya: 249 keyb: 138
keya: 251 keyb: 74
keya: 253 keyb: 10
keya: 255 keyb: 202

Binary file not shown.

Before

Width:  |  Height:  |  Size: 177 KiB

View File

@@ -1,98 +0,0 @@
""" Programme d'analyse des fréquences de mots dans un
fichier de texte.
Le programme affiche les mots par ordre décroissant
de fréquence en indiquant pour chacun son nombre d'occurrences
dans le fichier.
Uilisation :
python mots-freq.py nomFichier
où nomFichier est le nom du fichier à analyser
"""
from __future__ import annotations
import sys
def getWords(text : str
) -> list[str]:
""" Découpe text en mots et renvoie la liste des mots.
"""
i = 0
word = ''
words = []
while i < len(text):
# words contient la liste des mots complets trouvés avant l'indice i de text.
# word contient le mot en cours de lecture avant l'indice i de text.
if text[i].isalpha():
word = word + text[i]
elif word != '':
words.append(word)
word = ''
i = i + 1
if word != '':
words.append(word)
word = ''
return words
def updateDict(wordDict : dict[str, int],
words : list[str]
) -> None:
""" wordDict est un dictionnaire tel que
* une clé est un mot
* la valeur associée est la fréquence de ce mot.
Met à jour wordDict avec la liste de mots words.
"""
for word in words:
if word in wordDict:
freq = wordDict[word] + 1
else:
freq = 1
wordDict[word] = freq
def getWordsList(wordsFreq : dict[str, int]
) -> list[tuple[str, list]]:
""" Renvoie la liste de couples (mot, freq) de wordsFreq.
Les couples sont triés par ordre décroissant de freq.
"""
wordsList = [(word, wordsFreq[word]) for word in wordsFreq]
# Tri la liste wordsList par ordre décroissant de freq.
# Adaptation de l'algorithme du tri par insertion.
k = 1
while k < len(wordsList):
i = k
while i > 0 and wordsList[i - 1][1] < wordsList[i][1]:
wordsList[i - 1], wordsList[i] = wordsList[i], wordsList[i - 1]
i = i - 1
k = k + 1
return wordsList
def printWords(wordsList : list[tuple[str, list]]
) -> None:
""" Écrit la liste de mots sur la sortie standard.
"""
for word, freq in wordsList:
print(word, ' : ', freq)
print('Nombre de mots : ', len(wordsList))
# PROGRAMME PRINCIPAL
filename = sys.argv[1]
fd = open(filename, 'r')
wordsFreq = dict()
for line in fd:
words = getWords(line)
updateDict(wordsFreq, words)
fd.close()
wordsList = getWordsList(wordsFreq)
printWords(wordsList)

View File

@@ -1 +0,0 @@
1