Challenge Crypto

Programmation d'applications complexes
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Challenge Crypto

Message par SPH »

En cryptographie, il faut toujours se poser cette question : et si l'algorithme de chiffrement tombait dans des mains ennemies, cela remettrait il en question la sécurité du texte chiffré ?
Par exemple, le texte chiffré "Buubrvfa" ne veux rien dire. Le texte a subit pour chaque lettre un décallage de +1. "Décallage de lettre de x rang" est l'algoritme. La clé est "1". On vois tout de suite que si l'algorithme deviens public, tout texte deviens tres facile a déchiffrer meme si on ignore la clé puisqu'il suffit d'essayer toutes les clés possibles (25) jusqu'a ce qu'on tombe sur un texte clair.
Donc, voici ce qu'on va faire. Chacun des participants postera un texte chiffré et l'algorithme qui lui a donné ce texte chiffré. Mais il ne donnera pas la clé. La solidité de l'algorithme sera ainsi mise a l'épreuve...
Postez donc un texte chiffré (sous forme d'octets) conséquent (une phrase de + de 50 mots. Pour en avoir une facilement, copiez la depuis des sites comme clubic) et l'algorithme qui vous a permis de l'obtenir. La clé que vous garderez devra ne pas faire plus de 8 caracteres (sinon ce n'est plus très pédagogique).
Répondez en postant le texte en clair et l'algorithme qui vous a permi de l'obtenir.
Tout cela sera fort instructif pour tout le monde. Et vous verrez qu'il y aura des algo differents selon que l'on crypte ou décrypte un message.

Voici mon challenge :

Code : Tout sélectionner

txt$="..."   
cle$="..."

pointeur=1
a$="Data.b "

For i=1 To Len(txt$)
  b.b=Asc(Mid(txt$,i,1))
  b-Asc(Mid(cle$,pointeur,1))
  
  a$+Str(b)
  If Len(a$)> 150
    Debug a$
    a$="Data.b "
  Else
    a$+","
  EndIf
  
  pointeur+1
  If pointeur>Len(cle$)
    pointeur=1
  EndIf
Next

Debug a$
Data.b -37,15,15,127,7,-69,-5,21,12,0,6,-69,10,0,16,10,125,-69,6,4,-67,-6,-11,11,-70,18,22,4,-10,10,6,8,14,12,-7,-69,-2,20,-67,4,-3,7,6,8,-2,9,-8,-69,-2
Data.b 4,-67,11,125,7,-125,2,5,-8,6,2,-1,12,2,5,8,14,-70,18,18,9,-76,14,-5,-65,4,-8,0,0,12,8,2,-73,-8,-62,-1,23,17,-4,2,14,3,14,11,10,-76,0,8,-65,11,6,10
Data.b 0,7,1,15,-4,-76,-51,-54,-49,-43,-61,-76,7,-63,-120,14,12,-3,11,-1,-65,1,-4,-76,-24,9,25,6,3,0,-4,-70,0,11,5,3,9,-3,-120,-67,-8,10,10,3,17,-67,-5
Data.b 3,16,-4,11,-122,-73,-9,0,-70,2,5,0,-6,1,12,4,-53,-73,-32,0,-70,15,15,-4,1,4,-1,17,-67,4,-3,7,6,8,-2,9,-8,-69,-5,-65,-122,11,125,-69,-5,19,17,-4,-3
Data.b 9,14,-65,2,5,-76,15,12,14,6,10,-76,-4,8,18,-67,-6,3,9,14,17,2,-73,116,-69,10,4,6,5,-7,-69,-2,4,18,15,-76,11,9,20,15,-73,0,0,-70,18,2,-6,3,9,-2,-51
Data.b -67,-38,-4,-4,11,20,2,-73,-2,10,15,17,-67,-56,-55,-53,-70,12,6,3,0,4,9,13,16,-73,-8,-62,-1,23,17,-4,2,14,3,14,11,10,-76,14,-1,17,-2,0,-7,9,14,-65
Data.b 18,11,-3,7,3,18,-122,-4,7,-55
Dernière modification par SPH le sam. 03/juil./2010 17:35, modifié 6 fois.

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Avatar de l’utilisateur
TazNormand
Messages : 1297
Inscription : ven. 27/oct./2006 12:19
Localisation : Calvados (14)

Re: Challenge Crypto

Message par TazNormand »

Salut SPH,

tu pourrais éditer ton message et mettre ton Data sur plusieurs lignes, c'est illisible sinon
Image
Image
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: Challenge Crypto

Message par SPH »

Personne ne veux participer ? :| :idea:

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Avatar de l’utilisateur
gildev
Messages : 380
Inscription : mar. 19/juin/2007 10:28
Localisation : Picardie (France)

Re: Challenge Crypto

Message par gildev »

Pas assez de neurones pour ça. :lol:
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Re: Challenge Crypto

Message par Patrick88 »

le piratage ne m'interesse pas
Avatar de l’utilisateur
Le psychopathe
Messages : 764
Inscription : jeu. 03/mars/2005 19:23

Re: Challenge Crypto

Message par Le psychopathe »

je vais essayer ce soir après le taf de trouver ta clée. Mais laisses moi jusqu'à la fin de la semaine au moins.
Je te redis ça quand j'ai PB en amin.
Good07
Messages : 308
Inscription : ven. 23/avr./2004 18:08
Localisation : Hérault 34190 Laroque

Re: Challenge Crypto

Message par Good07 »

Bonjour SPH,

En fait ton code est très facile à craquer car il ne s'agit ni plus ni moins que d'un système polyalphabétique apparenté au code de Vigenère qui date quand même de 1587 ... :D
Le tiens pourrait faire penser au système Gronsfeld inventé au 19eme siècle pour simplifié l'utilisation de la table de Vigenère.
Le système que tu emplois est basé sur le même principe mais adapté à nos ordinateurs puisque tu travailles avec les codes ASCII des lettres au lieu de travailler avec la position des lettre dans l'alphabet. Par exemple pour moi, L=12 alors que chez toi L=108 en minuscule ou 76 en majuscule.
En fait pour décoder ce système, c'est très facile dés lors qu'on connait la longueur de la clef. En plus, mais tu as raison de dire que c'est pour une raison pédagogique que tu limites sa longueur à 8. Car en fait, plus la clef est courte plus ton message peut-être décodé facilement.
L'important au départ, c'est de connaitre la longueur de la clef et pour cela on utilise le système de coincidence. Prenons par exemple le phrase suivante:
CESTLEPLUSBEAUMESSAGE chiffré avec ton système par la clef (Je n'ai pas beaucoup d'imagination :D ) SPH
SPHSPHSPHSPHSPHSPHSPH

On s'aperçois vite que par exemple le H de SPH code le E de LE puis ensuite le E de BEAU et enfin le E final de MESSAGE. Si l'on compte le nombre de lettres entre ses trois coincidences on a successivement un écart de 6 entre le E de LE et le E de BEAU et 9 entre le E de BEAU et le E final de MESSAGE.
Ce que je t'indique est un système simpliste pour trouver la longueur de la clef, mais en regardant on s'aperçoit que les chiffres 6 et 9 sont tous les deux divisibles par 3, chiffre qui est égal à la longueur de ta clef. :twisted:
Ensuite le procédé de déchiffrement est simple, il suffit de relevé les lettres du message (dans ton cas ce sont des chiffres ...) par trois. Dans mon exemple cela donne ceci:

CES
TLE
PLU
SBE
AUM
ESS
AGE

Maintenant, on sait que la première colonne à été chiffré par la lettre S, la seconde par la lettre P et la troisième par la lettre H. Pour retrouver le message, il suffit de faire subir à chaque colonne un décalage de rang n pour retrouver et la clef et le texte clair.
Et plus la clef sera courte et plus le message sera long et plus ce sera facile. :D
Pour le transformer en message pratiquement indéchiffrable il suffit d'utiliser une clef de longueur identique au message à chiffrer. Dans ce cas, bonjour l'angoisse pour déchiffrer.
Je n'ai pas pris la peine de coder un programme pour avoir la solution, je l'ai déjà fais , mais il ne travaille qu'avec des lettres ... :(
Mais comme je le disais au début le principe de base est le même. :wink:
Mais bonne continuation quand même, c'est tout de même très intéressant et puis c'est bien d'apprendre en s'amusant. :D

André.
Avatar de l’utilisateur
Le psychopathe
Messages : 764
Inscription : jeu. 03/mars/2005 19:23

Re: Challenge Crypto

Message par Le psychopathe »

Je n'ai pas très bien compris ta technique mais par une autre méthode je pense avoir trouvé la longueur de la clef : 7.
SPH peux tu confimer ?

Edit :
Je ne suis pas d'accords avec toi car on a pas la chaine de depart donc tu ne peux pas savoir si c'est un E ou pas. Donc ta méthode ne fonctionne pas.
Le seul moyen d'y arriver et faire faire une attaque brute force couplée à un dico sur les 7 première lettres dans ce cas.
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Challenge Crypto

Message par Ar-S »

Belle explication André :wink:
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Cls
Messages : 620
Inscription : mer. 22/juin/2005 8:51
Localisation : Nantes

Re: Challenge Crypto

Message par Cls »

Ça sent le "Que sais - je ?" sur la cryptanalyse ça ! :D
Avatar de l’utilisateur
Le psychopathe
Messages : 764
Inscription : jeu. 03/mars/2005 19:23

Re: Challenge Crypto

Message par Le psychopathe »

Good07 a écrit :Bonjour SPH,

En fait ton code est très facile à craquer

Le système que tu emplois est basé sur le même principe mais adapté à nos ordinateurs puisque tu travailles avec les codes ASCII des lettres au lieu de travailler avec la position des lettre dans l'alphabet. Par exemple pour moi, L=12 alors que chez toi L=108 en minuscule ou 76 en majuscule.
En fait pour décoder ce système, c'est très facile dés lors qu'on connait la longueur de la clef. En plus, mais tu as raison de dire que c'est pour une raison pédagogique que tu limites sa longueur à 8. Car en fait, plus la clef est courte plus ton message peut-être décodé facilement.
L'important au départ, c'est de connaitre la longueur de la clef et pour cela on utilise le système de coincidence. Prenons par exemple le phrase suivante:
CESTLEPLUSBEAUMESSAGE chiffré avec ton système par la clef (Je n'ai pas beaucoup d'imagination :D ) SPH
SPHSPHSPHSPHSPHSPHSPH

On s'aperçois vite que par exemple le H de SPH code le E de LE puis ensuite le E de BEAU et enfin le E final de MESSAGE.Mais bonne continuation quand même, c'est tout de même très intéressant et puis c'est bien d'apprendre en s'amusant. :D

André.
Donc comme je l'ai dis plus haut, je ne suis pas du tout d'accord avec toi. Car tu pars en connaissant la chaine alors que là la chaine est cryptée.
Donc même si la clée a une longueur de 3 c'est très complexe car : C'est une phrase que tu ne connais pas donc omment savoir si c'est un E , un A , un I ou ? " € .
Ce qui fait que tu ne peux pas repérer comme tu l'as fais plus haut.
De plus notre cher SPH a utilisé ASCII étendu. Et là on va me dire : comment tu sais ça ?

C'est tout simple : dans les data nous avons des valeurs elevés : 125 par exemple et dans la même colonne -76 sachant que le code ASCII est exploitable à partir de la décimale 32. 32 + 76 = 108 donc au final la table ASCII pour cette colonne a un intervalle de 32 à (125+108) = 233 (é). Soit 199 possibilités au max mais comme il y a des symboles que l'on tape pas au clavier je dirai 185 en gros.

Si c'est si facile vas-y j'attends avec impatience ta réponse. Car pour moi il y a qu'une attque de brute force avec dico qui peut en venir à bout. Je code ça ce soir.
J'espère avoir donné une piste ^^ Cela fait 4 heures que je travail dessus juste sur papier. Au boulot je n'ai pas pb ^^

@SPH peux tu me confirmer que la clef a une longueur de 7, si c'est bon j'expliquerai comment j'ai trouvé. Ensuite peux tu aussi confirmé que tu as utilisé ASCII étendu. thx
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: Challenge Crypto

Message par SPH »

Le psychopathe a écrit :Je n'ai pas très bien compris ta technique mais par une autre méthode je pense avoir trouvé la longueur de la clef : 7.
SPH peux tu confimer ?
Non :mrgreen:
@Good07 : je suis en phase avec toi (meme si j'aurais voulu que tu pondes un code. Allez, je te laisse quelques jours) :wink:

Image

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Avatar de l’utilisateur
Le psychopathe
Messages : 764
Inscription : jeu. 03/mars/2005 19:23

Re: Challenge Crypto

Message par Le psychopathe »

ok, tant pis je vais continuer à chercher, sinon peux tu confirmer que tu as utilisé de l'ASCII étendu ? Soit de 0 a 255.
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: Challenge Crypto

Message par SPH »

Le psychopathe a écrit :ok, tant pis je vais continuer à chercher, sinon peux tu confirmer que tu as utilisé de l'ASCII étendu ? Soit de 0 a 255.
Le moteur est ceci :

Code : Tout sélectionner

b.b=Asc(Mid(txt$,i,1))
b-Asc(Mid(cle$,pointeur,1))
La clé est <8 et n'est pas 7 :mrgreen:
Le texte crypté est bien du texte avec de rares caracteres n'entrant pas dans l'alphabet et la clé est uniquement en lettre d'alphabet.
:idea: ...voila voila... :idea:

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Avatar de l’utilisateur
Le psychopathe
Messages : 764
Inscription : jeu. 03/mars/2005 19:23

Re: Challenge Crypto

Message par Le psychopathe »

SPH a écrit :
Le psychopathe a écrit :ok, tant pis je vais continuer à chercher, sinon peux tu confirmer que tu as utilisé de l'ASCII étendu ? Soit de 0 a 255.
Le moteur est ceci :

Code : Tout sélectionner

b.b=Asc(Mid(txt$,i,1))
b-Asc(Mid(cle$,pointeur,1))
La clé est <8 et n'est pas 7 :mrgreen:
Le texte crypté est bien du texte avec de rares caracteres n'entrant pas dans l'alphabet et la clé est uniquement en lettre d'alphabet.
:idea: ...voila voila... :idea:
Ne t'inquiète pas je l'avais bien compris. Merci pour ces précisions.
Répondre