README.md: Added a lot of missing accents & updated repository mentions.

This commit is contained in:
Glenn Y. Rolland 2012-08-15 00:39:57 +02:00
parent 238d2d19aa
commit 2b295043b2

View file

@ -1,89 +1,77 @@
# CryptAfinity # CryptAffinity
## 1. Description ## 1. Description
CryptAfinity est un logiciel libre permettant de dechiffrer des texte CryptAffinity est un logiciel libre permettant de déchiffrer des texte
obfusques par des systemes Afines ou l'algorithme de Vigenere. Il possede les obfusqués par des systemes Afines ou l'algorithme de Vigenere. Il possède les
caracteristiques suivantes : caractéristiques suivantes :
* Il est distribue sous la licence [GNU General Public License](http://www.gnu.org/copyleft/gpl.html) * Il est distribue sous la licence [GNU General Public License](http://www.gnu.org/copyleft/gpl.html)
* Il est ecrit en C++. * Il est écrit en C++.
* Il implemente pour l'instant uniquement une analyse par frequences, a partir d'une liste de "priorites" de lettres dans un texte clair, et de la proportion que representent les X premieres lettres "prioritaires" dans le texte. * Il implémente pour l'instant uniquement une analyse par fréquences, à partir d'une liste de "priorités" de lettres dans un texte clair, et de la proportion que représentent les X premières lettres "prioritaires" dans le texte.
### 1.1. Auteurs ### 1.1. Auteurs
CryptAfinity a ete entierement realise par Glenn ROLLAND CryptAffinity a été concçu et realisé par Glenn ROLLAND
<[glenux@glenux.net](mailto:glenux@glenux.net)> et Roland LAURÈS <[glenux@glenux.net](mailto:glenux@glenux.net)> et Roland LAURÈS
<[shamox@mac.com](mailto:shamox@mac.com)> a l'occasion de travaux pratiques du <[shamox@mac.com](mailto:shamox@mac.com)> à l'occasion de travaux pratiques du
cours de systeme du Master 2 Ingenierie Informatique - Systèmes, Reseaux et cours de système du Master 2 Ingenierie Informatique - Systèmes, Reseaux et
Internet. Internet.
## 2. Pre-requis ## 2. Pre-requis
CryptAfinity necessite les bibliotheques de fonctions suivantes (dans leur CryptAffinity nécessite les bibliothèques de fonctions suivantes (dans leur
version de developpement si compilez le programme vous-meme): version de développement si compilez le programme vous-même):
* glib-2.0 * glib-2.0
### 2.1. Sur un systeme Debian GNU/Linux ### 2.1. Sur un système Debian GNU/Linux
Il vous suffit de taper (en tant qu'administrateur) les commandes suivantes Il vous suffit de taper (en tant qu'administrateur) les commandes suivantes
pour installer le necessaire: pour installer le nécessaire:
# apt-get install libglib-2.0-dev # apt-get install libglib-2.0-dev
### 2.2. Sur un systeme Apple MacOS X (>= 10.3) ### 2.2. Sur un système Apple MacOS X (>= 10.3)
Il est necessaire d'avoir installe les autotools (automake, Il est nécessaire d'avoir installé les autotools (automake,
autoconf...) dans leur derniere version. À partir de la, il autoconf...) dans leur dernière version. À partir de là, il
suffit de taper les commandes suivantes dans un terminal : suffit de taper les commandes suivantes dans un terminal :
# sudo fink install glib2-dev # sudo fink install glib2-dev
### 2.3. Sur un systeme Microsoft Windows ### 2.3. Sur un système Microsoft Windows
Cela ne fut pas (encore) teste, mais il est tres probable que cela Cela ne fut pas testé, mais il est probable que cela
fonctionne sous Cygwin. fonctionne sous Cygwin ou équivalent.
## 3. Se procurer CryptAfinity ## 3. Se procurer CryptAffinity
Vous pouvez telecharger la derniere archive des sources, ou bien directement Vous pouvez télécharger la version la plus récente du projet sur le depôt Git du projet.
la version la plus recente du projet sur le depot Subversion du projet.
Afin d'obtenir les sources, il vous suffit d'avoir Git installé sur votre système et de taper la commande suivante :
### 3.1. L'archive des sources
Elle est disponible a l'adresse :
[http://glenux2.free.fr/pub/projets/CryptAfinity/archives/](http://glenux2.fre
e.fr/pub/projets/CryptAfinity/archives/)
### 3.2. Le depot Subversion
Afin d'obtenir les sources les plus a jour, vous pouvez utiliser le logiciel
de controle de sources Git :
$ git clone https://github.com/glenux/cryptaffinity.git $ git clone https://github.com/glenux/cryptaffinity.git
## 4. Utiliser CryptAfinity ## 4. Utiliser CryptAffinity
### 4.1. Compilation ### 4.1. Compilation
Si vous avez téléchargé une archive, commencez par la decompressez : Si vous avez téléchargé une archive, commencez par la decompressez :
$ tar -xzvf CryptAfinity-0.2.tar.gz $ tar -xzvf CryptAffinity-0.2.tar.gz
Rendez vous ensuite dans le dossier qui vient d'etre crée lors de la Rendez vous ensuite dans le dossier qui vient d'etre crée lors de la
decompression. decompression.
$ cd CryptAfinity-0.2 $ cd CryptAffinity-0.2
Puis lancez l'auto-configuration du logiciel, puis la compilation. Puis lancez l'auto-configuration du logiciel, puis la compilation.
@ -92,14 +80,14 @@ Puis lancez l'auto-configuration du logiciel, puis la compilation.
$ make $ make
Le programme sous forme binaire se trouvera alors dans le sous-dossier Le programme sous forme binaire se trouvera alors dans le sous-dossier
src/tools/, sous le nom break_afinity src/tools/, sous le nom break_affinity
### 4.2. Utilisation ### 4.2. Utilisation
CryptAfinity necessite de nombreux parametres, avec la syntaxe suivante: CryptAffinity necessite de nombreux parametres, avec la syntaxe suivante:
Usage: break_afinity -a <fichier> -e <float> -f <float> -p <fichier> -t Usage: break_affinity -a <fichier> -e <float> -f <float> -p <fichier> -t
<fichier> -m <fichier> -m
Ou les parametres sont les suivants: &nbs Ou les parametres sont les suivants: &nbs
@ -112,33 +100,33 @@ p_place_holder;
: Tolerance pour le test des clefs. : Tolerance pour le test des clefs.
-f, --frequencies <float> -f, --frequencies <float>
: Proportion moyenne que representent les 9 lettres "prioritaires" dans le texte : Proportion moyenne que représentent les 9 lettres "prioritaires" dans le texte
clair. clair.
-k, --keylength <int> -k, --keylength <int>
: Taille de la clef maximul (obsolete) : Taille de la clef maximum (obsolète)
-p, --priorities <file> -p, --priorities <file>
: Lettres ordonnees par frequence decroissante d'apparition dans le texte clair. : Lettres ordonnées par fréquence décroissante d'apparition dans le texte clair.
-t, --text <file> -t, --text <file>
: Fichier contenant le texte chiffre. : Fichier contenant le texte chiffre.
-m, --mode <a|v> -m, --mode <a|v>
: Selection du mode "Afine" ou "Vigenere" : Sélection du mode "Affine" ou "Vigenere"
## 5. Documentation ## 5. Documentation
### 5.1. Code ### 5.1. Code
Vous pouvez trouver la documentation du code de CryptAfinity dans le dossier Vous pouvez trouver la documentation du code de CryptAffinity dans le dossier
doc/html de l'application, ou en suivant [ce lien](html/index.html). doc/html de l'application, ou en suivant [ce lien](html/index.html).
### 5.2. Principe du "decodeur Afine" ### 5.2. Principe du "decodeur Affine"
On genere l'espace des clefs possibles pour l'alphabet donne On génère l'espace des clefs possibles pour l'alphabet donne
en entree: en entrée:
int alpha_size; //taille de l'alphabet int alpha_size; //taille de l'alphabet
std::list<int> orb; // nombre premiers avec alpha_size std::list<int> orb; // nombre premiers avec alpha_size