Internet DRAFT - draft-liu-sm-for-openpgp

draft-liu-sm-for-openpgp



Internet Engineering Task Force                                Y. Liu
Internet Draft                                                 Z. Li
Intended status: Experimental                                  J. Chen
Expires: August 24 2023                                        X. Fan
            China Academy of Information and Communications Technology
                                                    February 24, 2023
                         ShangMi(SM) Cipher for OpenPGP
                         draft-liu-sm-for-openpgp-00


Abstract

   This document introduces the Shang Mi(SM) cryptographic algorithm
   for openpgp protocol.

Status of this Memo

   Internet-Drafts are working documents of the Internet Engineering
   Task

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six
   months and may be updated, replaced, or obsoleted by other documents
   at any time.  It is inappropriate to use Internet-Drafts as
   reference material or to cite them other than as "work in progress."

   This Internet-Draft will expire on August 24, 2023.

Copyright Notice

   Copyright (c) 2023 IETF Trust and the persons identified as the
   document authors. All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document. Please review these documents
   carefully, as they describe your rights and restrictions with
   respect to this document. Code Components extracted from this
   document must include Simplified BSD License text as described in
   Section 4.e of the Trust Legal Provisions and are provided without
   warranty as described in the Simplified BSD License.





Liu, et al.            Expires August 24, 2023                [Page 1]

Internet-Draft      ShangMi(SM) Cipher for OpenPGP       February 2023


Table of Contents


   1. Introduction...................................................2
      1.1. The SM Algorithms.........................................2
      1.2. Terminology...............................................3
   2. Supported Public Key Algorithm: SM2............................3
      2.1. Point Format..............................................3
      2.2. Curve OID.................................................3
      2.3. Key Algorithms id.........................................3
   3. Supported Symmetric-Key Algorithm: SM4.........................4
   4. Supported Hash Algorithm: SM3..................................4
      4.1. Algorithm ID..............................................4
      4.2. Hash OID..................................................5
   5. IANA Considerations............................................5
   6. Security Considerations........................................5
   7. References.....................................................5
      7.1. Normative References......................................5
      7.2. Informative References....................................6
   8. Acknowledgments................................................7

1. Introduction

   The OpenPGP specification in [RFC4880] defines the RSA, Elgamal, and
   DSA public key algorithms.  [RFC6637] adds support for Elliptic
   Curve Cryptography and specifies the ECDSA and ECDH algorithms.

   This document specifies how to use the SM cryptographic algorithms
   with the OpenPGP standard. The IETF has not recommended the use of
   the cryptographic algorithms defined in this daft. The SM algorithms
   are becoming mandatory in China, so this document provides a
   description of how to use them in OpenPGP.

1.1. The SM Algorithms

   This document describes several different SMs cryptographic
   algorithms, including SM2 for authentication, SM4 for encryption,
   and SM3 as the hash function.

   SM2 is a suite of cryptographic algorithms based on elliptic curve
   cryptography, including a digital signature, public key encryption
   and key exchange scheme. This document  only deals with the SM2
   digital signature algorithm and public key encryption algorithm
   that have  been added to ISO/IEC 14888-3:2018 [ISO-
   SM2] add [GBT.32918.2-2016]). SM4 is a block cipher algorithm
   defined in [GBT.32907-2016] and now is being standardized by ISO to
   ISO/IEC 18033-3:2010 [ISO-SM4]. SM3 is a hash function that outputs


Liu, et al.            Expires August 24, 2023                [Page 2]

Internet-Draft      ShangMi(SM) Cipher for OpenPGP       February 2023


   256 bits. SM3 has already listed in ISO/IEC 10118-3:2018 [ISO-
   SM3] and has also been described by [GBT.32905-2016].

1.2. Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in
   BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

2. Supported Public Key Algorithm: SM2

2.1. Point Format

   This document only defines the uncompressed point format.  The point
   is encoded in the Multiprecision Integer (MPI) format [RFC4880].
   The content of the MPI is the following:

         B = 04 || x || y

   where x and y are coordinates of the point P = (x, y), each encoded
   in the big-endian format and zero-padded to the adjusted underlying
   field size.  The adjusted underlying field size is the underlying
   field size that is rounded up to the nearest 8-bit boundary.

   Therefore, the exact size of the MPI payload is 515 bits for
   "P256V1Curve" used in sm2.

2.2. Curve OID

   The SM2 key parameter curve OID is an array of octets that defines a
   named curve.  The table below specifies the exact sequence of bytes
   for each named curve referenced in this document:

     +---------------------+------+------------------------+----------+
    | OID                  | Len  | Encoding in hex format | Name     |
    +----------------------+------+------------------------+----------+
    | 1.2.156.10197.1.301  | 8    | 2a 81 1c cf 55 01 82 2d| Sm2p256v1|
    |                      |      |                        |          |
    +----------------------+------+------------------------+----------+

2.3. Key Algorithms id

   The following public key algorithm IDs are added to expand  Section
   9.1 of [RFC4880], "Public-Key Algorithms":



Liu, et al.            Expires August 24, 2023                [Page 2]

Internet-Draft      ShangMi(SM) Cipher for OpenPGP       February 2023


             ID         Description of Algorithm
             --        --------------------------
             TID1       SM2 public key algorithm
3. Supported Symmetric-Key Algorithm: SM4

   SM4 is a 128-bit symmetric block cipher (the same as AES and Twofish
   in OpenPGP) that supports 128-bit. This document defines the use of
   SM4 in OpenPGP.

       +---------------------+----------------------------------------+
       | SM4 Key Length      | OpenPGP Symmetric-Key Algorithm Number |
       +---------------------+----------------------------------------+
       |         128         |                   TID2                 |
       +---------------------+----------------------------------------+
   OpenPGP applications MAY implement SM4.  If implemented, SM4 may be
   used in any place in OpenPGP where a symmetric cipher is usable, and
   it is subject to the same usage requirements (such as its presence
   in the Preferred Symmetric Algorithms signature subpacket) as the
   other symmetric ciphers in OpenPGP.

   While the OpenPGP algorithm preferences system prevents
   interoperability problems with public key encrypted messages, if SM4
   (or any other optional cipher) is used for encrypting private keys,
   there could be interoperability problems when migrating a private
   key from one system to another.  A similar issue can arise when
   using an optional cipher for symmetrically encrypted messages, as
   this OpenPGP message type does not use the algorithm preferences
   system.  Those using optional ciphers in this manner should take
   care they are using a cipher that their intended recipient can
   decrypt.

4. Supported Hash Algorithm: SM3

   For a message m with length l ( l<2^64 ), SM3 hash algorithm
   generates a 256-bit hash value after padding and iterative
   compression.

4.1. Algorithm ID

   The following algorithm ID is added to expand section 9.4 of
   [RFC4880], " Hash Algorithms":

          ID           Algorithm                       Text Name
         --           ---------                       ---------
         TID3         SM3[ISO-SM3]                      "SM3"




Liu, et al.            Expires August 24, 2023                [Page 2]

Internet-Draft      ShangMi(SM) Cipher for OpenPGP       February 2023


4.2. Hash OID

   The table below specifies the exact sequence of bytes for the sm3
   hash OID:

      +------------------------+------+------------------------+------+
      | OID                    | Len  | Encoding in hex format | Name |
      +------------------------+------+------------------------+------+
      | 1.2.156.10197.1.401    | 8    | 2a 81 1c cf 55 01 83 11| sm3  |
      |                        |      |                        |      |
      +------------------------+------+------------------------+------+
5. IANA Considerations

   IANA is requested to assign an algorithm number from the OpenPGP
   Public-Key Algorithms range(See section 2),a symmetric-key algorithm
   number from openPGP Symmetric-key Algorithm range(section 3),an hash
   Algorithm id from OpenPGP hash Algorithm range(section 4).

              +-------+-----------------------------+------------+
              | ID    | Algorithm                   | Reference  |
              +-------+-----------------------------+------------+
              | TID1  | SM2 public key algorithm    | This doc   |
              +-------+-----------------------------+------------+
         | TID2  | SM4 symmetric-key algorithm | This doc   |
              +-------+-----------------------------+------------+
              | TID3  | SM3 hash algorithm          | This doc   |

6. Security Considerations

   At the time of writing, there are no known weak keys for SM
   cryptographic algorithms SM2, SM3 and SM4, and no security issues
   have been found for these algorithms.

7. References

7.1. Normative References

   [ISO-SM2] International Organization for
   Standardization, "ITSecurity techniques -- Digital signatures with
   appendix -- Part 3: Discrete logarithm based mechanisms", ISO/IEC
   14888-3:2018, November 2018,
   <https://www.iso.org/standard/76382.html>.



   [ISO-SM3] International Organization for Standardization, "IT
   Security techniques -- Hash-functions -- Part 3: Dedicated hash-


Liu, et al.            Expires August 24, 2023                [Page 2]

Internet-Draft      ShangMi(SM) Cipher for OpenPGP       February 2023


   functions", ISO/IEC 10118-3:2018, October
   2018, <https://www.iso.org/standard/67116.html>.



   [ISO-SM4] International Organization for
   Standardization, "Information technology -- Security techniques --
   Encryption algorithms -- Part 3: Block ciphers", ISO/IEC 18033-
   3:2010, December 2010, <https://www.iso.org/standard/54531.html>.



   [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
   Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March
   1997, <https://www.rfc-editor.org/info/rfc2119>.



   [RFC4880] Callas, J., Donnerhacke, L., Finney, H., Shaw, D., and R.
   Thayer, "OpenPGP Message Format", RFC 4880, November 2007.



   [RFC6637] Jivsov, A., "Elliptic Curve Cryptography (ECC) in
   OpenPGP", RFC 6637, June 2012.

7.2. Informative References

   [GBT.32905-2016] Standardization Administration of
   China, "Information security technology --- SM3 cryptographic hash
   algorithm", GB/T 32905-2016, March 2017,
   <http://www.gmbz.org.cn/upload/2018-07-24/1532401392982079739.pdf>.

   [GBT.32907-2016]  Standardization Administration of the People's
   Republic of China, "Information security technology -- SM4 block
   cipher algorithm", GB/T 32907-2016, March 2017,
   <http://www.gmbz.org.cn/upload/2018-04-04/1522788048733065051.pdf>.

   [GBT.32918.2-2016] Standardization Administration of the People's
   Republic of China, "Information security technology --- Public key
   cryptographic algorithm SM2 based on elliptic curves --- Part 2:
   Digital signature algorithm", GB/T 32918.2-2016, March 2017,
   <http://www.gmbz.org.cn/upload/2018-07-24/1532401673138056311.pdf>.






Liu, et al.            Expires August 24, 2023                [Page 2]

Internet-Draft      ShangMi(SM) Cipher for OpenPGP       February 2023


8. Acknowledgments

   This document reference draft [draft-ietf-regext-data-escrow-03],
   thus, would like to thank the draft author G. Lozano. And would like
   to thank X. Fan, J. Chen, C. Ma, M. Chen, Z. Li who provided special
   important suggestions and invaluable comments. This document was
   prepared using 2-Word-v2.0.template.dot.

Authors' Addresses

   Yao Liu
   CAICT
   No.52 Huayuan North Road, Haidian District
   Beijing, Beijing, 100191
   China

   Phone: +86 136 8310 4106
   Email: liuyao1@caict.ac.cn


   Zhiping Li
   CAICT
   No.52 Huayuan North Road, Haidian District
   Beijing, Beijing, 100191
   China

   Phone: +86 185 1107 1386
   Email: lizhiping@caict.ac.cn


   Jian Chen
   CAICT
   No.52 Huayuan North Road, Haidian District
   Beijing, Beijing, 100191
   China

   Phone: +86 138 1103 3332
   Email: chenjian3@caict.ac.cn










Liu, et al.            Expires August 24, 2023                [Page 2]

Internet-Draft      ShangMi(SM) Cipher for OpenPGP       February 2023


   Xiaotian Fan
   CAICT
   No.52 Huayuan North Road, Haidian District
   Beijing, Beijing, 100191
   China

   Phone: +86 134 0108 6945
   Email: fanxiaotian@caict.ac.cn








































Liu, et al.            Expires August 24, 2023                [Page 2]