THEME: Les fonctions de
Hachages et les M.A.C
Par KEWOU ERIC D’AQUIN.
Cas des fonctions SHA-3 et HMAC
Plan de
travaille
● Fonction hachage SHA-3
○ Vue d’ensemble
○ Algorithme
○ Exemple d’application
○ Sécurité
● Fonction hachage HMAC
○ Vue d’ensemble
○ Algorithme
○ Exemple d’application
○ Sécurité
FONCTIONS DE HACHAGES
Vue d’ensemble de la famile SHA-3
Qu’est ce que SHA-3?
SHA-3, signifiant Secure Hash Algorithm 3 est la plus récente famille
d'algorithmes de hachage cryptographique publiée par le National Institute
of Standards and Technology (NIST) en 2015. SHA-3 est le successeur des
familles SHA-1 et SHA-2, mais il repose sur une approche conceptuellement
différente, appelée Keccak, qui a remporté la compétition de hachage
organisée par le NIST.
Les variantes de SHA-3
La famille SHA-3 se décline en plusieurs variantes, chacune ayant une
longueur de sortie différente:
1. SHA3-224: Produit une sortie de 224 bits.
2. SHA3-256: Produit une sortie de 256 bits.
3. SHA3-384: Produit une sortie de 384 bits.
4. SHA3-512: Produit une sortie de 512 bits.
Algorithme
Principe de SHA-3
Algorithme de SHA-3
La famille SHA-3 transforme les messages en hach en passant successivement par
4 étapes:
1. Transformations
2. Absorption des Données
3. Compression
4. Génération de la Sortie
Transformation
Encodage du
message en entrée
Absorption des
Données
Le message encodé est
divisé en blocs de taille fixe
Compression
Une fonction interne est
utilisée pour transformer et
mélanger les bits dans l'état
interne de SHA-3 à chaque
étape du processus.
Génération de la
Sortie
Après que l'état interne a été
transformé, SHA-3 extrait une
partie de cet état interne pour
produire le résultat final.
15 min
Chaque bloc de données est
XORé avec une partie de l'état
interne de SHA-3.
Exemples d’applications
Dans quels domaine sont appliquées SHA-
3
Exemple d’application de SHA-3
SHA-3 trouve des applications dans divers domaines où la sécurité et
l'intégrité des données sont essentielles, Notamment dans:
TLS/SSL et HTTPS :Les protocoles de sécurité comme TLS et SSL utilisent
souvent des fonctions de hachage basées sur SHA-3 pour garantir l'intégrité des
communications sécurisées sur Internet. Par exemple, SHA3-256 peut être
utilisé dans la génération de signatures numériques et dans le calcul de
hachages pour assurer la sécurité des connexions HTTPS.
Blockchain :Certains projets de blockchain utilisent SHA-3 dans leurs protocoles
de consensus et de preuve de travail. Par exemple, certaines implémentations
de blockchain utilisent SHA-3 pour le calcul de hachages des blocs et pour
vérifier l'intégrité des transactions.
Exemple d’application de SHA-3
Cryptomonnaies :SHA-3 est utilisé dans certaines cryptomonnaies pour la
génération de hachages sécurisés, notamment dans le processus de minage
et dans la gestion des adresses de portefeuille.
Systèmes de Gestion de l'Identité : Les systèmes de gestion de l'identité
numérique utilisent souvent des fonctions de hachage basées sur SHA-3 pour
sécuriser les informations d'identification, telles que les mots de passe et les
données personnelles des utilisateurs.
SÉCURITÉ
Sécurité de SHA-3
Avantage de SHA-3
Résistance aux attaques connues : Conçu pour être résistant aux
attaques cryptographiques connues, y compris les attaques par collision,
les attaques de pré-image et les attaques différentielles.
Flexibilité de sortie : Variété de longueurs de sortie pour s'adapter à
divers besoins d'application.
Construction en éponge : Offre une structure moderne qui peut être
adaptée pour différents scénarios d'application.
Considérations de Sécurité
Gestion des clés : Bien que SHA-3 soit résistant aux attaques, la sécurité
dépend également de la gestion appropriée des clés et des paramètres
utilisés dans les applications concrètes.
Choix de la variante : Le choix de la variante SHA-3 (par exemple, SHA3-
256 vs SHA3-512) doit être adapté aux besoins de sécurité spécifiques et
aux performances requises.
LE HMAC
Hash-based Message Authentication Code
Qu’est ce que le HMAC
Le HMAC ou Hash-based Message Authentication Code est un
mécanisme de vérification d'intégrité et d'authenticité des données basé
sur une fonction de hachage cryptographique. Il combine une clé secrète
avec les données à authentifier à l'aide d'une fonction de hachage,
fournissant ainsi une valeur de hachage qui peut être utilisée pour
vérifier que les données n'ont pas été altérées.
Les variantes du HMAC
Le HMAC peut être utilisé avec différentes fonctions de hachage cryptographique,
ce qui donne lieu à différentes variantes en fonction de la fonction de hachage
utilisée. Voici quelques-unes des principales variantes de HMAC :
● HMAC-MD5 :Utilise la fonction de hachage MD5 pour calculer le HMAC.
● HMAC-SHA1 :Utilise la fonction de hachage SHA-1 pour calculer le HMAC.
● HMAC-SHA256 :Utilise la fonction de hachage SHA-256 pour calculer le HMAC.
● HMAC-SHA512 :Utilise la fonction de hachage SHA-512 pour calculer le HMAC.
Algorithme
Principe du HMAC
Algorithme du HMAC
Le principe du HMAC est de combiner une clé et le messages et de
passer le résultat a une fonction de hachage.
la première étape consiste donc a ajuster la taille de la clé grâce à des
constant(ipad et opad) sur lesquelles on vas appliquer un XOR avec la clé
en suite on concatène le résultat avec le message.
puis on applique la fonctions de hachage 2 fois sur le résultat
obtenue pour
avoir le resultat final
Algorithme du HMAC
EXEMPLE D’APPLIQUATION
Exemple d’application du HMAC
Exemple d’application du HMAC
Le HMAC (Hash-based Message Authentication Code) est largement utilisé dans de
nombreux domaines pour garantir l'intégrité et l'authenticité des données. Voici
quelques exemples d'applications courantes du HMAC :
Authentification API : Les API utilisent souvent le HMAC pour s'assurer que les
requêtes proviennent de sources autorisées. Chaque requête est signée avec un
HMAC basé sur une clé partagée entre le client et le serveur. Cela empêche les tiers
non autorisés d'envoyer des requêtes manipulées ou falsifiées.
Authentification des Cookies : Les cookies sécurisés peuvent être signés avec un
HMAC pour empêcher les utilisateurs malveillants de falsifier ou de manipuler les
données stockées dans les cookies, comme les jetons d'authentification ou les
préférences utilisateur.
SÉCURITÉ
Sécurité du HMAC
Sécurité du HMAC
LLa sécurité du HMAC (Hash-based Message Authentication Code) repose sur
plusieurs principes et caractéristiques clés qui en font un mécanisme robuste
pour vérifier l'intégrité et l'authenticité des données:
Utilisation de Fonctions de Hachage Cryptographiques : Le HMAC utilise
des fonctions de hachage cryptographiques comme SHA-256, SHA-512, etc.,
qui sont conçues pour être résistantes aux attaques cryptographiques telles
que les collisions et les attaques de préimage.
Confidentialité de la Clé: Le HMAC nécessite une clé secrète partagée entre
les parties autorisées (par exemple, un client et un serveur). La sécurité du
HMAC dépend de la confidentialité de cette clé.
Merci pour votre attention !

algorithme de chiffrement SHA3 et HMAC.pptx

  • 1.
    THEME: Les fonctionsde Hachages et les M.A.C Par KEWOU ERIC D’AQUIN. Cas des fonctions SHA-3 et HMAC
  • 2.
    Plan de travaille ● Fonctionhachage SHA-3 ○ Vue d’ensemble ○ Algorithme ○ Exemple d’application ○ Sécurité ● Fonction hachage HMAC ○ Vue d’ensemble ○ Algorithme ○ Exemple d’application ○ Sécurité
  • 3.
    FONCTIONS DE HACHAGES Vued’ensemble de la famile SHA-3
  • 4.
    Qu’est ce queSHA-3? SHA-3, signifiant Secure Hash Algorithm 3 est la plus récente famille d'algorithmes de hachage cryptographique publiée par le National Institute of Standards and Technology (NIST) en 2015. SHA-3 est le successeur des familles SHA-1 et SHA-2, mais il repose sur une approche conceptuellement différente, appelée Keccak, qui a remporté la compétition de hachage organisée par le NIST.
  • 5.
    Les variantes deSHA-3 La famille SHA-3 se décline en plusieurs variantes, chacune ayant une longueur de sortie différente: 1. SHA3-224: Produit une sortie de 224 bits. 2. SHA3-256: Produit une sortie de 256 bits. 3. SHA3-384: Produit une sortie de 384 bits. 4. SHA3-512: Produit une sortie de 512 bits.
  • 6.
  • 7.
    Algorithme de SHA-3 Lafamille SHA-3 transforme les messages en hach en passant successivement par 4 étapes: 1. Transformations 2. Absorption des Données 3. Compression 4. Génération de la Sortie
  • 8.
    Transformation Encodage du message enentrée Absorption des Données Le message encodé est divisé en blocs de taille fixe Compression Une fonction interne est utilisée pour transformer et mélanger les bits dans l'état interne de SHA-3 à chaque étape du processus. Génération de la Sortie Après que l'état interne a été transformé, SHA-3 extrait une partie de cet état interne pour produire le résultat final. 15 min Chaque bloc de données est XORé avec une partie de l'état interne de SHA-3.
  • 9.
    Exemples d’applications Dans quelsdomaine sont appliquées SHA- 3
  • 10.
    Exemple d’application deSHA-3 SHA-3 trouve des applications dans divers domaines où la sécurité et l'intégrité des données sont essentielles, Notamment dans: TLS/SSL et HTTPS :Les protocoles de sécurité comme TLS et SSL utilisent souvent des fonctions de hachage basées sur SHA-3 pour garantir l'intégrité des communications sécurisées sur Internet. Par exemple, SHA3-256 peut être utilisé dans la génération de signatures numériques et dans le calcul de hachages pour assurer la sécurité des connexions HTTPS. Blockchain :Certains projets de blockchain utilisent SHA-3 dans leurs protocoles de consensus et de preuve de travail. Par exemple, certaines implémentations de blockchain utilisent SHA-3 pour le calcul de hachages des blocs et pour vérifier l'intégrité des transactions.
  • 11.
    Exemple d’application deSHA-3 Cryptomonnaies :SHA-3 est utilisé dans certaines cryptomonnaies pour la génération de hachages sécurisés, notamment dans le processus de minage et dans la gestion des adresses de portefeuille. Systèmes de Gestion de l'Identité : Les systèmes de gestion de l'identité numérique utilisent souvent des fonctions de hachage basées sur SHA-3 pour sécuriser les informations d'identification, telles que les mots de passe et les données personnelles des utilisateurs.
  • 12.
  • 13.
    Avantage de SHA-3 Résistanceaux attaques connues : Conçu pour être résistant aux attaques cryptographiques connues, y compris les attaques par collision, les attaques de pré-image et les attaques différentielles. Flexibilité de sortie : Variété de longueurs de sortie pour s'adapter à divers besoins d'application. Construction en éponge : Offre une structure moderne qui peut être adaptée pour différents scénarios d'application.
  • 14.
    Considérations de Sécurité Gestiondes clés : Bien que SHA-3 soit résistant aux attaques, la sécurité dépend également de la gestion appropriée des clés et des paramètres utilisés dans les applications concrètes. Choix de la variante : Le choix de la variante SHA-3 (par exemple, SHA3- 256 vs SHA3-512) doit être adapté aux besoins de sécurité spécifiques et aux performances requises.
  • 15.
    LE HMAC Hash-based MessageAuthentication Code
  • 16.
    Qu’est ce quele HMAC Le HMAC ou Hash-based Message Authentication Code est un mécanisme de vérification d'intégrité et d'authenticité des données basé sur une fonction de hachage cryptographique. Il combine une clé secrète avec les données à authentifier à l'aide d'une fonction de hachage, fournissant ainsi une valeur de hachage qui peut être utilisée pour vérifier que les données n'ont pas été altérées.
  • 17.
    Les variantes duHMAC Le HMAC peut être utilisé avec différentes fonctions de hachage cryptographique, ce qui donne lieu à différentes variantes en fonction de la fonction de hachage utilisée. Voici quelques-unes des principales variantes de HMAC : ● HMAC-MD5 :Utilise la fonction de hachage MD5 pour calculer le HMAC. ● HMAC-SHA1 :Utilise la fonction de hachage SHA-1 pour calculer le HMAC. ● HMAC-SHA256 :Utilise la fonction de hachage SHA-256 pour calculer le HMAC. ● HMAC-SHA512 :Utilise la fonction de hachage SHA-512 pour calculer le HMAC.
  • 18.
  • 19.
    Algorithme du HMAC Leprincipe du HMAC est de combiner une clé et le messages et de passer le résultat a une fonction de hachage. la première étape consiste donc a ajuster la taille de la clé grâce à des constant(ipad et opad) sur lesquelles on vas appliquer un XOR avec la clé en suite on concatène le résultat avec le message. puis on applique la fonctions de hachage 2 fois sur le résultat obtenue pour avoir le resultat final
  • 20.
  • 21.
  • 22.
    Exemple d’application duHMAC Le HMAC (Hash-based Message Authentication Code) est largement utilisé dans de nombreux domaines pour garantir l'intégrité et l'authenticité des données. Voici quelques exemples d'applications courantes du HMAC : Authentification API : Les API utilisent souvent le HMAC pour s'assurer que les requêtes proviennent de sources autorisées. Chaque requête est signée avec un HMAC basé sur une clé partagée entre le client et le serveur. Cela empêche les tiers non autorisés d'envoyer des requêtes manipulées ou falsifiées. Authentification des Cookies : Les cookies sécurisés peuvent être signés avec un HMAC pour empêcher les utilisateurs malveillants de falsifier ou de manipuler les données stockées dans les cookies, comme les jetons d'authentification ou les préférences utilisateur.
  • 23.
  • 24.
    Sécurité du HMAC LLasécurité du HMAC (Hash-based Message Authentication Code) repose sur plusieurs principes et caractéristiques clés qui en font un mécanisme robuste pour vérifier l'intégrité et l'authenticité des données: Utilisation de Fonctions de Hachage Cryptographiques : Le HMAC utilise des fonctions de hachage cryptographiques comme SHA-256, SHA-512, etc., qui sont conçues pour être résistantes aux attaques cryptographiques telles que les collisions et les attaques de préimage. Confidentialité de la Clé: Le HMAC nécessite une clé secrète partagée entre les parties autorisées (par exemple, un client et un serveur). La sécurité du HMAC dépend de la confidentialité de cette clé.
  • 25.
    Merci pour votreattention !