OVH Cloud OVH Cloud

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
Erwann ABALEA
Bonjour,

Je prend le machin en route...

Hodie III Non. Aug. MMVI est, Firetox scripsit:
"Arnold McDonald (AMcD)" a écrit dans le message de
news: 44d1f129$0$19720$
[...]

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


En quel charset/codepage? L'ASCII ne standardise que 128 caractères
possibles, avec des valeurs de 0 à 127. Tout le reste (128 à 255) est
"spécifique". Le texte clair a été saisi sur quel type de machine/OS?

--
Erwann ABALEA - RSA PGP Key ID: 0x2D0EABD5
-----
Demande éclaircissements: - que signifie "Suivi-à positionné sur fuad"?
"quoter" je présume voulant dire, raccourcir? "gâchi des ressources"
comment ça? C'est qui, quoi, Usenet.abus ? et vous-même qui êtes vous ?
-+- AH in: Guide du Neuneu d'Usenet - Questions pour un champion -+-


Avatar
Firetox
portable AMD athlon 64 / windows XP

la cle ne presente que des lettres comprise entre A et Z
le texte lui est un texte normale, avec ponctuation, accents etc ....



"Erwann ABALEA" a écrit dans le message de news:

Bonjour,

Je prend le machin en route...

Hodie III Non. Aug. MMVI est, Firetox scripsit:
"Arnold McDonald (AMcD)" a écrit dans le message
de
news: 44d1f129$0$19720$
[...]

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


En quel charset/codepage? L'ASCII ne standardise que 128 caractères
possibles, avec des valeurs de 0 à 127. Tout le reste (128 à 255) est
"spécifique". Le texte clair a été saisi sur quel type de machine/OS?

--
Erwann ABALEA - RSA PGP Key ID: 0x2D0EABD5
-----
Demande éclaircissements: - que signifie "Suivi-à positionné sur fuad"?
"quoter" je présume voulant dire, raccourcir? "gâchi des ressources"
comment ça? C'est qui, quoi, Usenet.abus ? et vous-même qui êtes vous ?
-+- AH in: Guide du Neuneu d'Usenet - Questions pour un champion -+-




Avatar
Arnold McDonald \(AMcD\)
Firetox wrote:

ben alors essayer


Crois-tu que je n'ai que celà à faire mon petit ami ? Des algos de crypto
j'en ai cassé des dizaines, quelques-uns ici même. C'est toujours la même
rengaine :

1 - Un comique, un débutant, un génie, arrive ici avec son super-algo.
2 - Il a lu 3 pages sur la crypto et est donc un super-spécialiste.
3 - Il n'écoute aucun conseil, puisque son algo est le meilleur et que lui
même est le meilleur.
4 - Malgré les pistes, les remarques, malgré le démontage parfois complet de
son algo, rien à faire ! Tant qu'on a pas déchiffré son texte il n'y croit
pas !
5 - Et si jamais on déchiffre, on a triché !

On ne peut que te répondre de commencer par apprendre à coder, puis la
crypto. Avec un peu plus d'expérience, tu comprendrais vite pourquoi ton
algo n'offre aucun intérêt, aucune sécurité et est à éviter.

Allez, je suis gentil, une exemple. Ta clé privée là, elle est sujette à
collision.

Chiffre par exemple la clé "ABC", t'auras "EUA" en clé privée. Chiffre la
clé "rsk" maintenant, t'obtiens quoi ? Ben "EUA"... Plusieurs clés publiques
peuvent donc créer une même clé privée. Rien que celà, c'est la mort de ton
algo. Bah oui, si je te dis ta clé en clair c'est "rsk", tu pourras
répondre, non, c'est "ABC"...

Bref ton algo n'a aucun intérêt, tu nous crois, tu nous crois pas, ce n'est
pas grave, c'est ton problème. Évite tout de même de chiffrer des données
bancaires avec...

--
Arnold McDonald (AMcD)

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

Avatar
elecoest

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


On est d'accord c'est pas de l'ascii mais de l'ansi. Ce qui m'inspire
que les chiffres > 280 seraient des caractères accentués.

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 pro gramme
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-12 2',
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 connaissant Fred je ne pense pas. Le texte est un vrai texte mais
c'est vrai que la méthode de fréquence d'apparition des lettres
(applet trouvé sur un des site que tu m'as refilé) se base uniquement
sur l'alphabet de A à Z alors que là il faudrait les fréquences sur
tous les caractères possible sous windows.

L'un de vous a çà sous le coude ?


Avatar
Firetox
voila toujours le meme style de reponse

ce que je veux savoir c'est combien de temps
je ne pense avoir mis au point un algo hyper fiable, c'est justement pour ca
que je pose la question

si vous dechiffrez le texte est bien j'en serais fort heureux deja pour
progresser et ensuite pouvoir l'ameliorer
le fait qu'il puisse y avoir plusieurs cle publique est fait expres le code
de genration de la cle privee ne laisse aucun doute. c'est surement au moins
dans vos reponse la seule qui va me faire progresser un peu. (et c'est un
point que je devrait ameliorer)

c'est amusant quant meme, j'ai pose la meme chpse sur un autre forum et j'ai
eu les meme reponses
mais personne ne m'a donné le temps ni la solution : c'est tout ce que je
demande pour ameliorer tout ca et voir apprendre, mais voila le genre de
reponse que j'ai eu

ton code est nul
je le casse en 2 heures
etc ....

mais que dalle , je demande qu'a voir : montrer moi alors
quant au codage merci mais je pense que je sais faire (pas en php ) mais en
c ou autre
si ce n'est que ce genre de reponse que je peux avoir.

si tu n'as pas le temps pour ca : alors il fallait s'abstenir de repondre.
quant je repond sur les forum de developpement, je vais jusqu'au bout ou
alors je ne repond pas
et surtout pas avec ce genre de reponse.


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

ben alors essayer


Crois-tu que je n'ai que celà à faire mon petit ami ? Des algos de crypto
j'en ai cassé des dizaines, quelques-uns ici même. C'est toujours la même
rengaine :

1 - Un comique, un débutant, un génie, arrive ici avec son super-algo.
2 - Il a lu 3 pages sur la crypto et est donc un super-spécialiste.
3 - Il n'écoute aucun conseil, puisque son algo est le meilleur et que lui
même est le meilleur.
4 - Malgré les pistes, les remarques, malgré le démontage parfois complet
de son algo, rien à faire ! Tant qu'on a pas déchiffré son texte il n'y
croit pas !
5 - Et si jamais on déchiffre, on a triché !

On ne peut que te répondre de commencer par apprendre à coder, puis la
crypto. Avec un peu plus d'expérience, tu comprendrais vite pourquoi ton
algo n'offre aucun intérêt, aucune sécurité et est à éviter.

Allez, je suis gentil, une exemple. Ta clé privée là, elle est sujette à
collision.

Chiffre par exemple la clé "ABC", t'auras "EUA" en clé privée. Chiffre la
clé "rsk" maintenant, t'obtiens quoi ? Ben "EUA"... Plusieurs clés
publiques peuvent donc créer une même clé privée. Rien que celà, c'est la
mort de ton algo. Bah oui, si je te dis ta clé en clair c'est "rsk", tu
pourras répondre, non, c'est "ABC"...

Bref ton algo n'a aucun intérêt, tu nous crois, tu nous crois pas, ce
n'est pas grave, c'est ton problème. Évite tout de même de chiffrer des
données bancaires avec...

--
Arnold McDonald (AMcD)

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







Avatar
guy.ratajczak
Salut,

Crois-tu que je n'ai que celà à faire mon petit ami ? Des algos de cr ypto
j'en ai cassé des dizaines, quelques-uns ici même. C'est toujours la même
rengaine :


Et vlan ! Comme d'hab ;-)

Perso j'aime bien ça. Ca me fait penser à Jeux&Stratégies. :-D

Question ? Qui a pigé son code ???
C'est basique mais j'ai la flemme de chercher comment on s'en sert. Il
me semble que le nommage des variables est fantaisiste.
Arnold, tu vois à quoi servent PrivateKey, PublicKey, URL,... ?

Si j'ai bien pigé, PublicKey est la clé, PrivateKey ne sert à rien,
URL est le clair, et Urlcrypte est le chiffré ??

Sinon, pour l'auteur : le code est vraiment louche... Pire que mon code
de brute :-D

Avatar
Firetox
Bonjour,

a écrit dans le message de news:

Salut,

Crois-tu que je n'ai que celà à faire mon petit ami ? Des algos de crypto
j'en ai cassé des dizaines, quelques-uns ici même. C'est toujours la même
rengaine :


Et vlan ! Comme d'hab ;-)

Perso j'aime bien ça. Ca me fait penser à Jeux&Stratégies. :-D

Question ? Qui a pigé son code ???
C'est basique mais j'ai la flemme de chercher comment on s'en sert. Il
me semble que le nommage des variables est fantaisiste.
Arnold, tu vois à quoi servent PrivateKey, PublicKey, URL,... ?

Si j'ai bien pigé, PublicKey est la clé, PrivateKey ne sert à rien,
URL est le clair, et Urlcrypte est le chiffré ??

publicKey est la cle
PrivateKey est la cle calculee sur la publique
URL : est la chaine crypte qui vient de de la methode Post
UrlCrypte est la chaine cryptee resultat

Sinon, pour l'auteur : le code est vraiment louche... Pire que mon code
de brute :-D

louche ? dans quel sens

Avatar
Firetox
au moins votre remarque si la cle privee etant issue de plusieurs cle
publiques a ete ameliore
la j'ai appris

maintenant la cryptage se fait sur le couple cle publique+cle privee
donc meme si la cle privee peut etre identique suivant les cle publiques, il
faut le couple
l"ensemble etant maintenant unique

voila avec des reponse comme ca on avance.



a écrit dans le message de news:

Salut,

Crois-tu que je n'ai que celà à faire mon petit ami ? Des algos de crypto
j'en ai cassé des dizaines, quelques-uns ici même. C'est toujours la même
rengaine :


Et vlan ! Comme d'hab ;-)

Perso j'aime bien ça. Ca me fait penser à Jeux&Stratégies. :-D

Question ? Qui a pigé son code ???
C'est basique mais j'ai la flemme de chercher comment on s'en sert. Il
me semble que le nommage des variables est fantaisiste.
Arnold, tu vois à quoi servent PrivateKey, PublicKey, URL,... ?

Si j'ai bien pigé, PublicKey est la clé, PrivateKey ne sert à rien,
URL est le clair, et Urlcrypte est le chiffré ??

Sinon, pour l'auteur : le code est vraiment louche... Pire que mon code
de brute :-D

Avatar
Erwann ABALEA
Bonjour,

Hodie III Non. Aug. MMVI est, Firetox scripsit:
"Arnold McDonald (AMcD)" a écrit dans le message de
news: 44d1ddd2$0$690$
[...]

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



Moui. En pratique, c'est Moche (tm). Si ça ne vous pose pas de
problème, on va diviser votre salaire par 3, la taille de votre disque
dur par 3, de votre RAM par 3, de votre appart par 3, etc... Bon. On
évite ces arguments, ça ne sert à rien ici.

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


Effectivement, en sortie de chiffrement, chaque caractère du clair
peut être transformé en un nombre qui peut avoir pour valeur maxi 344
(%5+89, 89 étant la plus haute valeur admissible par un caractère de
PrivateKey).
-----
$UrlCrypte=sprintf("%s%03d",$UrlCrypte,(ord($URL[$i])+ord($PrivateKey[$indiceCle])));
-----

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


Ben oui, c'est du Vigenère, avec une clé de 16 caractères de long, à
ceci près que vous ne faites pas l'opération (modulo 255) habituelle,
ce qui ne change rien, l'attaquant peut la faire et retomber sur
quelque chose de plus "classique". Les caractères du clair de rang 1,
17, 33, ... seront chiffrés par le premier caractère de PrivateKey;
ceux de rang 2, 18, 34, ... seront chiffrés par le deuxième caractère
de PrivateKey, etc... On sait que la clé fait 16 caractères de long,
on prépare donc 16 (petites) listes, et on effectue une analyse de
fréquence sur chacune de ces petites listes. Le texte est de vous? (en
gros, est-ce qu'il y a les fautes avec?)

Dans votre algo/code source, je ne comprend pas l'utilité de
transformer votre PublicKey en PrivateKey. Ca n'ajoute rien en terme
de sécurité, l'attaquant cherchera à trouver la clé ayant
effectivement chiffré le texte, en l'occurrence PrivateKey:
-----
$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));
-----

A noter qu'avec l'exemple ci-dessus, la lettre 'Z' ne peut pas
apparaître dans PrivateKey, vous effectuez une opération modulo 25,
qui vous donnera donc (après conversion flottant->entier) à une valeur
comprise entre 0 et 24 inclus, ce qui laisse de côté la dernière
lettre de l'alphabet.

Votre méthode de conversion PublicKey->PrivateKey introduis un biais
statistique.
Par exemple, le caractère 'C' dans PublicKey aura 37.5% de chances
d'être transformé en 'A', 12.5% de chances d'être transformé en 'H',
'M', ou 'S', et 6.25% de chances d'être transformé en 'B', 'D', 'I',
ou 'V', au lieu de 6.25% de chances d'être transformé en 1 lettre
parmi 16.
De même, en testant tous les caractères parmi l'ensemble {0-9, A-Z,
a-z}, on remarque que certaines positions dans PrivateKey ont leurs
préférences. Par exemple, le 13ème caractère de PrivateKey a 24% de
chances d'être un 'T', 16% de chances d'être un 'N', 12% de chances
d'être parmi {A, B, Q, R, S, U, V, W, X, Y}, etc. Une répartition
équiprobable aurait donné 4% de chances aux 25 lettres possibles.

--
Erwann ABALEA - RSA PGP Key ID: 0x2D0EABD5
-----
si c bien le k
-+-YT in GNU: mon clavier est kc -+-


Avatar
Firetox
Bonjour,

"Erwann ABALEA" a écrit dans le message de news:

Bonjour,

Hodie III Non. Aug. MMVI est, Firetox scripsit:
"Arnold McDonald (AMcD)" a écrit dans le message
de
news: 44d1ddd2$0$690$
[...]

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



Moui. En pratique, c'est Moche (tm). Si ça ne vous pose pas de
problème, on va diviser votre salaire par 3, la taille de votre disque
dur par 3, de votre RAM par 3, de votre appart par 3, etc... Bon. On
évite ces arguments, ça ne sert à rien ici.


en fait c'etait pour avoir des valeur ascii, ca augmente de 3 mais je
travaille en ascii


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


Effectivement, en sortie de chiffrement, chaque caractère du clair
peut être transformé en un nombre qui peut avoir pour valeur maxi 344
(%5+89, 89 étant la plus haute valeur admissible par un caractère de
PrivateKey).
-----
$UrlCrypte=sprintf("%s%03d",$UrlCrypte,(ord($URL[$i])+ord($PrivateKey[$indiceCle])));
-----

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


Ben oui, c'est du Vigenère, avec une clé de 16 caractères de long, à
ceci près que vous ne faites pas l'opération (modulo 255) habituelle,
ce qui ne change rien, l'attaquant peut la faire et retomber sur
quelque chose de plus "classique". Les caractères du clair de rang 1,
17, 33, ... seront chiffrés par le premier caractère de PrivateKey;
ceux de rang 2, 18, 34, ... seront chiffrés par le deuxième caractère
de PrivateKey, etc... On sait que la clé fait 16 caractères de long,
on prépare donc 16 (petites) listes, et on effectue une analyse de
fréquence sur chacune de ces petites listes. Le texte est de vous? (en
gros, est-ce qu'il y a les fautes avec?)


non le texte est un article tout ce qu'il y a d'officiel sur une base de
données


Dans votre algo/code source, je ne comprend pas l'utilité de
transformer votre PublicKey en PrivateKey. Ca n'ajoute rien en terme
de sécurité, l'attaquant cherchera à trouver la clé ayant
effectivement chiffré le texte, en l'occurrence PrivateKey:


avec les remarque de arnold maintenant ca en a puisque je j'utilise
le couple cle publique cle privée

-----
$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));
-----

A noter qu'avec l'exemple ci-dessus, la lettre 'Z' ne peut pas
apparaître dans PrivateKey, vous effectuez une opération modulo 25,
qui vous donnera donc (après conversion flottant->entier) à une valeur
comprise entre 0 et 24 inclus, ce qui laisse de côté la dernière
lettre de l'alphabet.


bien vu j'ai corrigé ca pour avoir la derniere


Votre méthode de conversion PublicKey->PrivateKey introduis un biais
statistique.
Par exemple, le caractère 'C' dans PublicKey aura 37.5% de chances
d'être transformé en 'A', 12.5% de chances d'être transformé en 'H',
'M', ou 'S', et 6.25% de chances d'être transformé en 'B', 'D', 'I',
ou 'V', au lieu de 6.25% de chances d'être transformé en 1 lettre
parmi 16.
De même, en testant tous les caractères parmi l'ensemble {0-9, A-Z,
a-z}, on remarque que certaines positions dans PrivateKey ont leurs
préférences. Par exemple, le 13ème caractère de PrivateKey a 24% de
chances d'être un 'T', 16% de chances d'être un 'N', 12% de chances
d'être parmi {A, B, Q, R, S, U, V, W, X, Y}, etc. Une répartition
équiprobable aurait donné 4% de chances aux 25 lettres possibles.


ou pour la private je voulais lilite a 26 caractere possible. mais dependant
d'autre chose
la cle publique. maintenant que j'ai mis le couple est plus compliqué ? ou
plus long a trouve?



--
Erwann ABALEA - RSA PGP Key ID: 0x2D0EABD5
-----
si c bien le k
-+-YT in GNU: mon clavier est kc -+-


merci de vos expliquations
j'avance petit a petit



1 2 3 4 5