Digital Signature Algorithm

Pour les articles homonymes, voir DSA.

Digital Signature Algorithm

Le Digital Signature Algorithm, plus connu sous le sigle DSA, est un algorithme de signature numérique standardisé par le NIST aux États-Unis, du temps où le RSA était encore breveté. Cet algorithme faisait partie de la spécification DSS pour Digital Signature Standard (en) adoptée en 1993 avant d'être retiré en 2023 (FIPS 186). Une révision mineure a été publiée en 1996 (FIPS 186-1) et le standard a été amélioré en 2002 dans FIPS 186-2. Il est couvert par le brevet n° 5 231 668 aux USA () attribué à David Kravitz, ancien employé de la NSA, et il peut être utilisé gratuitement.

Aperçu

Le DSA est similaire à un autre type de signature développée par Claus-Peter Schnorr (en) en 1989. Il a aussi des points communs avec la signature ElGamal. Le processus se fait en trois étapes :

  • génération des clés ;
  • signature du document ;
  • vérification du document signé.

Générations des clés

Leur sécurité repose sur la difficulté du problème du logarithme discret dans un groupe fini[1].

  • Choisir des longueurs et avec divisible par 64. Ces longueurs définissent directement le niveau de sécurité de la clef. NIST 800-57 recommande de choisir et pour une sécurité équivalente à 128 bit.
  • Choisir un nombre premier de longueur .
  • Choisir un nombre premier de longueur , de telle façon que , avec un entier.
  • Choisir , avec de manière que .
  • Générer aléatoirement un , avec .
  • Calculer .
  • La clé publique est . La clé privée est .

Signature

  • Choisir un nombre aléatoire tel que
  • Calculer
  • Si recommencer avec un autre
  • Calculer , où est le résultat d'un hachage cryptographique, par exemple avec SHA-256, sur le message
  • Si recommencer avec un autre
  • La signature est

Vérification

  • Rejeter la signature si ou n'est pas vérifié
  • Calculer
  • Calculer
  • Calculer
  • Calculer
  • La signature est valide si

Validité de l'algorithme

Ce principe de signature est correct dans le sens où le vérificateur acceptera toujours des signatures authentiques. Ceci peut être démontré comme suit avec un exemple pratique :

À partir de et découle :

selon le petit théorème de Fermat. Puisque et est premier, il s'ensuit que a un ordre égal à .

Celui qui procède à la signature obtient :

Ainsi

Comme g est d'ordre q, on a :

Finalement, on aboutit à la validité de DSA :

Notes et références

(en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Digital Signature Algorithm » (voir la liste des auteurs).
  1. Guillot 2013, p. 60.

Annexes

Bibliographie

Articles connexes

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.