Spécifications des noms de fichiers

Le
simon.urli
Bonjour,

je m'intéresse depuis très récemment à la cryptologie et je viens de
développer un algorithme de cryptage répondant aux normes AES, comme
j'ai pu les trouver sur le net.

Cependant j'aurais aimé savoir s'il y avait des normes concernant les
informations des fichiers cryptés : imaginons par exemple que je
crypte un dossier avec mon algorithme, comment savoir si un quelconque
logiciel pourra décrypter le fichier généré, et me créer mes fich=
iers
d'origine, s'il ne peut pas lire les noms de fichiers, leur taille,
leur emplacement dans le fichier crypté ?

J'ai fait le test avec un logiciel trouvé grâce à un lien sur la
wikipédia (http://www.canudo.net/derelict/freesecurity) et en cryptant
grâce à celui ci un fichier nommé "test.txt" qui contenait
"12345678910".
J'ai déjà réussi à découvrir que la clé que demandait ce logici=
el
était d'abord hachée en md5 avant d'être passée dans le cryptage AE=
S.
A partir de là j'ai pu décrypter en plein-text le fichier crypté que
j'avais obtenu grâce au logiciel et j'ai retrouvé mes données, au
milieu d'une myriade de caractère ésotériques et deux mentions de
"test.txt". Quelles sont les autres données générées lors du crypta=
ge
avec ce logiciel ? Aucune idée, peut être un md5 du fichier lui même
pour tester si le fichier crypté n'a pas été modifié, peut être u=
ne
clé du logiciel pour vérifier que le fichier a bien été crypté par
celui ci

Bref, si les algorithmes sont librement distribués afin que tout un
chacun puisse les utiliser, pourquoi ne pas établir de règles strictes
concernant le stockages des informations cryptées des fichiers
cryptés ? Ou alors si elles existent, quelles sont elles ?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Patrick 'Zener' Brunet
Le #588680
Bonsoir.



je m'intéresse depuis très récemment à la cryptologie et je viens
de développer un algorithme de cryptage [...]


Mauvais début.

Cependant j'aurais aimé savoir s'il y avait des normes concernant
informations des fichiers cryptés


crypté = obscur = on ne connaît rien du tout.
Comment concevoir une norme pour une telle chose ?

imaginons par exemple que je crypte un dossier avec mon
algorithme,


Cela signifierait que vous-même ne savez pas ce que vous avez fait.

En pratique vous avez *chiffré* votre donnée (ici un lot de fichiers) avec
un algorithme connu (puisque vous venez de le citer) et une clé secrète sur
laquelle repose toute la sécurité.

comment savoir si un
quelconque logiciel pourra décrypter le fichier généré, et me
créer mes fichiers d'origine, s'il ne peut pas lire les noms de
fichiers, leur taille, leur emplacement dans le fichier crypté ?


Il est peu probable qu'on y parvienne par hasard avec un logiciel
quelconque, mais par contre avec un logiciel spécialisé, le résultat chiffré
n'est pas totalement inconnu:
- le dossier est une structure d'index pour les fichiers, dont le format est
plus ou moins connu,
- les noms des fichiers ont une structure plus ou moins standard: du texte
lisible avec un point vers la fin,
- etc.

D'une manière générale:

Votre algorithme transforme tout ça en un blob binaire, mais donc il y a des
choses dont la forme (et donc celle de la transformée) d'une part, et dont
la position d'autre part, sont relativement connues.
Donc on va commencer à chercher par là et cerner ainsi une partie de la clé.
Ce qui permet d'éclaircir un peu la suite, et là si en réutilisant cette
partie de la clé, on tombe dans des blocs de fichiers aux formats
reconnaissables (du texte, des bitmaps ou autres données de structure
connue), on en déduit davantage, etc. jusqu'à avoir tout *décrypté* (dans ce
sens c'est assez légitime puisqu'on est un pirate ne connaissant pas la clé
pour déchiffrer proprement).

Donc ça c'est la manière générale avec un chiffrement faible genre XOR avec
une clé qui se répète.

Evidement un algorithme plus sérieux s'appliquera à contrarier cette
technique en faisant en sorte que toute erreur d'un simple bit au début
brouille au maximum toute la suite. Mais ce n'est qu'une question de moyens,
crédibles ou non selon l'attaquant envisagé.

C'était la première réponse en forme de simple clarification.
Pour une réponse plus précise et chiffrée concernant MD5 + AES, je laisse
humblement un pro vous répondre.

Cordialement,

--
Cordialement.
--
/**************************************************
* Patrick BRUNET
* E-mail: lien sur http://zener131.free.fr/ContactMe
**************************************************/

Neo_nderthalis
Le #588679
On 15 sep, 19:57, "Patrick 'Zener' Brunet"
Bonsoir.



je m'intéresse depuis très récemment à la cryptologie et je vie ns
de développer un algorithme de cryptage [...]


Mauvais début.



Pourtant je trouve personnellement qu'il ait bien plus aisé de
comprendre un algorithme de cryptage quand on a expérimenté
personnellement sa programmation...
Enfin outre cela, que me conseilleriez vous pour débuter ?


Cependant j'aurais aimé savoir s'il y avait des normes concernant
informations des fichiers cryptés


crypté = obscur = on ne connaît rien du tout.
Comment concevoir une norme pour une telle chose ?


J'entendais "norme" au sens de la normalisation d'un algorithme de
cryptage : on normalise les différentes opérations permettant de
crypter les données. Cependant, si on crypte les données c'est dans
l'espoir de pouvoir les récupérer, or les informations comme le nom et
l'emplacement du fichier d'où proviennent les données qui ont été
cryptées sont parfois aussi importantes que les données elles-mêmes.
De là ma question de savoir s'il existe des règles prééxistantes po ur
le stockages de telles données cryptées où s'il appartient à chacun de
les définir, ce qui me semble peu probable.


imaginons par exemple que je crypte un dossier avec mon
algorithme,


Cela signifierait que vous-même ne savez pas ce que vous avez fait.

En pratique vous avez *chiffré* votre donnée (ici un lot de fichiers) avec
un algorithme connu (puisque vous venez de le citer) et une clé secrè te sur
laquelle repose toute la sécurité.

comment savoir si un
quelconque logiciel pourra décrypter le fichier généré, et me
créer mes fichiers d'origine, s'il ne peut pas lire les noms de
fichiers, leur taille, leur emplacement dans le fichier crypté ?


Il est peu probable qu'on y parvienne par hasard avec un logiciel
quelconque, mais par contre avec un logiciel spécialisé, le résulta t chiffré
n'est pas totalement inconnu:
- le dossier est une structure d'index pour les fichiers, dont le format est
plus ou moins connu,
- les noms des fichiers ont une structure plus ou moins standard: du texte
lisible avec un point vers la fin,
- etc.

D'une manière générale:

Votre algorithme transforme tout ça en un blob binaire, mais donc il y a des
choses dont la forme (et donc celle de la transformée) d'une part, et d ont
la position d'autre part, sont relativement connues.
Donc on va commencer à chercher par là et cerner ainsi une partie de la clé.
Ce qui permet d'éclaircir un peu la suite, et là si en réutilisant cette
partie de la clé, on tombe dans des blocs de fichiers aux formats
reconnaissables (du texte, des bitmaps ou autres données de structure
connue), on en déduit davantage, etc. jusqu'à avoir tout *décrypt é* (dans ce
sens c'est assez légitime puisqu'on est un pirate ne connaissant pas la clé
pour déchiffrer proprement).

Donc ça c'est la manière générale avec un chiffrement faible genr e XOR avec
une clé qui se répète.

Evidement un algorithme plus sérieux s'appliquera à contrarier cette
technique en faisant en sorte que toute erreur d'un simple bit au début
brouille au maximum toute la suite. Mais ce n'est qu'une question de moye ns,
crédibles ou non selon l'attaquant envisagé.

C'était la première réponse en forme de simple clarification.
Pour une réponse plus précise et chiffrée concernant MD5 + AES, je laisse
humblement un pro vous répondre.



Je vous remercie de votre réponse, cependant vous me parlez ici de
tentative de cassage de cryptage alors que je parlais personnellement
de mise en place d'un systeme de cryptage. Je ne me suis peut être pas
exprimé clairement.
Voilà mon problème : comment crypter les données provenant d'un
fichier ou d'un groupe de fichier ET les informations sur ce(s)
fichier(s) (comme les noms des fichiers, leurs emplacements, leurs
dates de créations, les permissions sur ses fichiers, bref toutes
sortes d'informations accessibles sur les fichiers) dans les règles de
l'art de façon à ce que lors du décryptage les fichiers possèdent à
nouveau les informations qui leurs sont propres ?
Il doit exister des milliers de façon en programmation de regler un
tel problème, cependant j'aimerais savoir s'il en existe
spécifiquement une qui soit utilisée dans les logiciels de
cryptographie existants ou simplement en tant que règle implicite.
Par ailleurs, j'étendrais même ma question pour savoir s'il existe une
extension de fichier propre aux fichiers cryptés ?
Je sais pertinemment que cela parait assez paradoxal de vouloir mettre
une extension qui signifie clairement "je suis un fichier crypté",
cependant je reste convaincu qu'il peut parfois y avoir une utilité à
les rendre ainsi reconnaissable.

Merci d'avance.

Cordialement,

--
Cordialement.
--
/**************************************************
* Patrick BRUNET
* E-mail: lien surhttp://zener131.free.fr/ContactMe
**************************************************/



Sylvain
Le #591428
Neo_nderthalis wrote on 15/09/2007 23:24:

je m'intéresse depuis très récemment à la cryptologie et je viens
de développer un algorithme de cryptage [...]
Mauvais début.



Pourtant je trouve personnellement qu'il ait bien plus aisé de
comprendre un algorithme de cryptage quand on a expérimenté
personnellement sa programmation...
Enfin outre cela, que me conseilleriez vous pour débuter ?


de parler d'algorithme de chiffrement.
je pense que le "mauvais début" était sur les termes, pas sur votre
intention.

Cependant j'aurais aimé savoir s'il y avait des normes concernant
informations des fichiers cryptés
crypté = obscur = on ne connaît rien du tout.

Comment concevoir une norme pour une telle chose ?


J'entendais "norme" au sens de la normalisation d'un algorithme de
cryptage : on normalise les différentes opérations permettant de
crypter les données. Cependant, si on crypte les données c'est dans
l'espoir de pouvoir les récupérer, or les informations comme le nom et
l'emplacement du fichier d'où proviennent les données qui ont été
cryptées sont parfois aussi importantes que les données elles-mêmes.


la plupart des algos sont en effet normés - au sens décrit par une norme
faisant référence.

pour ne pas s'apesentir sur votre usage incorrect de "crypter" et de ses
participes, votre début est exact en substituant "chiffrer" à "crypter".
comme résumé par Patrick, peut être trop résumé, "crypter" s'applique à
ce qui tient de la cuisine non documentée, ce qui est 'cryptique',
obscur, etc; or si votre propos est de chiffrer / déchiffrer des
documents de manière prédictible et déterministe, tous ces
crypto-logisme embrouillent le débat (pas l'écoute).

factuellement, toutes les solutions de chiffrement de fichiers
existantes sont des produits plus ou moins commerciaux ou des produits
ouverts et publics qui utilisent certes des algos de chiffrement
clairement définis mais une toutouille liée à la gestion des flux
chiffrés reste propriétaire même si elle est "open".

l'"emplacement" des fichiers d'origine (si l'on parle du nom du fichier
d'origine) est rarement un élément précieux, il est au plus de la
commodité à éventuellement privilégier lors de la restauration de ce
fichier (de son déchiffrement) mais ce n'est pas vital, donc chaque
solution (chaque produit commercial ou non) fait à sa sauce et ce point
n'est pas, IHMO, normalisé.

De là ma question de savoir s'il existe des règles prééxistantes pour
le stockages de telles données cryptées où s'il appartient à chacun de
les définir, ce qui me semble peu probable.


donc, non.

[...]
Je vous remercie de votre réponse, cependant vous me parlez ici de
tentative de cassage de cryptage alors que je parlais personnellement
de mise en place d'un systeme de cryptage. Je ne me suis peut être pas
exprimé clairement.


en effet puisqu'il aurait été préférable de parler des a-coté d'un
système de chiffrement; et un tel système de chiffrement de flux (ce que
vous nommez fichier X ou Y) ce moque très généralement du nom attribué à
ce flux (le nom user-friendly du fichier).

Voilà mon problème : comment crypter les données provenant d'un
fichier ou d'un groupe de fichier ET les informations sur ce(s)
fichier(s) (comme les noms des fichiers, leurs emplacements, leurs
dates de créations, les permissions sur ses fichiers, bref toutes
sortes d'informations accessibles sur les fichiers) dans les règles de
l'art de façon à ce que lors du décryptage les fichiers possèdent à
nouveau les informations qui leurs sont propres ?


comme vous le souhaitez ! ces ""détails"" ne sont pas des problèmes de
cryptologie, mais plus des considérations utilisateurs - cela ne
signifie pas qu'elles soient sans importances mais le traitement
répondra à d'autre règles: comme le confort de l'utilisateur ou la
portabilité des concepts, par exemple le chiffrement des droits d'accès
d'un fichier ayant été hébergé sous unix/linux puis déchiffré sous fat16
dos/windows sans aucune notion de droit utilisateur ne génèrera que du
non-sens; donc autant ne pas tenter de généraliser de concepts non
portables.

Il doit exister des milliers de façon en programmation de regler un
tel problème, cependant j'aimerais savoir s'il en existe
spécifiquement une qui soit utilisée dans les logiciels de
cryptographie existants ou simplement en tant que règle implicite.


pas à ma connaisance, ceci n'excluant pas des arrangements "implicites"
par les produits existants s'ils existent sur des plate-formes (linux,
windows, etc) multiples.

Par ailleurs, j'étendrais même ma question pour savoir s'il existe une
extension de fichier propre aux fichiers cryptés ?
Je sais pertinemment que cela parait assez paradoxal de vouloir mettre
une extension qui signifie clairement "je suis un fichier crypté",
cependant je reste convaincu qu'il peut parfois y avoir une utilité à
les rendre ainsi reconnaissable.


bien sur que cela a / aurait une grande utilité, les seuls tentative à
ma conaisance sont les extensions '.p7?' qui traduisent une structure
PKCS7 (tel un signed data ou un encrypted data d'un contenu); pour
autant il n'existe pas, IMHO, de généralisation au niveau des OS de ces
enveloppes.

Sylvain.



Neo_nderthalis
Le #591191
On 16 sep, 03:04, Sylvain
Neo_nderthalis wrote on 15/09/2007 23:24:



je m'intéresse depuis très récemment à la cryptologie et je v iens
de développer un algorithme de cryptage [...]
Mauvais début.



Pourtant je trouve personnellement qu'il ait bien plus aisé de
comprendre un algorithme de cryptage quand on a expérimenté
personnellement sa programmation...
Enfin outre cela, que me conseilleriez vous pour débuter ?


de parler d'algorithme de chiffrement.
je pense que le "mauvais début" était sur les termes, pas sur votre
intention.

Cependant j'aurais aimé savoir s'il y avait des normes concernant
informations des fichiers cryptés
crypté = obscur = on ne connaît rien du tout.

Comment concevoir une norme pour une telle chose ?


J'entendais "norme" au sens de la normalisation d'un algorithme de
cryptage : on normalise les différentes opérations permettant de
crypter les données. Cependant, si on crypte les données c'est dans
l'espoir de pouvoir les récupérer, or les informations comme le nom et
l'emplacement du fichier d'où proviennent les données qui ont ét é
cryptées sont parfois aussi importantes que les données elles-mêm es.


la plupart des algos sont en effet normés - au sens décrit par une no rme
faisant référence.

pour ne pas s'apesentir sur votre usage incorrect de "crypter" et de ses
participes, votre début est exact en substituant "chiffrer" à "crypte r".
comme résumé par Patrick, peut être trop résumé, "crypter" s'ap plique à
ce qui tient de la cuisine non documentée, ce qui est 'cryptique',
obscur, etc; or si votre propos est de chiffrer / déchiffrer des
documents de manière prédictible et déterministe, tous ces
crypto-logisme embrouillent le débat (pas l'écoute).

factuellement, toutes les solutions de chiffrement de fichiers
existantes sont des produits plus ou moins commerciaux ou des produits
ouverts et publics qui utilisent certes des algos de chiffrement
clairement définis mais une toutouille liée à la gestion des flux
chiffrés reste propriétaire même si elle est "open".

l'"emplacement" des fichiers d'origine (si l'on parle du nom du fichier
d'origine) est rarement un élément précieux, il est au plus de la
commodité à éventuellement privilégier lors de la restauration de ce
fichier (de son déchiffrement) mais ce n'est pas vital, donc chaque
solution (chaque produit commercial ou non) fait à sa sauce et ce point
n'est pas, IHMO, normalisé.

De là ma question de savoir s'il existe des règles prééxistante s pour
le stockages de telles données cryptées où s'il appartient à ch acun de
les définir, ce qui me semble peu probable.


donc, non.

[...]
Je vous remercie de votre réponse, cependant vous me parlez ici de
tentative de cassage de cryptage alors que je parlais personnellement
de mise en place d'un systeme de cryptage. Je ne me suis peut être pas
exprimé clairement.


en effet puisqu'il aurait été préférable de parler des a-coté d 'un
système de chiffrement; et un tel système de chiffrement de flux (ce que
vous nommez fichier X ou Y) ce moque très généralement du nom attri bué à
ce flux (le nom user-friendly du fichier).

Voilà mon problème : comment crypter les données provenant d'un
fichier ou d'un groupe de fichier ET les informations sur ce(s)
fichier(s) (comme les noms des fichiers, leurs emplacements, leurs
dates de créations, les permissions sur ses fichiers, bref toutes
sortes d'informations accessibles sur les fichiers) dans les règles de
l'art de façon à ce que lors du décryptage les fichiers possède nt à
nouveau les informations qui leurs sont propres ?


comme vous le souhaitez ! ces ""détails"" ne sont pas des problèmes de
cryptologie, mais plus des considérations utilisateurs - cela ne
signifie pas qu'elles soient sans importances mais le traitement
répondra à d'autre règles: comme le confort de l'utilisateur ou la
portabilité des concepts, par exemple le chiffrement des droits d'acc ès
d'un fichier ayant été hébergé sous unix/linux puis déchiffré sous fat16
dos/windows sans aucune notion de droit utilisateur ne génèrera que du
non-sens; donc autant ne pas tenter de généraliser de concepts non
portables.

Il doit exister des milliers de façon en programmation de regler un
tel problème, cependant j'aimerais savoir s'il en existe
spécifiquement une qui soit utilisée dans les logiciels de
cryptographie existants ou simplement en tant que règle implicite.


pas à ma connaisance, ceci n'excluant pas des arrangements "implicites"
par les produits existants s'ils existent sur des plate-formes (linux,
windows, etc) multiples.

Par ailleurs, j'étendrais même ma question pour savoir s'il existe une
extension de fichier propre aux fichiers cryptés ?
Je sais pertinemment que cela parait assez paradoxal de vouloir mettre
une extension qui signifie clairement "je suis un fichier crypté",
cependant je reste convaincu qu'il peut parfois y avoir une utilité à
les rendre ainsi reconnaissable.


bien sur que cela a / aurait une grande utilité, les seuls tentative à
ma conaisance sont les extensions '.p7?' qui traduisent une structure
PKCS7 (tel un signed data ou un encrypted data d'un contenu); pour
autant il n'existe pas, IMHO, de généralisation au niveau des OS de c es
enveloppes.

Sylvain.


Bonjour,

hm oui on m'avait effectivement déjà fait la remarque pour
l'utilisation de "chiffrer" et non de "crypter" mais j'ai pris cette
mauvaise habitude ...

Merci pour votre réponse !




Arnaud W.
Le #591187
bien sur que cela a / aurait une grande utilité, les seuls tentative à
ma conaisance sont les extensions '.p7?' qui traduisent une structure
PKCS7 (tel un signed data ou un encrypted data d'un contenu); pour
autant il n'existe pas, IMHO, de généralisation au niveau des OS de c es
enveloppes.


Je crois savoir que ces extensions (.p7*) sont surtout utilisées pour
les fichiers des signatures ou des certificats (cela a peut être
évolué).

J'ai eu le même problème (comment stocker les méta-données du syst ème
de fichier) lorsque j'ai développé un petit logiciel de crypto (à but
pédagogique et historique) il y a quelques années (la première version
date de 2003/2004) : KLS (http://awr.free.fr/java/kls.html).

Comme mes recherches (à l'époque) pour un tel format d'archivage n'ont
rien donné, j'ai décidé de mettre au point mon propre format (voir sa
description sur ma page).

L'idée c'est de faire une seule archive (comme un zip) de l'ensemble
des fichiers (avec leurs répertoires relatifs et leurs tailles), et de
compléter avec des octets aléatoires (au début) pour avoir une taille
multiple de la taille du bloc à chiffrer. Il est possible d'ajouter
d'autres informations (date de création du fichier...etc)

Si cela peut vous servir...(faute de mieux).

Sinon, une solution triviale serait d'archiver et/ou compresser le
répertoire (zip, tar, gzip...les formats ne manquent pas) puis de
crypter le fichier obtenu (en ajoutant éventuellement des octets de
bourrage au début ou à la fin).

Cordialement,
Arnaud W.
http://awr.free.fr

Publicité
Poster une réponse
Anonyme