upd
This commit is contained in:
parent
16fa7489f9
commit
5bd0e8dc33
2
.gitignore
vendored
2
.gitignore
vendored
@ -3,3 +3,5 @@ __pycache__/**
|
|||||||
**.txt.**
|
**.txt.**
|
||||||
!poem.txt.**
|
!poem.txt.**
|
||||||
!poem.txt
|
!poem.txt
|
||||||
|
!celle_qui_est_voilee.txt
|
||||||
|
!stats/**.txt
|
||||||
|
|||||||
BIN
src/analysis/__pycache__/functions.cpython-310.pyc
Normal file
BIN
src/analysis/__pycache__/functions.cpython-310.pyc
Normal file
Binary file not shown.
@ -41,10 +41,21 @@ def ic(filename):
|
|||||||
y.append(chr(ord('a') + alphabet))
|
y.append(chr(ord('a') + alphabet))
|
||||||
plt.bar(y, allIC, largeur)
|
plt.bar(y, allIC, largeur)
|
||||||
# plt.show()
|
# plt.show()
|
||||||
|
return ic
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
ic("test.txt")
|
ic1 = ic("stats/le_bateau_ivre.txt")
|
||||||
ic("foo.txt")
|
ic2 = ic("stats/celle_qui_est_voilee.txt")
|
||||||
ic("poem.txt")
|
ic3 = ic("stats/poem.txt")
|
||||||
ic("poem.txt.crypt")
|
ic4 = ic("stats/a_une_madone.txt")
|
||||||
|
ic5 = ic("stats/homme_et_la_mer.txt")
|
||||||
|
ic6 = ic("stats/cyrano_bergerac.txt")
|
||||||
|
|
||||||
|
# Average
|
||||||
|
icavr = (ic1 + ic2 + ic3 + ic4 + ic5 + ic6) / 6
|
||||||
|
print(f"Average of these ICs: {icavr}")
|
||||||
|
|
||||||
|
# Do the same with the Caesar cipher
|
||||||
|
ic1 = ic("stats/poem.txt.crypt")
|
||||||
|
|
||||||
|
print(ic1)
|
||||||
|
|||||||
@ -26,7 +26,8 @@ def is_ascii_file(filename) -> bool:
|
|||||||
#content = f.readlines()
|
#content = f.readlines()
|
||||||
line = f.readline()
|
line = f.readline()
|
||||||
try:
|
try:
|
||||||
line.decode('ascii')
|
# line.decode('ascii')
|
||||||
|
line.decode('utf-8')
|
||||||
except UnicodeDecodeError:
|
except UnicodeDecodeError:
|
||||||
res = False
|
res = False
|
||||||
else:
|
else:
|
||||||
@ -34,6 +35,15 @@ def is_ascii_file(filename) -> bool:
|
|||||||
|
|
||||||
return res
|
return res
|
||||||
|
|
||||||
|
def ascii_file(filename):
|
||||||
|
"""
|
||||||
|
In this function, we are analyse the file with IC, Bigram and Trigram
|
||||||
|
Based on the IC result, we are trying to brute force the Caesar Cipher or Vigenere
|
||||||
|
|
||||||
|
If the result of the IC is lower than 0.007, it's an average
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
def cryptanalysis():
|
def cryptanalysis():
|
||||||
args = checkArguments()
|
args = checkArguments()
|
||||||
|
|
||||||
@ -42,19 +52,31 @@ def cryptanalysis():
|
|||||||
exit(-1)
|
exit(-1)
|
||||||
|
|
||||||
sig = get_signature(args.filename)
|
sig = get_signature(args.filename)
|
||||||
|
# print(sig)
|
||||||
|
|
||||||
|
|
||||||
if(is_ascii_file(args.filename)):
|
if(is_ascii_file(args.filename)):
|
||||||
print("It may be an ascii-endocoded file")
|
print("It may be an ascii-endocoded file")
|
||||||
|
ascii_file(args.filename)
|
||||||
else:
|
else:
|
||||||
print("it may be not an ascii-encoded file")
|
print("it may be not an ascii-encoded file")
|
||||||
|
|
||||||
|
"""
|
||||||
|
If the text is a ASCII text, we are going to analyse the file
|
||||||
|
Try to identify the kind of cipher, such as Caesar, Vigenere, Polybius
|
||||||
|
|
||||||
|
With the IC, we can identify if the text used a substitution cipher or not
|
||||||
|
https://www.southampton.ac.uk/~wright/1001/index-of-coincidence.html
|
||||||
|
"""
|
||||||
|
|
||||||
# We are trying to identify the kind of cipher
|
# We are trying to identify the kind of cipher
|
||||||
|
|
||||||
# Analysis with IC, trigram and Bigram
|
# Analysis with IC, trigram and Bigram
|
||||||
|
|
||||||
# Brute force it
|
# Brute force it
|
||||||
|
|
||||||
|
# Try to identify if the message is french or english
|
||||||
|
|
||||||
# Analysis with IC, trigram and Bigram
|
# Analysis with IC, trigram and Bigram
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
146
src/stats/celle_qui_est_voilee.txt
Normal file
146
src/stats/celle_qui_est_voilee.txt
Normal file
@ -0,0 +1,146 @@
|
|||||||
|
Tu me parles du fond d’un rêve
|
||||||
|
Comme une âme parle aux vivants.
|
||||||
|
Comme l’écume de la grève,
|
||||||
|
Ta robe flotte dans les vents.
|
||||||
|
|
||||||
|
Je suis l’algue des flots sans nombre,
|
||||||
|
Le captif du destin vainqueur ;
|
||||||
|
Je suis celui que toute l’ombre
|
||||||
|
Couvre sans éteindre son coeur.
|
||||||
|
|
||||||
|
Mon esprit ressemble à cette île,
|
||||||
|
Et mon sort à cet océan ;
|
||||||
|
Et je suis l’habitant tranquille
|
||||||
|
De la foudre et de l’ouragan.
|
||||||
|
|
||||||
|
Je suis le proscrit qui se voile,
|
||||||
|
Qui songe, et chante, loin du bruit,
|
||||||
|
Avec la chouette et l’étoile,
|
||||||
|
La sombre chanson de la nuit.
|
||||||
|
|
||||||
|
Toi, n’es-tu pas, comme moi-même,
|
||||||
|
Flambeau dans ce monde âpre et vil,
|
||||||
|
Ame, c’est-à-dire problème,
|
||||||
|
Et femme, c’est-à-dire exil ?
|
||||||
|
|
||||||
|
Sors du nuage, ombre charmante.
|
||||||
|
O fantôme, laisse-toi voir !
|
||||||
|
Sois un phare dans ma tourmente,
|
||||||
|
Sois un regard dans mon ciel noir !
|
||||||
|
|
||||||
|
Cherche-moi parmi les mouettes !
|
||||||
|
Dresse un rayon sur mon récif,
|
||||||
|
Et, dans mes profondeurs muettes,
|
||||||
|
La blancheur de l’ange pensif !
|
||||||
|
|
||||||
|
Sois l’aile qui passe et se mêle
|
||||||
|
Aux grandes vagues en courroux.
|
||||||
|
Oh, viens ! tu dois être bien belle,
|
||||||
|
Car ton chant lointain est bien doux ;
|
||||||
|
|
||||||
|
Car la nuit engendre l’aurore ;
|
||||||
|
C’est peut-être une loi des cieux
|
||||||
|
Que mon noir destin fasse éclore
|
||||||
|
Ton sourire mystérieux !
|
||||||
|
|
||||||
|
Dans ce ténébreux monde où j’erre,
|
||||||
|
Nous devons nous apercevoir,
|
||||||
|
Toi, toute faite de lumière,
|
||||||
|
Moi, tout composé de devoir !
|
||||||
|
|
||||||
|
Tu me dis de loin que tu m’aimes,
|
||||||
|
Et que, la nuit, à l’horizon,
|
||||||
|
Tu viens voir sur les grèves blêmes
|
||||||
|
Le spectre blanc de ma maison.
|
||||||
|
|
||||||
|
Là, méditant sous le grand dôme,
|
||||||
|
Près du flot sans trêve agité,
|
||||||
|
Surprise de trouver l’atome
|
||||||
|
Ressemblant à l’immensité,
|
||||||
|
|
||||||
|
Tu compares, sans me connaître,
|
||||||
|
L’onde à l’homme, l’ombre au banni,
|
||||||
|
Ma lampe étoilant ma fenêtre
|
||||||
|
A l’astre étoilant l’infini !
|
||||||
|
|
||||||
|
Parfois, comme au fond d’une tombe,
|
||||||
|
Je te sens sur mon front fatal,
|
||||||
|
Bouche de l’Inconnu d’où tombe
|
||||||
|
Le pur baiser de l’Idéal.
|
||||||
|
|
||||||
|
A ton souffle, vers Dieu poussées,
|
||||||
|
Je sens en moi, douce frayeur,
|
||||||
|
Frissonner toutes mes pensées,
|
||||||
|
Feuilles de l’arbre intérieur.
|
||||||
|
|
||||||
|
Mais tu ne veux pas qu’on te voie ;
|
||||||
|
Tu viens et tu fuis tour à tour ;
|
||||||
|
Tu ne veux pas te nommer joie,
|
||||||
|
Ayant dit : Je m’appelle amour.
|
||||||
|
|
||||||
|
Oh ! fais un pas de plus ! Viens, entre,
|
||||||
|
Si nul devoir ne le défend ;
|
||||||
|
Viens voir mon âme dans son antre,
|
||||||
|
L’esprit lion, le coeur enfant ;
|
||||||
|
|
||||||
|
Viens voir le désert où j’habite
|
||||||
|
Seul sous mon plafond effrayant ;
|
||||||
|
Sois l’ange chez le cénobite,
|
||||||
|
Sois la clarté chez le voyant.
|
||||||
|
|
||||||
|
Change en perles dans mes décombres
|
||||||
|
Toutes mes gouttes de sueur !
|
||||||
|
Viens poser sur mes oeuvres sombres
|
||||||
|
Ton doigt d’où sort une lueur !
|
||||||
|
|
||||||
|
Du bord des sinistres ravines
|
||||||
|
Du rêve et de la vision,
|
||||||
|
J’entrevois les choses divines… –
|
||||||
|
Complète l’apparition !
|
||||||
|
|
||||||
|
Viens voir le songeur qui s’enflamme
|
||||||
|
A mesure qu’il se détruit,
|
||||||
|
Et, de jour en jour, dans son âme
|
||||||
|
A plus de mort et moins de nuit !
|
||||||
|
|
||||||
|
Viens ! viens dans ma brume hagarde,
|
||||||
|
Où naît la foi, d’où l’esprit sort,
|
||||||
|
Où confusément je regarde
|
||||||
|
Les formes obscures du sort.
|
||||||
|
|
||||||
|
Tout s’éclaire aux lueurs funèbres ;
|
||||||
|
Dieu, pour le penseur attristé,
|
||||||
|
Ouvre toujours dans les ténèbres
|
||||||
|
De brusques gouffres de clarté.
|
||||||
|
|
||||||
|
Avant d’être sur cette terre,
|
||||||
|
Je sens que jadis j’ai plané ;
|
||||||
|
J’étais l’archange solitaire,
|
||||||
|
Et mon malheur, c’est d’être né.
|
||||||
|
|
||||||
|
Sur mon âme, qui fut colombe,
|
||||||
|
Viens, toi qui des cieux as le sceau.
|
||||||
|
Quelquefois une plume tombe
|
||||||
|
Sur le cadavre d’un oiseau.
|
||||||
|
|
||||||
|
Oui, mon malheur irréparable,
|
||||||
|
C’est de pendre aux deux éléments,
|
||||||
|
C’est d’avoir en moi, misérable,
|
||||||
|
De la fange et des firmaments !
|
||||||
|
|
||||||
|
Hélas ! hélas ! c’est d’être un homme ;
|
||||||
|
C’est de songer que j’étais beau,
|
||||||
|
D’ignorer comment je me nomme,
|
||||||
|
D’être un ciel et d’être un tombeau !
|
||||||
|
|
||||||
|
C’est d’être un forçat qui promène
|
||||||
|
Son vil labeur sous le ciel bleu ;
|
||||||
|
C’est de porter la hotte humaine
|
||||||
|
Où j’avais vos ailes, mon Dieu !
|
||||||
|
|
||||||
|
C’est de traîner de la matière ;
|
||||||
|
C’est d’être plein, moi, fils du jour,
|
||||||
|
De la terre du cimetière,
|
||||||
|
Même quand je m’écrie : Amour !
|
||||||
|
|
||||||
|
Victor Hugo, Les contemplations
|
||||||
Loading…
Reference in New Issue
Block a user