Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

petit exercice pour les pros ......

50 réponses
Avatar
Firetox
Bonjour, a tous,

voila avec les infos suivantes qui peut me donner la clé utiliser (cle
publique) et le texte en clair : combien de temps pour casser le cryptage ?

voici un texte code : avec une cle de 16 carracteres (pour facilite ce sont
des lettres pas de caracteres speciaux)

139184200176163170188185108168201196108186189180185311195176097165175117174164
201181108171169097169190196185298166189117190168194177192176179175179180194119
097164185194188164200177174179169097293111186176180097186199187167203185192186
100164180188195176097133140135108167125153142148112097148193183174173166118117
159148162112159172182183170193118175166097151190175181197195187173184097170195
118183166097186199187167203185192103179177170189118190176182188184177099166191
191187139179170162167151111097150186108175197183181170173166177111183107165166
191205108179200185186170173177166196206107164176183197187182183190192186100123
101187187107180166188203177184200112176172100163166194187190097165175117176178
196190309172183109101192203180097166189201108172196195192168176173302111201192
179097182182108176320189177103177162168183191185166097187202177099194181191103
166162184180201107165166106185187177196313177186100166185111194114170175190186
190169183179177103165177181187191174162181179203177111118179187180177182179312
195176175181106182188179187188309172100173166111233173170163182190187183190312
189188169097168187191176175181222131108143183112174176166173174190202179297178
191186108166194185177181184097170194202107182175106184187176198191191168178181
101230118192175166106153152143118195187188183097156184196175176184189117187184
118197186103179163175180202107177162188201173170319112116117183176110111201192
179097182186191099183197192185169180101191194172181166189130178178200189177186
100216101189319174166180189182181181187112191188182097168183183188182166106200
192164202185187181100164177184187185181166106185173177201112184172100164166179
200176097165113202186099186313188179179170170188187185181097174186193187131196
181172182180115111166186182179106193177182118180309183176176174180195176175181
189117185184194196181116184170170193201119097178191182186167118188177186100182
185184194180180162190186193181201112173170167297169180196191097162191205108165
183195177186100165170111186186175175307186191099310112192185165183170193201107
182175106194181167186188177190165179170111186176177182179200108184196112186168
186170172176202176182179106204177165118191193103165182185193187107212164182190
177177202112184304171166183227130107173162106183181165194185187187172297182196
187107164173179186186183187112146176182166167184200175097175113186191183118192
173186100165302191194186186298175117191184200112184172183097184195183191170176
184200108167187195108188184170177184201172181166191199191099195177181186100182
179184199192166174175195192099183197108186169170179111186192097174179185176175
187199173185169111145180118190166179192186193181118150181185169163174193186107
173162179200191168118197186172100167166184184183166097221186185179200181181181
184166217111186172175180106193177099201201191187300174170111186176097167179184
180172187194191103181182166189186107170173106186191183118185186186184162177187
319107180182188117184164118189173170172170179180118190166179192186193181132112
152110100166189312185192181162172193177099188177181187100174180184196190097165
175117125113139112153169100166185111203185166097179195191183183188184168184170
180189118174176174186193308183187124108168186166168111194176180097185202192172
194195108172184097177176118175176164191194177177202177192176179175113111198189
166175174117185178191190191103168166101128134107142163120117152106197179175188
180162185184197185097174307194187172200181108189165179174180200172097166184117
178178196179192176179175101179203107165298186193187172187189177181184109101192
203180097177175202192099183188184172182097169118203185166097171197188175191179
173187173176179111195186175176106202192172194185191168184166186193118192181170
182190191164196196108188178166101194187192173166106183173182187112176172100165
180189196308166180106309108167187195108170169175185176191185166180106185177099
185191186181169185174190196190097164185195175184200194177181184166184111204176
179180106185177099195197184187173177177180201107163162189186191099186181108171
179175179312187190097180175199194164196196108171169180101178187185181162179195
177182118180115188184170177184201172181166191199191099183197108186169170179111
186114182175106193173181189181108185301180170176203121135170188186174172200180
108172183181101188183180175181175195193099187196108171301183170187197187177298
106197173181118197186172100164180188195192175162191201309099186181108171301183
170187197187177166191199191099186197108180179175169180118176175181179186190113
118147115172183181101196196107177179185191177183118191188172178097184190203189
164166118117186178196112175182177174170193185180162173106182188179183194192172
178162179195118172182185106185309185187188187183180166186193201121097266190182
186183118180181186184179174177203308097164185194188175318196177180169175185111
194180163179175117176106190191186182182162174193187190109097182186108167200191
181187100165108180206187173176179201173183191191186103178104170194202107180176
191199175168118180177103182166187180196192180097186196193181118192177185183176
179189187121


voici l'algo en php qui a crypte cette chaine :

$PrivateKey = "";
$indiceCle=1;
$UrlCrypte="";
for ($i=0; $i<strlen($PublicKey); $i++)
$PrivateKey =
sprintf("%s%s",$PrivateKey,chr(fmod((ord($PublicKey[($i)])*101/(($i+1)*9)),25)+65));

$i=0;
$indiceCle=0;
while( $i<strlen($URL)){
if($indiceCle >= (strlen($PrivateKey)))
$indiceCle=0;
$UrlCrypte=sprintf("%s%03d",$UrlCrypte,(ord($URL[$i])+ord($PrivateKey[$indiceCle])));
$indiceCle++;
$i=$i+1;
}
return $UrlCrypte;

la question est :

qui peut me donner la cle utilisée et le texte en clair ?
si quelqu'un peu en combien de temps pense t il pouvoir casser le cryptage
(je pense que cela est cassable facilement mais en combien de temps ?)

merci d'avance a ceux qui voudront essayer)

10 réponses

1 2 3 4 5
Avatar
Arnold McDonald \(AMcD\)
Firetox wrote:
Bonjour, a tous,

voila avec les infos suivantes qui peut me donner la clé utiliser (cle
publique) et le texte en clair : combien de temps pour casser le
cryptage ?
voici un texte code : avec une cle de 16 carracteres (pour facilite
ce sont des lettres pas de caracteres speciaux)


Ton algorithme n'est pas terrible.

Tout d'abord, il génère 3 fois plus de données en sortie qu'en entrée.
Économiquement parlant, c'est une ruine. Ensuite tu ne vérifies pas en
sortie que les codes soient compris netre 0 et 255. On voit par exemple un
code 309. C'est bien si tu bosses en ASCII étendu, mais si tu utilises un
autre alphabet...

Programmatiquement parlant, on n'utilise pas des $i < strlen() dans des
bocules, c'est une ruine en overhead (temps machine) ! Etc. Etc.

Pour casser ton truc, bof. Comme du Vigénère. Tu "reconstruis" les codes,
par exemple les 9 caractères 139184200 deviennent les 3 nombres 139, 184 et
200. Ensuite, tu fais une analyse de fréquences sur chaque nombre, modulo 16
sur son index, puisque ta clé est de 16 caractères.

--
Arnold McDonald (AMcD)

http://arnold.mcdonald.free.fr/

Avatar
elecoest
[CUT]

Pour casser ton truc, bof. Comme du Vigénère. Tu "reconstruis" les co des,
par exemple les 9 caractères 139184200 deviennent les 3 nombres 139, 18 4 et
200. Ensuite, tu fais une analyse de fréquences sur chaque nombre, modu lo 16
sur son index, puisque ta clé est de 16 caractères.


Ce qui est sur c'est que 1 caractère = un nombre de 3 caractères.

On a bien 117 caractères (triplet) distincts => on est donc dans le
spectre ANSI
Le triplet le plus petit est 97 et le plus grand est 320 sauf que si on
réécrit les transformations (c'est là que j'ai du me tromper) :

PrivateKey[i] = chr(ord(PublicKey[i])*101/((i+1)*9)) % 25) + 65)

UrlCrypte[i]= (ord(Clair[i])+ord(PrivateKey[i]) (Dans une portion de
clé)

les valeurs des caractères de la PrivateKey ne peuvent évoluer
qu'entre 65 et 89 (65+24) à cause du modulo quelque soit les valeurs
de la PublicKey.

Chaque caractère du clair subit donc une translation variant entre 65
et 89.

Je vais continuer mes petites (petites car totalement débutant)
analyses. Mais si tu pouvais me dire si mes premières constatations
sont bonnes :)

++

Avatar
Firetox
Bonjour,


"Arnold McDonald (AMcD)" a écrit dans le message de
news: 44d1ddd2$0$690$
Firetox wrote:
Bonjour, a tous,

voila avec les infos suivantes qui peut me donner la clé utiliser (cle
publique) et le texte en clair : combien de temps pour casser le
cryptage ?
voici un texte code : avec une cle de 16 carracteres (pour facilite
ce sont des lettres pas de caracteres speciaux)


Ton algorithme n'est pas terrible.

Tout d'abord, il génère 3 fois plus de données en sortie qu'en entrée.
Économiquement parlant, c'est une ruine.
oui mais c'est fait expres


Ensuite tu ne vérifies pas en sortie que les codes soient compris netre 0
et 255. On voit par exemple un code 309. C'est bien si tu bosses en ASCII
étendu, mais si tu utilises un autre alphabet...
effectivement mais si ca te pose un probleme , pourtant ca n'en pose aucun

pour decrypter


Programmatiquement parlant, on n'utilise pas des $i < strlen() dans des
bocules, c'est une ruine en overhead (temps machine) ! Etc. Etc.
oui je sais mais je suis pas specialiste PHP le language qui envoi la chaine

peut etre en c
ou en windev. mais php est obligatoire donc j'ai trouve ca mais n'etant pas
specialiste php ca peut
etre accelere


Pour casser ton truc, bof. Comme du Vigénère. Tu "reconstruis" les codes,
par exemple les 9 caractères 139184200 deviennent les 3 nombres 139, 184
et 200. Ensuite, tu fais une analyse de fréquences sur chaque nombre,
modulo 16 sur son index, puisque ta clé est de 16 caractères.


attention petite confidence la cle calculer tourne donc le A ne sera jamais
la meme valeur, du moins il peut en prendre 16
comme chaque lettre donc pour l'analyse de frequence c'est pas top



--
Arnold McDonald (AMcD)

http://arnold.mcdonald.free.fr/




Avatar
Firetox
a écrit dans le message de news:


[CUT]

Pour casser ton truc, bof. Comme du Vigénère. Tu "reconstruis" les codes,
par exemple les 9 caractères 139184200 deviennent les 3 nombres 139, 184
et
200. Ensuite, tu fais une analyse de fréquences sur chaque nombre, modulo
16
sur son index, puisque ta clé est de 16 caractères.


Ce qui est sur c'est que 1 caractère = un nombre de 3 caractères.
oui ca allonge un peu mais c'est fait expres

On a bien 117 caractères (triplet) distincts => on est donc dans le
spectre ANSI
Le triplet le plus petit est 97 et le plus grand est 320 sauf que si on
réécrit les transformations (c'est là que j'ai du me tromper) :

PrivateKey[i] = chr(ord(PublicKey[i])*101/((i+1)*9)) % 25) + 65)

UrlCrypte[i]= (ord(Clair[i])+ord(PrivateKey[i]) (Dans une portion de
clé)

les valeurs des caractères de la PrivateKey ne peuvent évoluer
qu'entre 65 et 89 (65+24) à cause du modulo quelque soit les valeurs
de la PublicKey.

exact chaque lettre peut ansi prendre autant de valeur que la longueur de
la cle publique, la cle privee pourvant transformer chaque lettre de la cle
public
en 24 possibilites.

Chaque caractère du clair subit donc une translation variant entre 65
et 89.

oui et non en fait chaque caracter peut prendre cette translation mais
suivant sa position dans la chaine en clair la translation ne sera pas la
meme

Je vais continuer mes petites (petites car totalement débutant)
analyses. Mais si tu pouvais me dire si mes premières constatations
sont bonnes :)

++

Avatar
Arnold McDonald \(AMcD\)
Firetox wrote:

attention petite confidence la cle calculer tourne donc le A ne sera
jamais la meme valeur, du moins il peut en prendre 16
comme chaque lettre donc pour l'analyse de frequence c'est pas top


Mais si c'est top... As-tu déjà cassé du Vigénère pour t'amuser ? Dites les
gars, et si vous commenciez par un bon cours de crypto :-) ?

Tout au moins, commencez par comprendre comment on casse des trucs du style
Vigenère :

http://www.bibmath.net/crypto/poly/viganalyse.php3
http://fr.wikipedia.org/wiki/Cryptanalyse_du_chiffre_de_Vigen%C3%A8re

--
Arnold McDonald (AMcD)

http://arnold.mcdonald.free.fr/

Avatar
Arnold McDonald \(AMcD\)
wrote:

Chaque caractère du clair subit donc une translation variant entre 65
et 89.


Non. Si on "réécris" ton chiffre, on a des valeurs > 255. Par exemple :

17e : 311
236e : 309
256e : 302

Etc.

Si je prends 302-89, j'obtiens 213, qui, en ASCII, n'est pas une lettre
"a-z, A-Z". 302-65 = 237, ça n'en est pas une non plus. Donc, ton programme
foire ou, grand classique, tu as donné un texte chiffré qui en clair ne veut
rien dire... Parce que si on s'en tient à des lettres '65-90' et '97-122',
les codes maxis en sortie sont donc 90+89 = 179 et 122+89 = 211. Il y a des
dizaines de valeurs supérieures à 211 dans ton chiffre...

--
Arnold McDonald (AMcD)

http://arnold.mcdonald.free.fr/

Avatar
Firetox
ben alors essayer

le but est de savoir combien de temps tiendrait le cryptage pas de savoir si
il est cassable ou non
je connaissais deja l'adresse et je me suis amuse avec.
j'ai meme edutier a peu pres tous les cryptages, j'y ai passe a peu pres 1
mois, et avec tout ca j'ai ecrit ce cryptage. le but n'etait pas de rendre
le cryptage inviolable mais disons un cryptage qui ermettrait de tenir assez
longtemps. et de mettre en place une cle publique qui changerais a chaque
echange.

donc maintenant me dire qu'il est casable : ca je le savais deja
me dire que c'est pas top : tres bien (je demande a voir)
me donner des cours : pourqoui pas

mais repondre a ma question aurait ete plus interresant
en combien de temps pensez vous trouver la cle et decrypter l'exemple que
j'ai mis

j'ai deja eu une conversation analogue mais toujours les memes reponses :
ton truc est facile etc ... mais personne me donne la solution et le temps
mis.

a croire que tous le monde c'est faire facilement rapidement mais pas
d'exemple concret.
alors je reitere :

avec l'exemple quelle est la cle le texte ou si c'est un peu long combien de
temps pour le casser?
si quelqu'un me dit 1 jours je veux bien dans 2 jours voir un message avec
la solution, mais j'attend






"Arnold McDonald (AMcD)" a écrit dans le message de
news: 44d1ee15$0$19735$
Firetox wrote:

attention petite confidence la cle calculer tourne donc le A ne sera
jamais la meme valeur, du moins il peut en prendre 16
comme chaque lettre donc pour l'analyse de frequence c'est pas top


Mais si c'est top... As-tu déjà cassé du Vigénère pour t'amuser ? Dites
les gars, et si vous commenciez par un bon cours de crypto :-) ?

Tout au moins, commencez par comprendre comment on casse des trucs du
style Vigenère :

http://www.bibmath.net/crypto/poly/viganalyse.php3
http://fr.wikipedia.org/wiki/Cryptanalyse_du_chiffre_de_Vigen%C3%A8re

--
Arnold McDonald (AMcD)

http://arnold.mcdonald.free.fr/




Avatar
Firetox
oui exact mais je tien a dispo le texte en clair
manu peut te dire que je n'ai pas bidouille le texte code , je l'ai pris
dans le prog
et je peux le decrypter quant tu veux en 1 seconde

maintenant ca a l'air moins simple que prevu ?


"Arnold McDonald (AMcD)" a écrit dans le message de
news: 44d1f129$0$19720$
wrote:

Chaque caractère du clair subit donc une translation variant entre 65
et 89.


Non. Si on "réécris" ton chiffre, on a des valeurs > 255. Par exemple :

17e : 311
236e : 309
256e : 302

Etc.

Si je prends 302-89, j'obtiens 213, qui, en ASCII, n'est pas une lettre
"a-z, A-Z". 302-65 = 237, ça n'en est pas une non plus. Donc, ton
programme foire ou, grand classique, tu as donné un texte chiffré qui en
clair ne veut rien dire... Parce que si on s'en tient à des lettres
'65-90' et '97-122', les codes maxis en sortie sont donc 90+89 = 179 et
122+89 = 211. Il y a des dizaines de valeurs supérieures à 211 dans ton
chiffre...

--
Arnold McDonald (AMcD)

http://arnold.mcdonald.free.fr/




Avatar
Firetox
"Arnold McDonald (AMcD)" a écrit dans le message de
news: 44d1f129$0$19720$
wrote:

Chaque caractère du clair subit donc une translation variant entre 65
et 89.


Non. Si on "réécris" ton chiffre, on a des valeurs > 255. Par exemple :

17e : 311
236e : 309
256e : 302

Etc.

Si je prends 302-89, j'obtiens 213, qui, en ASCII, n'est pas une lettre
"a-z, A-Z". 302-65 = 237, ça n'en est pas une non plus. Donc, ton
programme foire ou, grand classique, tu as donné un texte chiffré qui en
clair ne veut rien dire... Parce que si on s'en tient à des lettres
'65-90' et '97-122', les codes maxis en sortie sont donc 90+89 = 179 et
122+89 = 211. Il y a des dizaines de valeurs supérieures à 211 dans ton
chiffre...


non mais tu as commis une erreur A-Z A-Z d'accord mais quid des à, é , è ?
et autre ponctuation ?
qui sont aussi dans le texte qui parle d'une base de données



--
Arnold McDonald (AMcD)

http://arnold.mcdonald.free.fr/




Avatar
Firetox
j'ai dit que la cle etait seulement des lettres pas le texte code


"Arnold McDonald (AMcD)" a écrit dans le message de
news: 44d1f129$0$19720$
wrote:

Chaque caractère du clair subit donc une translation variant entre 65
et 89.


Non. Si on "réécris" ton chiffre, on a des valeurs > 255. Par exemple :

17e : 311
236e : 309
256e : 302

Etc.

Si je prends 302-89, j'obtiens 213, qui, en ASCII, n'est pas une lettre
"a-z, A-Z". 302-65 = 237, ça n'en est pas une non plus. Donc, ton
programme foire ou, grand classique, tu as donné un texte chiffré qui en
clair ne veut rien dire... Parce que si on s'en tient à des lettres
'65-90' et '97-122', les codes maxis en sortie sont donc 90+89 = 179 et
122+89 = 211. Il y a des dizaines de valeurs supérieures à 211 dans ton
chiffre...

--
Arnold McDonald (AMcD)

http://arnold.mcdonald.free.fr/




1 2 3 4 5