home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_n_r / draft-rfced-info-pgutmann-00.txt < prev    next >
Text File  |  1997-08-29  |  6KB  |  176 lines

  1.  
  2. INTERNET DRAFT        EXPIRES FEB 1998    INTERNET DRAFT    
  3. Internet Draft                                           Peter Gutmann
  4.                                 University of Auckland
  5.  
  6.  
  7.  
  8.                   ElGamal Profile for X.509 Certificates
  9.                     <draft-rfced-info-pgutmann-00.txt>
  10.  
  11. Status of this Memo
  12.  
  13. This document is an Internet-Draft. Internet-Drafts are working
  14. documents of the Internet Engineering Task Force (IETF), its areas,
  15. and its working groups. Note that other groups may also distribute working
  16. documents as Internet-Drafts.
  17.  
  18. Internet-Drafts are draft documents valid for a maximum of six months
  19. and may be updated, replaced, or obsoleted by other documents at any
  20. time. It is inappropriate to use Internet-Drafts as reference material
  21. or to cite them other than as "work in progress."
  22.  
  23. To learn the current status of any Internet-Draft, please check the
  24. "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow
  25. Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
  26. munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
  27. ftp.isi.edu (US West Coast).
  28.  
  29. Distribution of this document is unlimited.
  30.  
  31. Abstract
  32.  
  33. This document describes the ASN.1 encoding for an X.509 certificate
  34. profiled for use with the ElGamal public key cryptosystem [1].  It is
  35. intended to provide guidelines for those developing software that will
  36. be used to issue and use ElGamal certificates, and to ensure that
  37. ElGamal certificate and key information will be handled consistently
  38. throughout the public key infrastructure.
  39.  
  40.  
  41. 1. ASN.1 Definition of Certificate Elements
  42.  
  43. The abstract definition of X.509 certificates is given in [2].  The
  44. elements specific to ElGamal are the algorithm identifier, the public
  45. key information, and the signature data.  These are as follows:
  46.  
  47. -- ElGamal may be used in conjunction with the SHA-1 and RIPEMD-160
  48. -- hash algorithms.  The ASN.1 object identifiers used to identify
  49. --- the ElGamal signature algorithm when used with these two hash
  50. -- algorithms is:
  51.  
  52. elGamalWithSHA-1 OBJECT IDENTIFIER ::= {
  53.     {iso(1) org(3) dod(6) internet(1) private(4) enterprise(1)
  54. dds(3029)
  55.      signature(3) 1}
  56.     }
  57.  
  58. elGamalWithRIPEMD-160 OBJECT IDENTIFIER :;= {
  59.     {iso(1) org(3) dod(6) internet(1) private(4) enterprise(1)
  60. dds(3029)
  61.      signature(3) 2}
  62.     }
  63.  
  64. -- Some of the ElGamal parameters may be shared among a number of
  65. -- users.  These are conveyed in the parameters component of the
  66. -- ElGamal AlgorithmIdentifier, and are as follows:
  67.  
  68. elGamal-Params ::= SEQUENCE {
  69.     p           INTEGER,
  70.     g           INTEGER
  71.     }
  72.  
  73. -- The remaining ElGamal parameter is the users public key:
  74.  
  75. elGamalPublicKey ::= SEQUENCE {
  76.     y           INTEGER,
  77.     }
  78.  
  79. -- The AlgorithmIdentifier and public key are then encoded into a
  80. -- standard X.509 SubjectPublicKeyInfo:
  81.  
  82. SubjectPublicKeyInfo ::= SEQUENCE {
  83.     algorithm   AlgorithmIdentifier,
  84.     subjectPublicKey    BIT STRING
  85.     }
  86.  
  87. -- Prior to the bitstring encoding of an ElGamal signature, the
  88. -- signature components are encoded  as follows:
  89.  
  90. elGamal-Sig ::= SEQUENCE {
  91.     r           INTEGER,
  92.     s           INTEGER
  93.     }
  94.  
  95.  
  96. 2. Use of ElGamal for Encryption
  97.  
  98. The ElGamal algorithm may also be used for encryption.  In this case
  99. the message formatting rules follow the rules for RSA encryption as
  100. set
  101. out in PKCS #1 [3], and use a message block type of 01.  The object
  102. identifier for ElGamal encryption is:
  103.  
  104. elGamalEncryption OBJECT IDENTIFIER ::= {
  105.     {iso(1) org(3) dod(6) internet(1) private(4) enterprise(1)
  106. dds(3029)
  107.      asymmetric-encryption(2) 1}
  108.     }
  109.  
  110. The encrypted message consists of two components, the integers a = g^k
  111. mod p and b = My^k mod p (this is not intended as an explanation of
  112. the
  113. ElGamal algorithm, but merely to indicate which integer is which).
  114. The
  115. encoding of these integers is:
  116.  
  117. elGamalEncryptedMessage ::= SEQUENCE {
  118.     a           INTEGER,
  119.     b           INTEGER
  120.     }
  121.  
  122. Decryption follows the ElGamal algorithm, and the decrypted message is
  123. again handled as per PKCS #1.
  124.  
  125.  
  126. 3. Security considerations
  127.  
  128. Although the use of the ElGamal algorithm for digital signature
  129. generation is not directly addressed in this document, it should be
  130. pointed out that some care needs to be taken with both the choice of
  131. keys and the use of the algorithm.  Details on the safe use of ElGamal
  132. are given in [4].  A weakness of ElGamal when used for digital
  133. signatures, and workarounds to avoid the weakness, are given in [5].
  134.  
  135. Ongoing research into the security of ElGamal may reveal other factors
  136. which need to be taken into account to provide adequate security for
  137. signature and encryption applications, for example it is desirable
  138. that
  139. g generate a large subgroup of Zp*; it is recommended that
  140. implementors
  141. keep abreast of current research on the choice of parameters and use
  142. of
  143. the algorithm in order to avoid potential security weaknesses.
  144.  
  145.  
  146. 3. References
  147.  
  148. [1] "A public-key cryptosystem based on discrete logarithms", Taher
  149.     ElGamal, IEEE Transactions on Information Theory, Vol.31, No.4
  150.     (1985), p.469.
  151.  
  152. [2] ITU Recommendation X.509 (1993).
  153.  
  154. [3] Public-Key Cryptography Standard #1 (PKCS #1) v1.5, RSA Data
  155.     Security Inc, November 1993.
  156.  
  157. [4] "Handbook of Applied Cryptography", Alfred Menezes, Paul van
  158.     Oorschot, and Scott Vanstone, CRC Press, 1996.
  159.  
  160. [5] "Generating ElGamal signatures without knowing the secret key",
  161.     Daniel Bleichenbacher, presented at EuroCrypt'96.
  162.  
  163.  
  164. Author's Address
  165.  
  166. Peter Gutmann
  167. University of Auckland
  168. Private Bag 92019
  169. Auckland
  170. New Zealand
  171.  
  172. Phone: +64 9 373-7599
  173. Email: pgut001@cs.auckland.ac.nz
  174.  
  175. INTERNET DRAFT        EXPIRES FEB 1998    INTERNET DRAFT
  176.