J'ai une question concernant l'utilisation de AES :
Mon application doit dechiffrer des données en provenance d'une autre
application et la clé va parfois etre changée. Pour eviter une synchro
des changements de clés des 2 côtés, j'aurais voulu pouvoir tourner sur
2 jeu de clés (clé1 et clé2).
Voici ce que je comptait faire :
Cas1 :
Fonctionnement nominal qui se seroulera dans 99.9 % des cas :
- Il y a qu'une clé presente (clé1), je dechiffre avec cette clé.
Cas2 :
Si l'appli distante decide de changer de clé à une date future, elle
m'envoie, la prochaine clé, j'ai alors le fonctionnement uivant :
- Il y a 2 clés (clé1 ou clé2), je dechiffre avec clé1.
Si clé1 fonctionne la nouvelle clé n'est pas encore utilisé.
Sinon si le dechiffrage à échoué j'essai clé2.
Plus tard j'efface clé1 et je ne tournerai qu'avec clé2 (Cas1).
Ma question est : Comment deceler de facon sûr que clé1 n'est pas la
bonne clé ?
En effet la plupart du temps lors du dechiffrage avec la mauvaise clé il
se produit une erreur (au niveau du padding) mais parfois le dechiffrage
fonctionne en produisant des données dechifrés (erronées bien-sur).
Dans les essais que j'ai fait sur 65536 clé téstée environ 260 ( 0.4%
des cas donc) ne produisent pas d'erreur de padding.
Avec ces "fausses bonnes clés" j'obtenais toujours des données
dechifrées de la longueur du message chiffré moins 8 bits.
Est-ce par ce moyen que je peux faire la difference entre bonne et
mauvais clé ?
Avec une "fausse bonne clé", est-ce qu'il y a un risque que j'obtienne
un message dechiffré d'une longueur autre que message chiffré moins 8 bits ?
Je precise qu'actuellement j'utilise l'API Java pour faire mes tests
mais que par la suite j'utiliserai probablement les fonctions AES de la
lib OpenSSL (Dev en C++).
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Steph
Re-Bonjour,
Pas de reponse, je n'ai pas du etre assez clair :-( En resumé ma question est :
Ayant seulement le message chiffré par AES. Est ce qu l'on est en mesure de determiner si une clé est celle ayant servi à l'encodage ou pas ?
Merci.
Bonjour à tous,
J'ai une question concernant l'utilisation de AES :
Mon application doit dechiffrer des données en provenance d'une autre application et la clé va parfois etre changée. Pour eviter une synchro des changements de clés des 2 côtés, j'aurais voulu pouvoir tourner sur 2 jeu de clés (clé1 et clé2).
Voici ce que je comptait faire :
Cas1 : Fonctionnement nominal qui se seroulera dans 99.9 % des cas :
- Il y a qu'une clé presente (clé1), je dechiffre avec cette clé.
Cas2 : Si l'appli distante decide de changer de clé à une date future, elle m'envoie, la prochaine clé, j'ai alors le fonctionnement uivant :
- Il y a 2 clés (clé1 ou clé2), je dechiffre avec clé1. Si clé1 fonctionne la nouvelle clé n'est pas encore utilisé. Sinon si le dechiffrage à échoué j'essai clé2.
Plus tard j'efface clé1 et je ne tournerai qu'avec clé2 (Cas1).
Ma question est : Comment deceler de facon sûr que clé1 n'est pas la bonne clé ?
En effet la plupart du temps lors du dechiffrage avec la mauvaise clé il se produit une erreur (au niveau du padding) mais parfois le dechiffrage fonctionne en produisant des données dechifrés (erronées bien-sur).
Dans les essais que j'ai fait sur 65536 clé téstée environ 260 ( 0.4% des cas donc) ne produisent pas d'erreur de padding. Avec ces "fausses bonnes clés" j'obtenais toujours des données dechifrées de la longueur du message chiffré moins 8 bits. Est-ce par ce moyen que je peux faire la difference entre bonne et mauvais clé ? Avec une "fausse bonne clé", est-ce qu'il y a un risque que j'obtienne un message dechiffré d'une longueur autre que message chiffré moins 8 bits ?
Je precise qu'actuellement j'utilise l'API Java pour faire mes tests mais que par la suite j'utiliserai probablement les fonctions AES de la lib OpenSSL (Dev en C++).
Merci.
Re-Bonjour,
Pas de reponse, je n'ai pas du etre assez clair :-(
En resumé ma question est :
Ayant seulement le message chiffré par AES.
Est ce qu l'on est en mesure de determiner si une clé est celle ayant
servi à l'encodage ou pas ?
Merci.
Bonjour à tous,
J'ai une question concernant l'utilisation de AES :
Mon application doit dechiffrer des données en provenance d'une autre
application et la clé va parfois etre changée. Pour eviter une synchro
des changements de clés des 2 côtés, j'aurais voulu pouvoir tourner sur
2 jeu de clés (clé1 et clé2).
Voici ce que je comptait faire :
Cas1 :
Fonctionnement nominal qui se seroulera dans 99.9 % des cas :
- Il y a qu'une clé presente (clé1), je dechiffre avec cette clé.
Cas2 :
Si l'appli distante decide de changer de clé à une date future, elle
m'envoie, la prochaine clé, j'ai alors le fonctionnement uivant :
- Il y a 2 clés (clé1 ou clé2), je dechiffre avec clé1.
Si clé1 fonctionne la nouvelle clé n'est pas encore utilisé.
Sinon si le dechiffrage à échoué j'essai clé2.
Plus tard j'efface clé1 et je ne tournerai qu'avec clé2 (Cas1).
Ma question est : Comment deceler de facon sûr que clé1 n'est pas la
bonne clé ?
En effet la plupart du temps lors du dechiffrage avec la mauvaise clé il
se produit une erreur (au niveau du padding) mais parfois le dechiffrage
fonctionne en produisant des données dechifrés (erronées bien-sur).
Dans les essais que j'ai fait sur 65536 clé téstée environ 260 ( 0.4%
des cas donc) ne produisent pas d'erreur de padding.
Avec ces "fausses bonnes clés" j'obtenais toujours des données
dechifrées de la longueur du message chiffré moins 8 bits.
Est-ce par ce moyen que je peux faire la difference entre bonne et
mauvais clé ?
Avec une "fausse bonne clé", est-ce qu'il y a un risque que j'obtienne
un message dechiffré d'une longueur autre que message chiffré moins 8
bits ?
Je precise qu'actuellement j'utilise l'API Java pour faire mes tests
mais que par la suite j'utiliserai probablement les fonctions AES de la
lib OpenSSL (Dev en C++).
Pas de reponse, je n'ai pas du etre assez clair :-( En resumé ma question est :
Ayant seulement le message chiffré par AES. Est ce qu l'on est en mesure de determiner si une clé est celle ayant servi à l'encodage ou pas ?
Merci.
Bonjour à tous,
J'ai une question concernant l'utilisation de AES :
Mon application doit dechiffrer des données en provenance d'une autre application et la clé va parfois etre changée. Pour eviter une synchro des changements de clés des 2 côtés, j'aurais voulu pouvoir tourner sur 2 jeu de clés (clé1 et clé2).
Voici ce que je comptait faire :
Cas1 : Fonctionnement nominal qui se seroulera dans 99.9 % des cas :
- Il y a qu'une clé presente (clé1), je dechiffre avec cette clé.
Cas2 : Si l'appli distante decide de changer de clé à une date future, elle m'envoie, la prochaine clé, j'ai alors le fonctionnement uivant :
- Il y a 2 clés (clé1 ou clé2), je dechiffre avec clé1. Si clé1 fonctionne la nouvelle clé n'est pas encore utilisé. Sinon si le dechiffrage à échoué j'essai clé2.
Plus tard j'efface clé1 et je ne tournerai qu'avec clé2 (Cas1).
Ma question est : Comment deceler de facon sûr que clé1 n'est pas la bonne clé ?
En effet la plupart du temps lors du dechiffrage avec la mauvaise clé il se produit une erreur (au niveau du padding) mais parfois le dechiffrage fonctionne en produisant des données dechifrés (erronées bien-sur).
Dans les essais que j'ai fait sur 65536 clé téstée environ 260 ( 0.4% des cas donc) ne produisent pas d'erreur de padding. Avec ces "fausses bonnes clés" j'obtenais toujours des données dechifrées de la longueur du message chiffré moins 8 bits. Est-ce par ce moyen que je peux faire la difference entre bonne et mauvais clé ? Avec une "fausse bonne clé", est-ce qu'il y a un risque que j'obtienne un message dechiffré d'une longueur autre que message chiffré moins 8 bits ?
Je precise qu'actuellement j'utilise l'API Java pour faire mes tests mais que par la suite j'utiliserai probablement les fonctions AES de la lib OpenSSL (Dev en C++).
Merci.
Sylvain
Steph wrote on 08/09/2005 20:34:
Re-Bonjour,
Pas de reponse, je n'ai pas du etre assez clair :-(
ou alors le périmètre de la question ne succite aucune bonne réponse.
En resumé ma question est :
Ayant seulement le message chiffré par AES. Est ce qu l'on est en mesure de determiner si une clé est celle ayant servi à l'encodage ou pas ?
si vos blocs (clairs) débutent tous par 0x11,0x22,0x33,0x44 + 12 octets utiles, alors oui vous pourrez avec une très bonne proba. estimer que c'est la bonne clé si vous réobtenez ces mêmes 4 octets en début du msg déchiffré (j'avais prévenu).
votre question ne porte donc pas sur un art devinatoire mais sur le déterminisme de votre mise en forme des données (s'il existe) ou sur l'opportunité d'utiliser un mécanisme de chiffrement-signature (recherche google avec ces termes pour cette 2nde option).
Sylvain.
Steph wrote on 08/09/2005 20:34:
Re-Bonjour,
Pas de reponse, je n'ai pas du etre assez clair :-(
ou alors le périmètre de la question ne succite aucune bonne réponse.
En resumé ma question est :
Ayant seulement le message chiffré par AES.
Est ce qu l'on est en mesure de determiner si une clé est celle ayant
servi à l'encodage ou pas ?
si vos blocs (clairs) débutent tous par 0x11,0x22,0x33,0x44 + 12 octets
utiles, alors oui vous pourrez avec une très bonne proba. estimer que
c'est la bonne clé si vous réobtenez ces mêmes 4 octets en début du msg
déchiffré (j'avais prévenu).
votre question ne porte donc pas sur un art devinatoire mais sur le
déterminisme de votre mise en forme des données (s'il existe) ou sur
l'opportunité d'utiliser un mécanisme de chiffrement-signature
(recherche google avec ces termes pour cette 2nde option).
Pas de reponse, je n'ai pas du etre assez clair :-(
ou alors le périmètre de la question ne succite aucune bonne réponse.
En resumé ma question est :
Ayant seulement le message chiffré par AES. Est ce qu l'on est en mesure de determiner si une clé est celle ayant servi à l'encodage ou pas ?
si vos blocs (clairs) débutent tous par 0x11,0x22,0x33,0x44 + 12 octets utiles, alors oui vous pourrez avec une très bonne proba. estimer que c'est la bonne clé si vous réobtenez ces mêmes 4 octets en début du msg déchiffré (j'avais prévenu).
votre question ne porte donc pas sur un art devinatoire mais sur le déterminisme de votre mise en forme des données (s'il existe) ou sur l'opportunité d'utiliser un mécanisme de chiffrement-signature (recherche google avec ces termes pour cette 2nde option).