[solution]Challenge crypto Le psychopathe

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Challenge crypto Le psychopathe

Message par Backup »

G-Rom a écrit :Recrypte donc ta chaine avec ! et non xor , car le résultat ne donne pas la même chose
oui ! c'est pas bien normal d'ailleurs :roll: bug ?
lepiaf31
Messages : 510
Inscription : dim. 25/mars/2007 13:44
Localisation : Toulouse, France
Contact :

Re: Challenge crypto Le psychopathe

Message par lepiaf31 »

Je ne pense pas que ce soit un bug. le symbole '!' est pour effectuer une opération XOR sur la représentation binaire alors que 'xor' est utilisé comme opération logique boléenne (true ou false). Donc en fait ca marche correctement puisque toute valeur différente de zero equivaut à true et zero equivaut à false.
donc en fait 'A' Xor 'C' revient à faire true Xor true ce qui donne false.
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: Challenge crypto Le psychopathe

Message par SPH »

Je vais encore me faire insulter mais ton challenge a comporté trop d'incoherence depuis le debut...
Tu dis que la clé est de longueur 6 et que la premiere lettre est un E. La aussi : incoherence. Ton texte n'est plus vraiment du texte :
dk=69 Qoze|hexl°keneeªflªpepp{qek®eªfeeªª{ñ{eeiªqª|fqpiv

!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 Le psychopathe

Message par Le psychopathe »

J'ai vérifié la clef fonctionne, avec le code de decryptage que j'ai mis dans les tutos.
Ensuite c'est pareil :
x ! x donne pareil que x xor x car je me suis embeté a faire un xor sur chaque bit.
J'ai tout vérifié donc allez courage ;)
Dernière modification par Le psychopathe le lun. 12/juil./2010 11:21, modifié 1 fois.
Avatar de l’utilisateur
Le psychopathe
Messages : 764
Inscription : jeu. 03/mars/2005 19:23

Re: Challenge crypto Le psychopathe

Message par Le psychopathe »

SPH a écrit :Je vais encore me faire insulter mais ton challenge a comporté trop d'incoherence depuis le debut...
Tu dis que la clé est de longueur 6 et que la premiere lettre est un E. La aussi : incoherence. Ton texte n'est plus vraiment du texte :
dk=69 Qoze|hexl°keneeªflªpepp{qek®eªfeeªª{ñ{eeiªqª|fqpiv

Utilises ma fonction de decryptage dans tutos ! met je juste le E majuscule pour la clé et on en reparle.
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: Challenge crypto Le psychopathe

Message par SPH »

Le psychopathe a écrit :Utilises ma fonction de decryptage dans tutos ! met je juste le E majuscule pour la clé et on en reparle.
Je ne crois pas du tout en ton challenge !
Tu verras que tu corrigera tes erreurs. Je suis loin d'etre bete et je sais que j'ai raison...

!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 Le psychopathe

Message par Le psychopathe »

SPH a écrit :
Le psychopathe a écrit :Utilises ma fonction de decryptage dans tutos ! met je juste le E majuscule pour la clé et on en reparle.
Je ne crois pas du tout en ton challenge !
Tu verras que tu corrigera tes erreurs. Je suis loin d'etre bete et je sais que j'ai raison...
Heuresement que j'ai dis que tout est bon et vérifié ! Donc pour ton plus grand bonheur voilà la soluce.
J'espère que tu vas admettres tes tords.

Code : Tout sélectionner

; /////////////////////////Cryptage Xor///////////////////////
; ////////////////////////Le psychopathe//////////////////////
; ///////////////////////////07/07/2010///////////////////////


Global cle$="Eureka"


Procedure senddecrypt(cle$)
  pointeur=1
  ; recupération des datas :
  Restore dta
  Debug "Taille du fichier de données = " + Str(?endofmydata - ?dta)
  taille = (?endofmydata - ?dta)
    
  For i=1 To taille
    Read.b b2.b
  
  b3.b=Asc(Mid(cle$,pointeur,1))
    b.b=b2!b3
    Final$ = Final$ + Chr(b)
    pointeur+1
  If pointeur>Len(cle$)
    pointeur=1
  EndIf
Next
Debug c$
  Debug Final$
EndProcedure

senddecrypt(cle$)

DataSection:
  dta:
Data.b 12,22,27,73,75,23,42,0,1,69,10,17,53,7,23,11,15,19,32,15,82,-123,75,21,55,28,23,23,75,4,35,19,27,6,10,2,32,24,23,11,31,65,51,26,1,69,31,0,39,25,23
Data.b 4,30,25,107,85,55,3,13,4,38,1,27,19,14,12,32,27,6,73,75,8,41,85,1,0,75,17,32,0,6,69,26,20,32,85,4,10,30,18,101,20,11,0,17,65,33,16,1,69,31,0,39,25
Data.b 23,4,30,25,101,22,29,11,31,4,43,20,28,17,75,5,32,6,82,1,4,15,43,-100,23,22,75,73,43,26,31,7,25,4,54,89,82,6,3,0,44,27,23,22,75,5,32,85,17,4,25,0
Data.b 38,1,-102,23,14,18,105,91,92,75,66,65,32,1,82,20,30,4,101,3,29,16,24,65,33,-100,1,12,25,8,32,15,82,17,25,8,32,7,82,21,10,19,101,26,0,1,25,4,101,22
Data.b 0,10,2,18,54,20,28,17,68,5,-84,22,0,10,2,18,54,20,28,17,75,2,32,85,6,4,9,13,32,20,7,75,75,37,36,27,1,69,8,4,101,22,19,22,71,65,44,25,82,0,24,21,101
Data.b 5,0,-116,13,-120,55,20,16,9,14,65,33,82,7,17,2,13,44,6,23,23,75,20,43,85,22,0,24,65,36,25,21,10,25,8,49,29,31,0,24,65,33,16,82,17,25,8,101,17,23
Data.b 69,8,4,49,1,23,69,24,4,38,1,27,10,5,79
endofmydata:
EndDataSection
Taille du fichier de données = 324 :
Ici, vous apprendrez à trier efficacement vos tableaux. Effectivement, il se peut que vous ayez des tableaux contenant des données (nombres, chaines de caractères,...) et que vous désiriez trier par ordre croissant/décroissant ce tableau. Dans ce cas, il est préférable d'utiliser un des algorithmes de tri de cette section.
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: Challenge crypto Le psychopathe

Message par SPH »

Le psychopathe a écrit :heuresement que j'ai dis que tout est bon et vérifié ! Donc pour ton plus grand bonheur voilà la soluce.
J'espère que tu vas admettres tes tords.
J'ai verifié et reverifié et ca n'a jamais marché. Pourquoi ca marche maintenant ? Simple : tu as réédité ton premier post pour corriger ton erreur :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 Le psychopathe

Message par Le psychopathe »

SPH a écrit :
Le psychopathe a écrit :heuresement que j'ai dis que tout est bon et vérifié ! Donc pour ton plus grand bonheur voilà la soluce.
J'espère que tu vas admettres tes tords.
J'ai verifié et reverifié et ca n'a jamais marché. Pourquoi ca marche maintenant ? Simple : tu as réédité ton premier post pour corriger ton erreur :idea:
Serieux SPH tu me soules mais méchant ! j'ai juste édité le premier post mon rajouter soluce dans le titre. Tu n'as vérifer les data, c'est les mêmes. Je n'ai rien changé. Alors admets que tu t'es enervé pour rien. Après j'y peux rien si tu n'as pas assez de recule pour faire la part des choses.

J'attends une confirmations des gens qui ont participé au challenge pour approuver mes dires. J'espère qu'il y a quelqu un qui a sauvegardé le code sous PB. Car bientôt SPh va me faire passer pour un menteur !
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Challenge crypto Le psychopathe

Message par Backup »

Le psychopathe a écrit : J'attends une confirmations des gens qui ont participé au challenge pour approuver mes dires. J'espère qu'il y a quelqu un qui a sauvegardé le code sous PB. Car bientôt SPh va me faire passer pour un menteur !
oui moi !!

j'ai recuperé tes Data pour mettre de coté, je n'ai jamais trouvé le temps de l'y mettre

mais les voici tel que je les aient récuperé au debut ! :)

Code : Tout sélectionner

Data.b 12,22,27,73,75,23,42,0,1,69,10,17,53,7,23,11,15,19,32,15,82,-123,75,21,55,28,23,23,75,4,35,19,27,6,10,2,32,24,23,11,31,65,51,26,1,69,31,0,39,25,23
Data.b 4,30,25,107,85,55,3,13,4,38,1,27,19,14,12,32,27,6,73,75,8,41,85,1,0,75,17,32,0,6,69,26,20,32,85,4,10,30,18,101,20,11,0,17,65,33,16,1,69,31,0,39,25
Data.b 23,4,30,25,101,22,29,11,31,4,43,20,28,17,75,5,32,6,82,1,4,15,43,-100,23,22,75,73,43,26,31,7,25,4,54,89,82,6,3,0,44,27,23,22,75,5,32,85,17,4,25,0
Data.b 38,1,-102,23,14,18,105,91,92,75,66,65,32,1,82,20,30,4,101,3,29,16,24,65,33,-100,1,12,25,8,32,15,82,17,25,8,32,7,82,21,10,19,101,26,0,1,25,4,101,22
Data.b 0,10,2,18,54,20,28,17,68,5,-84,22,0,10,2,18,54,20,28,17,75,2,32,85,6,4,9,13,32,20,7,75,75,37,36,27,1,69,8,4,101,22,19,22,71,65,44,25,82,0,24,21,101
Data.b 5,0,-116,13,-120,55,20,16,9,14,65,33,82,7,17,2,13,44,6,23,23,75,20,43,85,22,0,24,65,36,25,21,10,25,8,49,29,31,0,24,65,33,16,82,17,25,8,101,17,23
Data.b 69,8,4,49,1,23,69,24,4,38,1,27,10,5,79,-1
ps : j'avais ajouté "-1" a la fin pour tester la fin des data dans mon court essai ;)
Avatar de l’utilisateur
Le psychopathe
Messages : 764
Inscription : jeu. 03/mars/2005 19:23

Re: [solution]Challenge crypto Le psychopathe

Message par Le psychopathe »

@Dobro Merci beaucoup.

Peux tu tester avec la fonction decrypte dans la section tutos, car là j'ai pas édité mon post ;) Comme ça il n'y aura plus d'ambiguité.
Ensuite SPH je pense que tu n'as pas compris le Xor, tu pense que c'est comme ton challenge de crypto alors que ce n'est pas du tout pareil. Car là on effectue une oppation mathématique avec une table logique sur les 8 bits d'ine valeur ASCII et on ne fait pas qu'une simple soustraction. Je peux comprendre que c'est frustrant mais de là à rejetter la faute sur moi et à ne pas se remettre en question par contre c'est intolérable !
Car les personnes qui auraient pus être interressés sont sans doute partis vue que tu as jeter le doute sur mon challenge.
Voilà, donc je vais faire un nouveau challenge sur le Xor avec tout de bien carré et vous laisses créer un algo de bruteforce. j'en ai déjà fais un mais je n'ai pas envie de le montrer tout de suite car j'espère bien qu'une personne va en faire un plus performant.
Merci @+
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: [solution]Challenge crypto Le psychopathe

Message par SPH »

Le psychopathe a écrit :SPH je pense que tu n'as pas compris le Xor
Oui, c'est vrai, je ne sais pas du tout ce que c'est :roll:

!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
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: [solution]Challenge crypto Le psychopathe

Message par G-Rom »

Ouf... voila le code BruteForce qui génère les clé possible avec le "E" en 1° caractère suivi de 4 caractère généré est un 0 à la fin.
le bruteforce sur 5 prends trop de temps...
le code du dessous génère un fichier de sorite d'environ 15mo soit 456976 lignes...
la clé est à la ligne 200121 , autant dire que c'est une galère quand on à aucune information. si tu n'avais pas donné d'indice c'était quasiment impossible à trouvé...
j'ai génère des fichier de plusieurs gio à analyser....

Code : Tout sélectionner

CRYPTED$        = "12,22,27,73,75,23,42,0,1,69,10,17,53,7,23,11,15,19,32,15,82,-123,75,21,55,28,23,23,75,4,35,19,27,6,10,2,32,24,23,11,31,65,51,26,1,69,31,0,39,25,23,4,30,25,107,85,55,3,13,4,38,1,27,19,14,12,32,27,6,73,75,8,41,85,1,0,75,17,32,0,6,69,26,20,32,85,4,10,30,18,101,20,11,0,17,65,33,16,1,69,31,0,39,25,23,4,30,25,101,22,29,11,31,4,43,20,28,17,75,5,32,6,82,1,4,15,43,-100,23,22,75,73,43,26,31,7,25,4,54,89,82,6,3,0,44,27,23,22,75,5,32,85,17,4,25,0,38,1,-102,23,14,18,105,91,92,75,66,65,32,1,82,20,30,4,101,3,29,16,24,65,33,-100,1,12,25,8,32,15,82,17,25,8,32,7,82,21,10,19,101,26,0,1,25,4,101,22,0,10,2,18,54,20,28,17,68,5,-84,22,0,10,2,18,54,20,28,17,75,2,32,85,6,4,9,13,32,20,7,75,75,37,36,27,1,69,8,4,101,22,19,22,71,65,44,25,82,0,24,21,101,5,0,-116,13,-120,55,20,16,9,14,65,33,82,7,17,2,13,44,6,23,23,75,20,43,85,22,0,24,65,36,25,21,10,25,8,49,29,31,0,24,65,33,16,82,17,25,8,101,17,23,69,8,4,49,1,23,69,24,4,38,1,27,10,5,79"


OpenConsole()
Global NewList Key$()
Global NewMap Decod.s()

Global KeyLen = 4

Procedure.s bf(s.s, m)
  l = Len(s) + 1
  pw.s
  For i = 97 To 122
    pw = s + Chr(i)   
    If l < m : bf(pw, m) : EndIf
    If Len(pw)=KeyLen
      AddElement(Key$())
      Key$() = "E"+pw+"0"
    EndIf 
  Next
EndProcedure

PrintN("BruteForce start !")
bf("",KeyLen) 
PrintN("BruteForce has generated "+Str(ListSize(Key$()))+" words")
PrintN("press [ENTER] to start decrypt")
Input()

ForEach Key$()
  Out$=""
  For i = 1 To CountString(CRYPTED$,",")+1
    idx%6
    idx+1
    aa.b = Val(StringField(CRYPTED$,i,","))
    bb.b = Asc(Mid(Key$()  ,idx,1))
    cc.i = aa ! bb
    Out$ = Out$ + Chr(cc)
  Next 
  Decod(Key$()) = Out$
Next 
  
PrintN("press [ENTER] to create output")
Input()
CreateFile(0,"out.txt")
ForEach decod()
  WriteStringN(0,"KEY = "+MapKey(decod())+"  XOR = "+Left(decod(),10)+"...")
Next 

Donc , en conclusion , ton code fonctionne parfaitement ! :mrgreen:
Avatar de l’utilisateur
SPH
Messages : 4947
Inscription : mer. 09/nov./2005 9:53

Re: Challenge crypto Le psychopathe

Message par SPH »

Le psychopathe a écrit :Les seuls façon de trouver la clef c'est uniquement par brute force ou dico.
Hum hum...

!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
Répondre