OVH Cloud OVH Cloud

la compression amelire t'elle le cryptage

17 réponses
Avatar
cedriclbox-spamtrap
peut on dire que la compression améliore le cryptage:
en concentrant l'entropie du message?
en rendant tout décodage partiel inutile?

7 réponses

1 2
Avatar
chaton
Adrien Huvier wrote in message news:...
"chaton" wrote in
news::

Si tu compresses avec un algo qui a besoin d'une table, tu ne peux
pas te permettre de ne pas la stocker puisque le but n'est pas de
chiffrer, mais de chiffrer et de pouvoir dechiffrer.


LZW utilise un dictionnaire et ne le stocke pas avec les données
compressées. On peut très bien réaliser le même genre de choses avec
Huffmann, en partant d'une table de départ fixe et en la faisant
évoluer au fur et à mesure, c'est à ça que je pensais.



Vi mais ce que je veux dire c'est que la table ou le dico, pour pouvoir
dechiffrer tu es contraint de l'inclure dans le message. Enfin quelle
que soit la methode de correspondance, si tu l'inclues pas, tu bousilles
le dechiffrement.


Effectivement, ça revient à dire qu'on connait d'office la table de



Oui, c'est la ou je voulais en venir ;)


départ. Maintenant, sans connaitre le début du clair (non compressé en
pratique, donc), peut-on tirer quelque chose de la suite du message
compressé ? Mes connaissances en crypto sont extrèmement limitées,
j'avoue...


J'insiste mais je parle sur la theorie, pas sur la pratique.
Dans la theorie, la structure de la table ou du dico est connue. Tu sais que
si le message est en francais, le e sera represente (pour huffman toujours)
en tete de liste, le a egalement, etc... donc tu as une information concernant
le/les premier/s blocs. Pour un bon algo, c'est pas un probleme la confusion
et la diffusion aidant, le message est suffisamment hache menu pour pas que
ca soit utilisable, mais dans la theorie (et pour un algo peu fiable), c'est
une information qui affaiblit le chiffrement.


Avatar
SB
(chaton) writes:

Mais un bon algo de chiffrement ne doit-il pas permettre de
connaître la fréquence d'un caractère original? Qu'ils aient été
compressés ou non.


Non c'est l'inverse, un bon algo de chiffrement doit permettre
d'obfusquer la frequence d'un caractere original, il doit produire
une sortie qui ait l'air pseudo-aleatoire. Que le message ait ete
compresse ou non ;)


l'intérêt de la compression (outre le gain de place), c'est de rendre
l'attaque plus difficile quand on a un algo pas génial (genre
Vigenère) qui conserve plein de caractéristiques statistiques. On peut
aussi, pour empêcher les attaques reposant sur la fréquence, faire un
système à représentations multiples (si la lettre X apparaît n fois
plus que la lettre Y dans le clair, il y aura n fois plus de
représentations pour X que pour Y dans le texte chiffré). Quelqu'un
sait comment on attaque ce genre de chiffrement (si on dispose
seulement du texte chiffré) ?

--
Encyclopédie libre, gratuite, à laquelle tout le monde peut
collaborer: http://fr.wikipedia.org/
Comment poser les questions de manière intelligente:
http://www.gnurou.org/documents/smart-questions-fr.html


Avatar
Raymond H.
Bonjour,
"chaton" a écrit dans le message de news:

"Raymond H." wrote in message
news:<tjc7e.12827$...
Bonjour,
Si tu n'as pas d'entete deja tu peux etre assure que la structure des
donnees
compressees informe sur leur frequence dans le message original. Si tu
as l'entete, c'est lui qui informe, dans les deux cas ...


Mais un bon algo de chiffrement ne doit-il pas permettre de
connaître
la fréquence d'un caractère original? Qu'ils aient été compressés ou
non.

Bonne journée
Raymond


Non c'est l'inverse, un bon algo de chiffrement doit permettre d'obfusquer
la
frequence d'un caractere original, il doit produire une sortie qui ait
l'air
pseudo-aleatoire. Que le message ait ete compresse ou non ;)


Milles excuses, je me suis mal exprimé. J'aurais dû écrire ceci:
" Mais un bon algo de chiffrement ne doit-il pas ne pas permettre de
connaître
la fréquence d'un caractère original? Qu'ils aient été compressés ou non."

Autrement dit la fréquence des caractères originaux ne devrait pas être
décelée dans un cryptogramme chiffré avec un bon algo.

a+

Raymond



Avatar
chaton
l'intérêt de la compression (outre le gain de place), c'est de
rendre

l'attaque plus difficile quand on a un algo pas génial (genre
Vigenère) qui conserve plein de caractéristiques statistiques.


Sauf que ca ne la rends pas forcement plus difficile. Ton message en
clair n'a pas forcement de stereotype, tu ne sais pas reellement par
quoi il commence ca peut etre Bonjour, comme ca peut etre Mail From:
comme ca peut etre n'importe quoi. Dans le cas du message compresse,
tu auras obligatoirement le header, c'est deja une information de trop.


On peut aussi, pour empêcher les attaques reposant sur la fréquence,
faire un

système à représentations multiples (si la lettre X apparaît n
fois

plus que la lettre Y dans le clair, il y aura n fois plus de
représentations pour X que pour Y dans le texte chiffré). Quelqu'un
sait comment on attaque ce genre de chiffrement (si on dispose
seulement du texte chiffré) ?


Arf, je savais mais j'ai oublie. La methode est simple pourtant, tu
devrais pas avoir
trop de mal a la trouver sur google.

Avatar
SB
"chaton" writes:

l'intérêt de la compression (outre le gain de place), c'est de
rendre l'attaque plus difficile quand on a un algo pas génial
(genre Vigenère) qui conserve plein de caractéristiques
statistiques.


Sauf que ca ne la rend pas forcement plus difficile. Ton message en
clair n'a pas forcement de stereotype, tu ne sais pas reellement par
quoi il commence ca peut etre Bonjour, comme ca peut etre Mail From:


Je parlais surtout de la distribution des caractères: par exemple, il
est bien connu qu'en français ou en anglais, la lettre "e" est la plus
fréquente. On sait de même que dans le clair, en français, le "q" sera
généralement suivi d'un "u", que les bigrammes les plus fréquents sont
"en" et "es", etc. On sait aussi qu'un fichier HTML contiendra des
balises (prises dans une liste fermée), qu'un fichier texte contient
des fins de ligne ou des retours chariot...

comme ca peut etre n'importe quoi. Dans le cas du message compresse,
tu auras obligatoirement le header, c'est deja une information de trop.
^^^^^^^^^^^^^^^

Ca dépend de la méthode de compression.

On peut aussi, pour empêcher les attaques reposant sur la fréquence,
faire un système à représentations multiples (si la lettre X
apparaît n fois plus que la lettre Y dans le clair, il y aura n fois
plus de représentations pour X que pour Y dans le texte
chiffré). Quelqu'un sait comment on attaque ce genre de chiffrement
(si on dispose seulement du texte chiffré) ?

Arf, je savais mais j'ai oublie. La methode est simple pourtant, tu
devrais pas avoir trop de mal a la trouver sur google.


Avec quels termes de recherche ?

--
Encyclopédie libre, gratuite, à laquelle tout le monde peut
collaborer: http://fr.wikipedia.org/
Comment poser les questions de manière intelligente:
http://www.gnurou.org/documents/smart-questions-fr.html


Avatar
chaton
SB wrote:
"chaton" writes:

l'intérêt de la compression (outre le gain de place), c'est de
rendre l'attaque plus difficile quand on a un algo pas génial
(genre Vigenère) qui conserve plein de caractéristiques
statistiques.


Sauf que ca ne la rend pas forcement plus difficile. Ton message en
clair n'a pas forcement de stereotype, tu ne sais pas reellement
par


quoi il commence ca peut etre Bonjour, comme ca peut etre Mail
From:



Je parlais surtout de la distribution des caractères: par exemple,
il

est bien connu qu'en français ou en anglais, la lettre "e" est la
plus

fréquente. On sait de même que dans le clair, en français, le "q"
sera

généralement suivi d'un "u", que les bigrammes les plus fréquents
sont

"en" et "es", etc. On sait aussi qu'un fichier HTML contiendra des
balises (prises dans une liste fermée), qu'un fichier texte contient
des fins de ligne ou des retours chariot...



Je sais bien.
Bon, cas #1, tu as le message en clair, tu cherches la frequence
d'apparition
des caracteres et tu tentes des substitutions.

cas #2, tu as un dictionnaire ou un header DANS ton message, si tu sais
quelle
forme il a, alors il te sera plus simple de le dechiffrer ET d'en
extraitre
les correspondances pour l'ensemble du message.


comme ca peut etre n'importe quoi. Dans le cas du message
compresse,


tu auras obligatoirement le header, c'est deja une information de
trop.


^^^^^^^^^^^^^^^
Ca dépend de la méthode de compression.



Encore une fois, tu seras contraint d'avoir ton header ou un
dictionnaire
au sein de ton message si tu veux pouvoir le dechiffrer. Je prends l'
exemple du header parceque je pense spontanement a huffman. Remplace
header
par dictionnaire ou par structure de ton message compresse selon le
terme
qui te plait le plus, si tu ne stocke pas les infos de compression, tu
ne
peux pas dechiffrer, et si tu ne peux pas dechiffrer, le chiffrement
est
inutile.


On peut aussi, pour empêcher les attaques reposant sur la
fréquence,


faire un système à représentations multiples (si la lettre X
apparaît n fois plus que la lettre Y dans le clair, il y aura n
fois


plus de représentations pour X que pour Y dans le texte
chiffré). Quelqu'un sait comment on attaque ce genre de
chiffrement


(si on dispose seulement du texte chiffré) ?

Arf, je savais mais j'ai oublie. La methode est simple pourtant, tu
devrais pas avoir trop de mal a la trouver sur google.


Avec quels termes de recherche ?



Euh au pif, j'ai pas verifie, mais "cryptanalyse substitution
homophonique"
ca devrait retourner quelque chose non ?



Avatar
chaton
Un bon algo (ou plutot un algo pas mauvais) de chiffrement par bloc va
creer des dependances
entre tous les caracteres d'un bloc pour que la modification d'un seul
caractere influe sur les autres.
Dans ces conditions, la frequence des caracteres n'est plus un probleme
puisque, par exemple,
le premier caractere du message chiffre ne correspond pas au premier
caractere du message en
clair, mais correspond a "un peu" de tous les caracteres du bloc.
1 2