EDIT: Le tool est désormais Terminé, le sous domaine aussi: http://cyprium.hackademics.fr
Force est de constater que les tools de crypto/stégano sont rares. Il y en a, mais ils sont souvent trop simplets ou incomplets.
Ce que je propose est un outil multi-fonctions reprenant des dizaines et des dizaines d'algorithmes d'encodage/cryptage ainsi qu'un système de cryptanalyse et de stéganographie.
Le tool serait Open Source.
Il serait téléchargeable via http://toolname.thehackademy.fr (un sous domaine de l'Hackademy) sans besoin d'inscription à celle-ci.
Il y aurait sur cette page :
Accueil : Descriptif du tool, démos, images, etc.
Man : Un manuel en français et en anglais (téléchargeable en PDF).
Download : Un espace de téléchargement.
Crédits : Une liste de ceux qui auront participé au projet.
Le tool serait en CLI (ligne de commande). Il sera peut-être porté par la suite en GUI (interface graphique).
Il sera développé en Python (Python 3)
Un channel serait mis à la disposition des participants à ce projet (#toolname) via l'IRC de l'hackademy.
- - -
Voici la liste des fonctionnalités :
- - -
PARTIE I :
Alphabet de substitution (déchiffré=SAKAROV) :
Alphabet Bilitère : BAAAB AAAAA ABAAB AAAAA BAAAA ABBAB BAABB
Alphabet Braille : 2-3-4 1 1-3 1 1-2-3-5 1-3-5 1-2-3-6
Alphabet Trilitère : CAAAAABABAAABCCBBCCBA
Code Baudot : 00101 00011 01111 00011 01010 11000 11110
Code Morse : ... .- -.- .- .-. --- ...-
CodeT9 (portable) : 7252768
CodeABC (portable : 77772552777666888
Code Wabun : -.-.- .-.. .-.-
Codons (code génétique) : UCAGCAAAAGCUCGUOGUA
Substitution par nombres premiers : 67 2 31 2 61 47 79
Substitution par numéro atomique : 16 A19 18 8 23
Substitution par rang alhabétique* : 19 1 11 1 18 15 22
ASCII (décimal - base 10) : 83 65 75 65 82 79 86
ASCII (décimal zéro initial - base 10) : 083 065 075 065 082 079 086
ASCII (hexadécimal - Base 16) : 53 41 4B 41 52 4F 56
ASCII (octal - base 8) : 123 101 113 101 122 117 126
ASCII (binaire - base 2 - 7 bits) : 1010011 1000001 1001011 1000001 1010010 1001111 1010110
ASCII (binaire - base 2 - 8 bits) : 01010011 01000001 01001011 01000001 01010010 01001111 01010110
Binaire : 10011 00001 01011 00001 10010 01111 10110
ASCII 85 : <~A4(9GAH~>
Brainfuck : ++++++++++[>+>+++>+++++++>++++++++++<<<<-]>>>+++++++++++++. ------------------. ++++++++++. ----------. +++++++++++++++++. ---. +++++++.
Codage de Huffman** : 1000110111011100
Code Gray : z a n a { h }
EBCDIC : âÁÒÁÙÖå
Ook! : ....................!?.?...?.......?.... ...........?....................?.?.?.?. !!?!.?.?.?..........................!. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!. ....................!. !!!!!!!!!!!!!!!!!!!!!. ..................................!. !!!!!!!. ..............!.
Spoon : 1 1 1 1 1 1 1 1 1 1 00100 010 1 010 1 1 1 010 1 1 1 1 1 1 1 010 1 1 1 1 1 1 1 1 1 1 011 011 011 011 000 0011 010 010 010 1 1 1 1 1 1 1 1 1 1 1 1 1 001010 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 001010 1 1 1 1 1 1 1 1 1 1 001010 000 000 000 000 000 000 000 000 000 000 001010 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 001010 000 000 000 001010 1 1 1 1 1 1 1 001010
*possibilité d'ajout de clé
**possibilité de modification de données
Cryptographie (toujours avec la clé : THKDMY et le résultat=SAKAROV) :
Chiffre Autoclave : LHUDDMN
Cadran chiffrant d'Alberti (cadran extérieur fixe/intérieur mobile, exemple avec ABCDEFGIKMNOPQRSTVXZ1234 en cadran extérieur et c&bmdgpfznxyvtoskerlhaiq en cadran intérieur, position de décalge initial à 4 et décalage périodique de 2 tous les 3 caractères) : ldvphe&
Carré de César (Scytale ; taille du côté (du carré) malléable, pour l'exemple, côté=6) : SKRV__AAO___ Ou écrit à l'envers : ___OAA__VRKS
Carré de Polybe : 51221322454253
Chiffre ADFGVX (avec permutation=3) : GAAADVAAFXFFGG
Chiffre Affine (coef A=3 ; coefB=15) : RPTPOFA
Chiffre de Bazeries (clé numérique=1204 ; clé 1=ABCDEFGHIJKLMNOPQRSTUVXYZ, clé 2=MILLE DEUX CENT QUATRE) : KLMTVBM
Chiffre de Beaufort : BHADVKY
Chiffre de Collon (longueur série=7) : SYTYNNSSUVUZUV
Double transposition (permutations 1=4, 6, 5, 1, 2, 3 ; permutations 2=3, 8, 9, 10, 11, 13 ; clé 1=THK ; clé 2=DMY) : AKAROVS
Chiffre de Gronsfeld (clé numérique seulement, exemple : 28741) : UIRESQD
Chiffre des Nihilistes (clé=THKDMY ; Clé de surenchiffrement=MACTUX) : 60443733959567
Chiffre Playfair : UYHBNPXZ
Chiffre de Pollux (morse=... .- -.- .- .-. --- …- ; susbstitut pour POINT=0378AEFMOPQXYZ, subsitut pour tiret=145BCGJNRTW, substitut pour espace=269DHIKLSUV ; décodage alphabétique (mais possibilité numérique, alphanumérique et tous caractères)) : YXYDQWUGMNSYTDEJQVTTJUXPPT
Chiffre de Porta : BXSZKAE
Chiffrement par spirale ligne : (codage : spirale intérieure droite, intérieure gauche, spirale extérieure droite, extérieure gauche ; décodage : anti-spirale intérieure droite, anti-spirale intérieure gauche, anti-spirale extérieure droite, anti-spirale extérieure gauche ; exemple décodage anti-spirale intérieure droite) : SKRVOAA
Chiffrement par transposition : AAKRSOV
Chiffre de trithème (position initiale=4) : WFQHZXF (décalage croissant) WDMBRNT (décalage décroissant)
Chiffre de Vigénère : LHUDDMO
Chiffre de Wolseley : YRWRAED
Code César (décalage=3) : VDNDURY
Code César progressif (décalage inital=2) : UCMCTQX
Miroir Atbash (décodage avec ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789) : R9Z9SVO
Cylindre de Jefferson (nombre de cylindres=25, cylindre 1=ABCEIGDJFVUYMHTQKZOLRXSPWN, cylindre 2=ACDEHFIJKTLMOUVYGZNPQXRWSB, cylindre 3=ADKOMJUBGEPHSCZINXFYQRTVWL, cylindre 4=AEDCBIFGJHLKMRUOQVPTNWYXZS, cylindre 5=AFNQUKDOPITJBRHCYSLWEMZVXG, cylindre 6=AGPOCIXLURNDYZHWBJSQFKVMET, cylindre 7=AHXJEZBNIKPVROGSYDULCFMQTW, cylindre 8= AIHPJOBWKCVFZLQERYNSUMGTDX, cylindre, 9=AJDSKQOIVTZEFHGYUNLPMBXWCR, cylindre 10=AKELBDFJGHONMTPRQSVZUXYWIC, cylindre 11=ALTMSXVQPNOHUWDIZYCGKRFBEJ, cylindre 12=AMNFLHQGCUJTBYPZKXISRDVEWO) : PCOEHCR (décalage de 1), WDMDCIO (décalage de 2), NEJCYXG (décalage de 3), AHUBSLS (décalage de 4) etc=décalage:22
Chiffrement par QWERTY : DALATPB
Dérangement alphabétique (inversement + saut de ligne simple) : S KA RA VO
Chiffrement à deux carrés (Clé 1=THKDMY, clé 2=SKVTH) : ENBSORXV
Base26 (hexavigésimal) : 6982618337 (décroissant), 6661345930 (croissant)
Multiplication par nombres premiers : 7983988 30094809920412046
Chiffre à quatre carrés (clé 1=TH, clé 2=EH, clé 3=AK, clé 4=DE) : SCNATNXV
Chiffre Rail Fence (ZigZag) (no-key) (nombre de lignes (niveaux)=2) : SKRVAAO
Rang dans une chaîne : S1 A2 K3 A4 R5 O6 V7
Solitaire B.Schneier (liste des cartes (nombres)=18, 5, 49, 29, 1, 28, 45, 15, 48, 32, 23, 8, 35, 14, 16, 34, 30, 43, 6, 37, 2, 39, 22, 7, 50, 17, 25, 12, 3, 46, 4, 52, 10, 21, 26, 47, 31, 33, 11, 44, 9, 40, 24, 27, 19, 36, 38, 20, 51, 41, 13, 42) : KFHDSQ
Chiffre à trois carrés (clé 1=TH, clé 2=EH, clé 3=AC) :
Coordonées géographiques (ex: Paris) : 2°20E , 48°52N
Anagrammeur : BNOROJU = BONJOUR (valable pour des petites phrases)
La Rue de la Fortune (ex: L- M-T D- L- F--) : LE MOT DE LA FIN
Conjecture de Goldbach : 132 (=5+127, 19+113, 23+109, 29+103, 31+101, 43+89, 53+79, 61+71)
Permutation d'éléments (ex: SAKAROV=5040 entrée (7^7)
Argot Javanais (lettre à insérer=TH) : STHAKTHARTHOV
Charabia Latin : VORAKASA
Inverseur de mot : VORAKAS
+ script de suppression de caractères accentués.
+ script de tripoglycémie (ex: Qeulle est la meielulre aacdméie sloen vuos ? Ne cheerchz pas torp, ça cloue de srocue !)
Numéros seulement (ex type : 123456789) :
Fréquences DTMF : 1209-697 1336-697 1477-697 1209-770 1336-770 1477-770 1209-852 1336-852 1477-852
BCD (binary coded decimal) : 00010010001101000101011001111000 1001
Encodage :
ATOM-128 : gJhObHQUHWCC
BASE-64 : U0FLQVJPVg==
ESAB-46 : 0kruw16P1Q//
FERON-74 : 6FaVAR/fRw44
GILA7 : zeKtyAcsA/GG
HAZZ-15 : zxlnyAjhAQ55
MEGAN-35 : euKQbfOUfW55
TIGO-3FX : +GzvW4tq45XX
TRIPO-5 : =LplQa7JaATT
ZONG22 : xr+V5Sw/SH22
éventuellement :
DES (clé=THKDMY) : THE1yEaLdCVX.
RC4 (clé=THKMDY) 5Ulm7c32Da
U-ASCII Unicode Encode : sakarov
T-ASCII Encode : %53%41%4B%41%52%4F%56
F-ASCII Encode : TBLBSPW1
- - -
PARTIE II :
Cryptanalyse :
Substitution Mono-Alphabétique (interchangeable)
Analyse fréquentielle (n-grammes : bigrammes, trigrammes, quadrigrammes ; n-grammes (glissant) : bigrammes, trigrammes, quadrigrammes ; Autres analyses : longueur d emots, lettres doubles, lettres triples)
[Rappel fréquences des lettres dans le Man pour le français (e=17,3%), l'anglais (e=12,7%), etc.]
Indice de coïncidence (IC ; FR=0,0778, EN=0,0667 ; en FR vigenère tend plus vers 0,0385, etc.)
Reconnaissance linguistique (FR/EN/RU/TK/AR/ES/IT/etc)
- - -
PARTIE III :
Stéganographie :
LSB : image dans image (.png, .bmp, .jpg / .jpeg, etc)
+ message caché dans la compression (.zip, .gz, etc), dans une image, dans un son audio.
+ message audio caché ; message vidéo.
éventuellement :
Acrostiche, mésostiche.
- - -
*Liste non exhaustive*
- - -
Volontairement nous ne prenons pas en compte le hachage (md5, sha-1, LM, NTLM, etc.) ; cela est destiné à un autre projet qui se verra greffé au projet KalkulatorsKnights.
Volontairement nous ne prenons pas en compte le cryptage en DES, AES, RSA, etc. car il y a beaucoup de tools qui s'en chargent très bien.
Un ajout de dictionnaire pour une attaque par dictionnaire peut-être judicieux.
- - -
En espérant que ce projet vous intéressera !
Note : les participants devront bien sûr s'y connaître en Python ; cependant, la connaissance de la crypto et des mathématiques n'est qu'un plus, ce n'est pas essentiel.
Note : si vous avez des idées d'amélioration du tool, n'hésitez pas à faire vos suggestions ! Surtout qu'il y a beaucoup de choses à améliorer ! Je vois déjà de nombreuses améliorations possibles Surtout en Stégano.
Note organisationnelle :
Dans un premier temps il serait bien de lister les fonctions qui seront prises en charge. Je pense en avoir déjà développé pas mal, mais il en reste sûrement que j'ai oublié.
Une fois que nous aurons la liste fixe, nous saurons à quoi nous en tenir.
A partir de là, nous verrons :
- qui a des idées pour ceci ou cela ;
- qui s'occupe de quoi, comment ;
- on répartit les tâches, les groupes ;
- on fait chaque petit tool séparément ;
- on centralise le tout ;
- on fait des tests ;
- on rédige le man ;
- on crée le sous-domaine du project.
Notez que je vais allouer une section à part entière sur le forum aux membres qui participeront au projet (en + du chan IRC qui servira à ce que plusieurs personnes s'expliquent sur un point précis). Cette section sera ouverte à tous en terme de visibilité, mais ne sera accessible en écriture qu'aux membres de l'équipe qui va plancher sur le tool). Dans cette section figurera des catégories (certains groupes, centralisation, backtests, etc.).
Ainsi donc, dans un premier temps, veuillez :
- lister les fonctions que j'aurai omis ;
- vous manifester comme membre intéressé pour participer au projet.
Note : Le nombre de personnes intéressées par le projet n'a pas de minima ou de maxima. Par contre, une fois la deadline des inscriptions à l'équipe atteinte (qui sera définie un peu plus tard par la suite), le chiffre de l'équipe sera fixe (on ne va pas incorporer d'autres membres 2 semaines après). Notez aussi que ce projet n'a aucune limite dans le temps. Ca se fera, en temps voulu Rien ne presse Le web a vécu sans avant, il peut bien encore attendre un petit peu^^
- - -
Actualisation :
- - -
- J'ai trouvé le nom du tool !
- Le tool sera sous licence GNU GPL !
- Je suis entrain de faire la page (qui sera en anglais) du tool en html5/css3 ; elle sera donc située ici : http://toolname.hackademy.fr/index.html
Nous allons créer sous peu :
- un espace sur le forum (une section pour les membres opérant sur le projet).
- un irc (qui sera bien évidement accessible à irc.thehackademy.fr) avec deux chan, un pour l'hackademy en général (#hackademy) et un pour le projet (#toolname)
Trame :
1. Etablir la liste des développeurs qui vont travailler sur ce projet.
2. Libérer les accès (à la section, à l'irc, au sous-domaine).
3. S'organiser avant de commencer à scripter.
4. Commencer le développement du tool.
Pour ce qui est de l'aspect organisationnel, nous déterminerons :
- chaque tool (dans le tool principal) ;
- comment les aborder 1 à 1 (quels sont les formules mathématiques, etc. bref : recherches) ;
- qui s'occupe de quels tools (bien répartir, en fonction des niveaux, dispo, etc) ;
- qui s'occupe de relire les scripts des autres (ceux qui auront le meilleur niveau !) ;
- qui sont ceux qui vont réunir tous les tools en un (en fait je pense que ça ne sera qu'une seule personne, la plus qualifiée en python).
Je pense que cette étape d'interrogation, de recherche et de répartition du travail va prendre environ 2 semaines.
Inutile de se précipiter, mieux vaut réfléchir avant d'agir. Après, dans tous les cas, on verra "un peu sur le tas". Y'a toujours des imprévus. Mais... un minimum de réflexion préalable n'est pas inutile
Je pense qu'une semaine (environ) pour déterminer la liste des développeurs intéressés par le projet me paraît correct.
Manifestez-vous !!!
Force est de constater que les tools de crypto/stégano sont rares. Il y en a, mais ils sont souvent trop simplets ou incomplets.
Ce que je propose est un outil multi-fonctions reprenant des dizaines et des dizaines d'algorithmes d'encodage/cryptage ainsi qu'un système de cryptanalyse et de stéganographie.
Le tool serait Open Source.
Il serait téléchargeable via http://toolname.thehackademy.fr (un sous domaine de l'Hackademy) sans besoin d'inscription à celle-ci.
Il y aurait sur cette page :
Accueil : Descriptif du tool, démos, images, etc.
Man : Un manuel en français et en anglais (téléchargeable en PDF).
Download : Un espace de téléchargement.
Crédits : Une liste de ceux qui auront participé au projet.
Le tool serait en CLI (ligne de commande). Il sera peut-être porté par la suite en GUI (interface graphique).
Il sera développé en Python (Python 3)
Un channel serait mis à la disposition des participants à ce projet (#toolname) via l'IRC de l'hackademy.
- - -
Voici la liste des fonctionnalités :
- - -
PARTIE I :
Alphabet de substitution (déchiffré=SAKAROV) :
Alphabet Bilitère : BAAAB AAAAA ABAAB AAAAA BAAAA ABBAB BAABB
Alphabet Braille : 2-3-4 1 1-3 1 1-2-3-5 1-3-5 1-2-3-6
Alphabet Trilitère : CAAAAABABAAABCCBBCCBA
Code Baudot : 00101 00011 01111 00011 01010 11000 11110
Code Morse : ... .- -.- .- .-. --- ...-
CodeT9 (portable) : 7252768
CodeABC (portable : 77772552777666888
Code Wabun : -.-.- .-.. .-.-
Codons (code génétique) : UCAGCAAAAGCUCGUOGUA
Substitution par nombres premiers : 67 2 31 2 61 47 79
Substitution par numéro atomique : 16 A19 18 8 23
Substitution par rang alhabétique* : 19 1 11 1 18 15 22
ASCII (décimal - base 10) : 83 65 75 65 82 79 86
ASCII (décimal zéro initial - base 10) : 083 065 075 065 082 079 086
ASCII (hexadécimal - Base 16) : 53 41 4B 41 52 4F 56
ASCII (octal - base 8) : 123 101 113 101 122 117 126
ASCII (binaire - base 2 - 7 bits) : 1010011 1000001 1001011 1000001 1010010 1001111 1010110
ASCII (binaire - base 2 - 8 bits) : 01010011 01000001 01001011 01000001 01010010 01001111 01010110
Binaire : 10011 00001 01011 00001 10010 01111 10110
ASCII 85 : <~A4(9GAH~>
Brainfuck : ++++++++++[>+>+++>+++++++>++++++++++<<<<-]>>>+++++++++++++. ------------------. ++++++++++. ----------. +++++++++++++++++. ---. +++++++.
Codage de Huffman** : 1000110111011100
Code Gray : z a n a { h }
EBCDIC : âÁÒÁÙÖå
Ook! : ....................!?.?...?.......?.... ...........?....................?.?.?.?. !!?!.?.?.?..........................!. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!. ....................!. !!!!!!!!!!!!!!!!!!!!!. ..................................!. !!!!!!!. ..............!.
Spoon : 1 1 1 1 1 1 1 1 1 1 00100 010 1 010 1 1 1 010 1 1 1 1 1 1 1 010 1 1 1 1 1 1 1 1 1 1 011 011 011 011 000 0011 010 010 010 1 1 1 1 1 1 1 1 1 1 1 1 1 001010 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 001010 1 1 1 1 1 1 1 1 1 1 001010 000 000 000 000 000 000 000 000 000 000 001010 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 001010 000 000 000 001010 1 1 1 1 1 1 1 001010
*possibilité d'ajout de clé
**possibilité de modification de données
Cryptographie (toujours avec la clé : THKDMY et le résultat=SAKAROV) :
Chiffre Autoclave : LHUDDMN
Cadran chiffrant d'Alberti (cadran extérieur fixe/intérieur mobile, exemple avec ABCDEFGIKMNOPQRSTVXZ1234 en cadran extérieur et c&bmdgpfznxyvtoskerlhaiq en cadran intérieur, position de décalge initial à 4 et décalage périodique de 2 tous les 3 caractères) : ldvphe&
Carré de César (Scytale ; taille du côté (du carré) malléable, pour l'exemple, côté=6) : SKRV__AAO___ Ou écrit à l'envers : ___OAA__VRKS
Carré de Polybe : 51221322454253
Chiffre ADFGVX (avec permutation=3) : GAAADVAAFXFFGG
Chiffre Affine (coef A=3 ; coefB=15) : RPTPOFA
Chiffre de Bazeries (clé numérique=1204 ; clé 1=ABCDEFGHIJKLMNOPQRSTUVXYZ, clé 2=MILLE DEUX CENT QUATRE) : KLMTVBM
Chiffre de Beaufort : BHADVKY
Chiffre de Collon (longueur série=7) : SYTYNNSSUVUZUV
Double transposition (permutations 1=4, 6, 5, 1, 2, 3 ; permutations 2=3, 8, 9, 10, 11, 13 ; clé 1=THK ; clé 2=DMY) : AKAROVS
Chiffre de Gronsfeld (clé numérique seulement, exemple : 28741) : UIRESQD
Chiffre des Nihilistes (clé=THKDMY ; Clé de surenchiffrement=MACTUX) : 60443733959567
Chiffre Playfair : UYHBNPXZ
Chiffre de Pollux (morse=... .- -.- .- .-. --- …- ; susbstitut pour POINT=0378AEFMOPQXYZ, subsitut pour tiret=145BCGJNRTW, substitut pour espace=269DHIKLSUV ; décodage alphabétique (mais possibilité numérique, alphanumérique et tous caractères)) : YXYDQWUGMNSYTDEJQVTTJUXPPT
Chiffre de Porta : BXSZKAE
Chiffrement par spirale ligne : (codage : spirale intérieure droite, intérieure gauche, spirale extérieure droite, extérieure gauche ; décodage : anti-spirale intérieure droite, anti-spirale intérieure gauche, anti-spirale extérieure droite, anti-spirale extérieure gauche ; exemple décodage anti-spirale intérieure droite) : SKRVOAA
Chiffrement par transposition : AAKRSOV
Chiffre de trithème (position initiale=4) : WFQHZXF (décalage croissant) WDMBRNT (décalage décroissant)
Chiffre de Vigénère : LHUDDMO
Chiffre de Wolseley : YRWRAED
Code César (décalage=3) : VDNDURY
Code César progressif (décalage inital=2) : UCMCTQX
Miroir Atbash (décodage avec ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789) : R9Z9SVO
Cylindre de Jefferson (nombre de cylindres=25, cylindre 1=ABCEIGDJFVUYMHTQKZOLRXSPWN, cylindre 2=ACDEHFIJKTLMOUVYGZNPQXRWSB, cylindre 3=ADKOMJUBGEPHSCZINXFYQRTVWL, cylindre 4=AEDCBIFGJHLKMRUOQVPTNWYXZS, cylindre 5=AFNQUKDOPITJBRHCYSLWEMZVXG, cylindre 6=AGPOCIXLURNDYZHWBJSQFKVMET, cylindre 7=AHXJEZBNIKPVROGSYDULCFMQTW, cylindre 8= AIHPJOBWKCVFZLQERYNSUMGTDX, cylindre, 9=AJDSKQOIVTZEFHGYUNLPMBXWCR, cylindre 10=AKELBDFJGHONMTPRQSVZUXYWIC, cylindre 11=ALTMSXVQPNOHUWDIZYCGKRFBEJ, cylindre 12=AMNFLHQGCUJTBYPZKXISRDVEWO) : PCOEHCR (décalage de 1), WDMDCIO (décalage de 2), NEJCYXG (décalage de 3), AHUBSLS (décalage de 4) etc=décalage:22
Chiffrement par QWERTY : DALATPB
Dérangement alphabétique (inversement + saut de ligne simple) : S KA RA VO
Chiffrement à deux carrés (Clé 1=THKDMY, clé 2=SKVTH) : ENBSORXV
Base26 (hexavigésimal) : 6982618337 (décroissant), 6661345930 (croissant)
Multiplication par nombres premiers : 7983988 30094809920412046
Chiffre à quatre carrés (clé 1=TH, clé 2=EH, clé 3=AK, clé 4=DE) : SCNATNXV
Chiffre Rail Fence (ZigZag) (no-key) (nombre de lignes (niveaux)=2) : SKRVAAO
Rang dans une chaîne : S1 A2 K3 A4 R5 O6 V7
Solitaire B.Schneier (liste des cartes (nombres)=18, 5, 49, 29, 1, 28, 45, 15, 48, 32, 23, 8, 35, 14, 16, 34, 30, 43, 6, 37, 2, 39, 22, 7, 50, 17, 25, 12, 3, 46, 4, 52, 10, 21, 26, 47, 31, 33, 11, 44, 9, 40, 24, 27, 19, 36, 38, 20, 51, 41, 13, 42) : KFHDSQ
Chiffre à trois carrés (clé 1=TH, clé 2=EH, clé 3=AC) :
Coordonées géographiques (ex: Paris) : 2°20E , 48°52N
Anagrammeur : BNOROJU = BONJOUR (valable pour des petites phrases)
La Rue de la Fortune (ex: L- M-T D- L- F--) : LE MOT DE LA FIN
Conjecture de Goldbach : 132 (=5+127, 19+113, 23+109, 29+103, 31+101, 43+89, 53+79, 61+71)
Permutation d'éléments (ex: SAKAROV=5040 entrée (7^7)
Argot Javanais (lettre à insérer=TH) : STHAKTHARTHOV
Charabia Latin : VORAKASA
Inverseur de mot : VORAKAS
+ script de suppression de caractères accentués.
+ script de tripoglycémie (ex: Qeulle est la meielulre aacdméie sloen vuos ? Ne cheerchz pas torp, ça cloue de srocue !)
Numéros seulement (ex type : 123456789) :
Fréquences DTMF : 1209-697 1336-697 1477-697 1209-770 1336-770 1477-770 1209-852 1336-852 1477-852
BCD (binary coded decimal) : 00010010001101000101011001111000 1001
Encodage :
ATOM-128 : gJhObHQUHWCC
BASE-64 : U0FLQVJPVg==
ESAB-46 : 0kruw16P1Q//
FERON-74 : 6FaVAR/fRw44
GILA7 : zeKtyAcsA/GG
HAZZ-15 : zxlnyAjhAQ55
MEGAN-35 : euKQbfOUfW55
TIGO-3FX : +GzvW4tq45XX
TRIPO-5 : =LplQa7JaATT
ZONG22 : xr+V5Sw/SH22
éventuellement :
DES (clé=THKDMY) : THE1yEaLdCVX.
RC4 (clé=THKMDY) 5Ulm7c32Da
U-ASCII Unicode Encode : sakarov
T-ASCII Encode : %53%41%4B%41%52%4F%56
F-ASCII Encode : TBLBSPW1
- - -
PARTIE II :
Cryptanalyse :
Substitution Mono-Alphabétique (interchangeable)
Analyse fréquentielle (n-grammes : bigrammes, trigrammes, quadrigrammes ; n-grammes (glissant) : bigrammes, trigrammes, quadrigrammes ; Autres analyses : longueur d emots, lettres doubles, lettres triples)
[Rappel fréquences des lettres dans le Man pour le français (e=17,3%), l'anglais (e=12,7%), etc.]
Indice de coïncidence (IC ; FR=0,0778, EN=0,0667 ; en FR vigenère tend plus vers 0,0385, etc.)
Reconnaissance linguistique (FR/EN/RU/TK/AR/ES/IT/etc)
- - -
PARTIE III :
Stéganographie :
LSB : image dans image (.png, .bmp, .jpg / .jpeg, etc)
+ message caché dans la compression (.zip, .gz, etc), dans une image, dans un son audio.
+ message audio caché ; message vidéo.
éventuellement :
Acrostiche, mésostiche.
- - -
*Liste non exhaustive*
- - -
Volontairement nous ne prenons pas en compte le hachage (md5, sha-1, LM, NTLM, etc.) ; cela est destiné à un autre projet qui se verra greffé au projet KalkulatorsKnights.
Volontairement nous ne prenons pas en compte le cryptage en DES, AES, RSA, etc. car il y a beaucoup de tools qui s'en chargent très bien.
Un ajout de dictionnaire pour une attaque par dictionnaire peut-être judicieux.
- - -
En espérant que ce projet vous intéressera !
Note : les participants devront bien sûr s'y connaître en Python ; cependant, la connaissance de la crypto et des mathématiques n'est qu'un plus, ce n'est pas essentiel.
Note : si vous avez des idées d'amélioration du tool, n'hésitez pas à faire vos suggestions ! Surtout qu'il y a beaucoup de choses à améliorer ! Je vois déjà de nombreuses améliorations possibles Surtout en Stégano.
Note organisationnelle :
Dans un premier temps il serait bien de lister les fonctions qui seront prises en charge. Je pense en avoir déjà développé pas mal, mais il en reste sûrement que j'ai oublié.
Une fois que nous aurons la liste fixe, nous saurons à quoi nous en tenir.
A partir de là, nous verrons :
- qui a des idées pour ceci ou cela ;
- qui s'occupe de quoi, comment ;
- on répartit les tâches, les groupes ;
- on fait chaque petit tool séparément ;
- on centralise le tout ;
- on fait des tests ;
- on rédige le man ;
- on crée le sous-domaine du project.
Notez que je vais allouer une section à part entière sur le forum aux membres qui participeront au projet (en + du chan IRC qui servira à ce que plusieurs personnes s'expliquent sur un point précis). Cette section sera ouverte à tous en terme de visibilité, mais ne sera accessible en écriture qu'aux membres de l'équipe qui va plancher sur le tool). Dans cette section figurera des catégories (certains groupes, centralisation, backtests, etc.).
Ainsi donc, dans un premier temps, veuillez :
- lister les fonctions que j'aurai omis ;
- vous manifester comme membre intéressé pour participer au projet.
Note : Le nombre de personnes intéressées par le projet n'a pas de minima ou de maxima. Par contre, une fois la deadline des inscriptions à l'équipe atteinte (qui sera définie un peu plus tard par la suite), le chiffre de l'équipe sera fixe (on ne va pas incorporer d'autres membres 2 semaines après). Notez aussi que ce projet n'a aucune limite dans le temps. Ca se fera, en temps voulu Rien ne presse Le web a vécu sans avant, il peut bien encore attendre un petit peu^^
- - -
Actualisation :
- - -
- J'ai trouvé le nom du tool !
- Le tool sera sous licence GNU GPL !
- Je suis entrain de faire la page (qui sera en anglais) du tool en html5/css3 ; elle sera donc située ici : http://toolname.hackademy.fr/index.html
Nous allons créer sous peu :
- un espace sur le forum (une section pour les membres opérant sur le projet).
- un irc (qui sera bien évidement accessible à irc.thehackademy.fr) avec deux chan, un pour l'hackademy en général (#hackademy) et un pour le projet (#toolname)
Trame :
1. Etablir la liste des développeurs qui vont travailler sur ce projet.
2. Libérer les accès (à la section, à l'irc, au sous-domaine).
3. S'organiser avant de commencer à scripter.
4. Commencer le développement du tool.
Pour ce qui est de l'aspect organisationnel, nous déterminerons :
- chaque tool (dans le tool principal) ;
- comment les aborder 1 à 1 (quels sont les formules mathématiques, etc. bref : recherches) ;
- qui s'occupe de quels tools (bien répartir, en fonction des niveaux, dispo, etc) ;
- qui s'occupe de relire les scripts des autres (ceux qui auront le meilleur niveau !) ;
- qui sont ceux qui vont réunir tous les tools en un (en fait je pense que ça ne sera qu'une seule personne, la plus qualifiée en python).
Je pense que cette étape d'interrogation, de recherche et de répartition du travail va prendre environ 2 semaines.
Inutile de se précipiter, mieux vaut réfléchir avant d'agir. Après, dans tous les cas, on verra "un peu sur le tas". Y'a toujours des imprévus. Mais... un minimum de réflexion préalable n'est pas inutile
Je pense qu'une semaine (environ) pour déterminer la liste des développeurs intéressés par le projet me paraît correct.
Manifestez-vous !!!
Commentaire