<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.23 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-guo-ipsecme-ikev2-using-shangmi-02" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.27.0 -->
  <front>
    <title abbrev="Using ShangMi in IKEv2">Using ShangMi in the Internet Key Exchange Protocol Version 2 (IKEv2)</title>
    <seriesInfo name="Internet-Draft" value="draft-guo-ipsecme-ikev2-using-shangmi-02"/>
    <author initials="Y." surname="Guo" fullname="Yanfei Guo">
      <organization abbrev="Huawei">Huawei Technologies</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <region/>
          <code/>
          <country>China</country>
        </postal>
        <email>guoyanfei3@huawei.com</email>
      </address>
    </author>
    <author initials="L." surname="Xia" fullname="Liang Xia">
      <organization abbrev="Huawei">Huawei Technologies</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <region/>
          <code/>
          <country>China</country>
        </postal>
        <email>frank.xialiang@huawei.com</email>
      </address>
    </author>
    <author initials="Y." surname="Fu" fullname="Yu Fu">
      <organization abbrev="China Unicom">China Unicom</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <region/>
          <code/>
          <country>China</country>
        </postal>
        <email>fuy186@chinaunicom.cn</email>
      </address>
    </author>
    <date year="2025" month="February" day="28"/>
    <area>Security</area>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 203?>

<t>This document defines a set of cryptographic transforms for use in the Internet Key Exchange Protocol version 2 (IKEv2). The transforms are based on  ISO and Chinese cryptographic standard algorithms (called "ShangMi" or “SM” algorithms).</t>
      <t>The use of these algorithms with IKEv2 is not endorsed by the IETF. The SM algorithms is ISO standardization  and are mandatory for some scenario in China, so this document provides a description of how to use the SM algorithms with IKEv2 and specifies a set of cryptographic transforms so that implementers can produce interworking implementations.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-guo-ipsecme-ikev2-using-shangmi/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        ipsec Working Group mailing list (<eref target="mailto:ipsec@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/ipsec/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/ipsec/"/>.
      </t>
    </note>
  </front>
  <middle>
    <?line 209?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document describes a number of new transforms and a new authentication method using SM2 signature and SM3 hash function for IKEv2 (<xref target="RFC7296"/>), based on ISO and Chinese cryptographic standard algorithms ("SM" algorithms) for encryption, hash function, digital signature, and key exchange method. With the definition in this document, the SM algorithms can be used to implement IPSec protocols.</t>
      <t>For a more detailed introduction to SM cryptographic algorithms, please see Section 1.1. These transforms follow the IKEv2 requirements. Specifically, all the encryption transforms use SM4 in different encryption mode (e.g. CBC mode, Galois/Counter (GCM) mode or Counter with CBC-MAC (CCM) mode) . The key exchange mechanism utilizes Elliptic Curve Diffie-Hellman Ephemeral (ECDHE) over the SM2 elliptic curve, and the signature algorithm combines the SM3 hash function and the SM2 elliptic curve signature scheme.</t>
      <section anchor="the-sm-algorithms">
        <name>The SM Algorithms</name>
        <t>Several different SM cryptographic algorithms are used to integrate with IKEv2, including SM2 for key exchange and authentication, SM4 for encryption, and SM3 as the hash function.</t>
        <t>SM2 is a set of cryptographic algorithms based on elliptic curve cryptography, including a digital signature, public key encryption and key exchange scheme. In this document, only the SM2 digital signature algorithm and basic key exchange scheme are involved, which have already been added to ISO/IEC 14888-3:2018 <xref target="ISO-SM2"/> (as well as to <xref target="GBT.32918.2-2016"/>). The parameter definition of SM2 is described in <xref target="GBT.32918.5-2017"/>. SM4 is a block cipher defined in <xref target="GBT.32907-2016"/> and now is being standardized by ISO to ISO/IEC 18033-3:2010 <xref target="ISO-SM4"/>. SM3 is a hash function that produces an output of 256 bits. SM3 has already been accepted by ISO in ISO/IEC 10118-3:2018 <xref target="ISO-SM3"/> and has also been described by <xref target="GBT.32905-2016"/>.</t>
      </section>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>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 <xref target="RFC2119"/> <xref target="RFC8174"/>
when, and only when, they appear in all capitals, as shown here.</t>
    </section>
    <section anchor="transforms-description">
      <name>Transforms Description</name>
      <section anchor="encryption-transforms">
        <name>Encryption Transforms</name>
        <t>The new encryption transforms introduced in this document add three encryption algorithms: ENCR_SM4_CBC, ENCR_SM4_GCM and ENCR_SM4_CCM.</t>
        <t>ENCR_SM4_CBC is encryption transform based on SM4 for SM4<xref target="ISO-SM4"/> and <xref target="GBT.32907-2016"/>encryption algorithm using CBC mode.</t>
        <t>ENCR_SM4_GCM (Transform ID XX) and ENCR_SM4_CCM (Transform ID XX) are AEAD transforms based on SM4 cipher in Galois/Counter mode and SM4 cipher in Counter with CBC-MAC mode, respectively. The hash function for both cipher suites is SM3 (<xref target="ISO-SM3"/>).</t>
        <section anchor="encrsm4cbc">
          <name>ENCR_SM4_CBC</name>
          <t>The specification of ENCR_SM4_CBC is as follows: The CBC (Cipher Block Chaining) mode is defined in <xref target="NIST.SP.800-38A"/> and utilized with the SM4 algorithm in the following sections. The input plaintext of SM4-CBC MUST be a multiple of the block size, which is 128-bits in SM4. SM4-CBC requires an additional input, the IV, that is unpredictable for a particular execution of the encryption process. The IV does not have to be secret. The IV itself, or criteria enough to determine it, MAY be transmitted with ciphertext.</t>
          <t>A simple test vector of ENCR _SM4_CBC is given in Appendix A of this document.</t>
        </section>
        <section anchor="encrsm4gcm">
          <name>ENCR_SM4_GCM</name>
          <t>The ENCR_SM4_GCM authenticated encryption algorithm is defined in <xref target="GCM"/>, using SM4 as the block cipher, by providing the key, nonce, plaintext, and additional associated data to that mode of operation. An authentication tag conforming to the requirements of IKEv2 as specified in <xref target="RFC5282"/> MUST be constructed using the partial contents of the IKEv2 message, starting from the first octet of the Fixed IKE Header through the last octet of the Payload Header of the Encrypted Payload (i.e., the fourth octet of the Encrypted Payload). This includes any payloads that are between the Fixed IKE Header and the Encrypted Payload. The additional data input that forms the authentication tag MUST be the partial contents of the IKEv2 message, starting from the first octet of the Fixed IKE Header through the last octet of the Payload Header of the Encrypted Payload (i.e., the fourth octet of the Encrypted Payload). This includes any payloads that are between the Fixed IKE Header and the Encrypted Payload. The ENCR_SM4_GCM has four inputs: an SM4 key, an initialization vector (IV), a plaintext content, and optional additional authenticated data (AAD). ENCR_SM4_GCM generates two outputs: a ciphertext and message authentication code.</t>
          <t>The input and output lengths are as follows:</t>
          <t>The SM4 key length is 16 octets.</t>
          <t>The max plaintext length is $2^{36} - 31$ octets.</t>
          <t>The max AAD length is $2^{61} - 1$ octets.</t>
          <t>The nonce length is 12 octets.</t>
          <t>The authentication tag length is 16 octets.</t>
          <t>The max ciphertext length is $2^{36} - 15$ octets.</t>
          <t>The nonce is generated by the party performing the authenticated encryption operation. Within the scope of any authenticated encryption key, the nonce value MUST be unique. That is, the set of nonce values used with any given key MUST NOT contain any duplicates. Using the same nonce for two different messages encrypted with the same key destroys the security properties of GCM mode.</t>
        </section>
        <section anchor="encrsm4ccm">
          <name>ENCR_SM4_CCM</name>
          <t>The ENCR_SM4_CCM authenticated encryption algorithm is defined in <xref target="CCM"/> using SM4 as the block cipher. The generation of the authentication tag MUST conform to IKEv2 (See <xref target="RFC5282"/>) as described in the above paragraph. ENCR_SM4_CCM has four inputs: an SM4 key, a nonce, a plaintext, and optional additional authenticated data (AAD). ENCR_SM4_CCM generates two outputs: a ciphertext and a message authentication code.</t>
          <t>The input and output lengths are as follows:</t>
          <t>The SM4 key length is 16 octets.</t>
          <t>The max plaintext length is $2^{24} - 1$ octets.</t>
          <t>The max AAD length is $2^{64} - 1$ octets.</t>
          <t>The max ciphertext length is $2^{24} + 15$ octets</t>
          <t>To have a common set of terms for ENCR _SM4_GCM and ENCR _SM4_CCM, the ENCR _SM4_GCM IV is referred to as a nonce in the remainder of this document.</t>
          <t>A simple test vector of ENCR _SM4_GCM and ENCR _SM4_CCM is given in Appendix A of this document.</t>
        </section>
      </section>
      <section anchor="pseudorandom-function-transform">
        <name>Pseudorandom Function Transform</name>
        <t>This specification defines a new transform of Type 2 (Pseudorandom Function Transform IDs):</t>
        <t>PRF_HMAC_SM3 (Transform ID XX). The PRF uses the SM3 hash function with a 256-bit output defined in <xref target="ISO-SM3"/> and <xref target="GBT.32905-2016"/> and with HMAC construction. The PRF has a 256-bit block size and a 256-bit output length.</t>
        <t>PRF_ HMAC_SM3 is hash-based message authentication code (or HMAC), which is defined in <xref target="RFC2104"/>, using SM3 as the hash function. The PRF_ HMAC_SM3 has two inputs: HMAC key and the plaintext. The output of PRF_ HMAC_SM3 is 256 bits.</t>
      </section>
      <section anchor="integrity-algorithm-transform">
        <name>Integrity Algorithm Transform</name>
        <t>This specification defines a new transform of Type 3 (Integrity Algorithm Transform IDs):</t>
        <t>AUTH_HMAC_SM3 (Transform ID XX). The MAC uses the SM3 hash function with a 256-bit output defined in <xref target="ISO-SM3"/> and <xref target="GBT.32905-2016"/> and with HMAC construction. AUTH_HMAC_SM3 is specified as described in 2.2.</t>
        <t>While no fixed key length is specified in <xref target="RFC2104"/>, this specification requires that when used as an integrity/authentication algorithm, a fixed key length equal to the output length of the hash functions MUST be supported, and key lengths other than the output length of the associated hash function MUST NOT be supported. These key length restrictions are the same with HMAC-SHA-256 (see <xref target="RFC4868"/> Sec2.1.1).</t>
      </section>
      <section anchor="key-exchange-method-transform">
        <name>Key Exchange Method Transform</name>
        <t>This specification defines one new transform of Type 4 (Key Exchange Method Transform IDs): curveSM2. This transform uses a fixed elliptic curve parameter set defined in <xref target="GBT.32918.5-2017"/>. The specification of curveSM2 is defined in clause 3.2 of RFC 8998 <xref target="RFC8998"/> as ”curveSM2”, which is used to define new cipher suites for TLS 1.3 protocol.</t>
        <t>Implementations of the key exchange mechanism defined in this document MUST conform to what <xref target="GBT.32918.5-2017"/> requires; that is to say, the only valid elliptic curve parameter set for the ”curveSM2” key exchange is defined as follows:</t>
        <t>curveSM2: A prime field of 256 bits.</t>
        <t>$y^2 = x^3+ ax + b$</t>
        <t>p  = FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF
        FFFFFFFF 00000000 FFFFFFFF FFFFFFFF</t>
        <t>a  = FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF
        FFFFFFFF 00000000 FFFFFFFF FFFFFFFC</t>
        <t>b  = 28E9FA9E 9D9F5E34 4D5A9E4B CF6509A7
        F39789F5 15AB8F92 DDBCBD41 4D940E93</t>
        <t>n  = FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF
        7203DF6B 21C6052B 53BBF409 39D54123</t>
        <t>Gx = 32C4AE2C 1F198119 5F990446 6A39C994
        8FE30BBF F2660BE1 715A4589 334C74C7</t>
        <t>Gy = BC3736A2 F4F6779C 59BDCEE3 6B692153
        D0A9877C C62A4740 02DF32E5 2139F0A0</t>
      </section>
    </section>
    <section anchor="authentication-method">
      <name>Authentication Method</name>
      <t>This section specifies the use of the SM2 signature algorithm as the authentication method for IKEv2 protocol.</t>
      <t>The SM2 signature algorithm is defined in <xref target="ISO-SM2"/>. The SM2 signature algorithm is based on elliptic curves. The SM2 signature algorithm uses a fixed elliptic curve parameter set defined in <xref target="GBT.32918.5-2017"/>. This curve is named "curveSM2" as defined in section 2.4.</t>
      <t>Implementations of the signature scheme mechanism defined in this document MUST conform to what <xref target="GBT.32918.5-2017"/> requires.</t>
    </section>
    <section anchor="hash-algorithms">
      <name>Hash Algorithms</name>
      <t>The SM2 digital signature algorithm uses the SM3 hash functions defined in <xref target="ISO-SM3"/> and <xref target="GBT.32905-2016"/>. This specification defines one new value for the "IKEv2 Hash Algorithms" registry: SM3 (value XX) for the SM3 hash function with a 256-bit output length.</t>
      <t>The specification of SM3 is defined as follows:</t>
      <t>The SM3 algorithm is intended to address multiple use cases for commercial cryptography, including, but not limited to:
- the use of digital signatures and their verification;
- the generation and verification of message authenticity codes; as well as
- the generation of random numbers.</t>
      <t>SM3 has a Merkle-Damgard construction and is similar to SHA-2 <xref target="NIST.FIPS.180-4"/>of the MD4 <xref target="RFC6150"/> family, with the addition of several strengthening features including a more complex step function and stronger message dependency than SHA-256 <xref target="RFC6234"/>.  SM3 produces an output hash value of 256 bits long, based on 512-bit input message blocks, on input lengths up to 2^(m) <xref target="GBT.32905-2016"/>. This details the SM3 algorithm and its internal steps can be find in <xref target="GBT.32905-2016"/>.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA maintains a registry called "Internet Key Exchange Version 2 (IKEv2) Parameters" with subregistries like "Transform Type Values", “IKEv2 Authentication Method” and “IKEv2 Hash Algorithms”.</t>
      <t>This document describes 3 new encryption transforms, 1 pseudorandom function transform, 1 integrity algorithm transform, 1 key exchange method transform and a new authentication method using SM2 signature and SM3 hash function for IKEv2 (<xref target="RFC7296"/>).</t>
      <t>IANA is requested to assign 3 new Transform IDs to the "Transform Type 1 - Encryption Algorithm Transform IDs" subregistry,</t>
      <table>
        <thead>
          <tr>
            <th align="left">Number</th>
            <th align="left">Name</th>
            <th align="left">ESP Reference</th>
            <th align="left">IKEv2 Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">TBD</td>
            <td align="left">ENCR_SM4_CBC</td>
            <td align="left">TBD</td>
            <td align="left">TBD</td>
          </tr>
          <tr>
            <td align="left">TBD</td>
            <td align="left">ENCR_SM4_GCM</td>
            <td align="left">TBD</td>
            <td align="left">TBD</td>
          </tr>
          <tr>
            <td align="left">TBD</td>
            <td align="left">ENCR_SM4_CCM</td>
            <td align="left">TBD</td>
            <td align="left">TBD</td>
          </tr>
        </tbody>
      </table>
      <t>1 Transform ID to the “Transform Type 2 - Pseudorandom Function Transform IDs” subregistry,</t>
      <table>
        <thead>
          <tr>
            <th align="left">Number</th>
            <th align="left">Name</th>
            <th align="left">ESP Reference</th>
            <th align="left">IKEv2 Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">TBD</td>
            <td align="left">PRF_HMAC_SM3</td>
            <td align="left">TBD</td>
            <td align="left">TBD</td>
          </tr>
        </tbody>
      </table>
      <t>1 Transform ID to the “Transform Type 3 - Integrity Algorithm Transform IDs” subregistry,</t>
      <table>
        <thead>
          <tr>
            <th align="left">Number</th>
            <th align="left">Name</th>
            <th align="left">ESP Reference</th>
            <th align="left">IKEv2 Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">TBD</td>
            <td align="left">AUTH_HMAC_SM3</td>
            <td align="left">TBD</td>
            <td align="left">TBD</td>
          </tr>
        </tbody>
      </table>
      <t>1 Transform ID to the “Transform Type 4 - Key Exchange Method Transform IDs” subregistry,</t>
      <table>
        <thead>
          <tr>
            <th align="left">Number</th>
            <th align="left">Name</th>
            <th align="left">ESP Reference</th>
            <th align="left">IKEv2 Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">TBD</td>
            <td align="left">curveSM2</td>
            <td align="left">TBD</td>
            <td align="left">TBD</td>
          </tr>
        </tbody>
      </table>
      <t>1 new Authentication Method to the “IKEv2 Authentication Method” subregistry,</t>
      <table>
        <thead>
          <tr>
            <th align="left">Value</th>
            <th align="left">Authentication Method</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">TBD</td>
            <td align="left">curveSM2</td>
            <td align="left">TBD</td>
          </tr>
        </tbody>
      </table>
      <t>and 1 new Hash function to the “IKEv2 Hash Algorithms” subregistry.</t>
      <table>
        <thead>
          <tr>
            <th align="left">Value</th>
            <th align="left">Hash Algorithm</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">TBD</td>
            <td align="left">SM3</td>
            <td align="left">TBD</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>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.</t>
      <t>A related work <xref target="CQCY21"/> analyzed the security of SM2 algorithm , and  the cryptanalysis results shows that SM2 is existentially unforgeable against adaptively chosen-message attacks in the generic group model if the underlying hash function is uniform and collision-resistant and the underlying conversion function is almost-invertible. Besides, SM2 is secure against the generalized key substitution attacks if the underlying hash functions H and h are modeled as non-programmable random oracles (NPROs)  <xref target="ZYZC15"/>.</t>
      <t>As a result of the increasing prevalence and exploitation of side-channel attacks (<xref target="JYW20"/>, <xref target="WDW18"/>, <xref target="LZHZ18"/>), the SM4 algorithm is now confronted with significant threats when utilized in smart cards and other cryptographic devices. However, these attacks can be mitigated through the implementation of side-channel protection. On the other hand, the classic cryptanalysis techniques are not applicable to the entire cipher and are impractical, do not compromise the overall security of SM4.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC7296">
          <front>
            <title>Internet Key Exchange Protocol Version 2 (IKEv2)</title>
            <author fullname="C. Kaufman" initials="C." surname="Kaufman"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="Y. Nir" initials="Y." surname="Nir"/>
            <author fullname="P. Eronen" initials="P." surname="Eronen"/>
            <author fullname="T. Kivinen" initials="T." surname="Kivinen"/>
            <date month="October" year="2014"/>
            <abstract>
              <t>This document describes version 2 of the Internet Key Exchange (IKE) protocol. IKE is a component of IPsec used for performing mutual authentication and establishing and maintaining Security Associations (SAs). This document obsoletes RFC 5996, and includes all of the errata for it. It advances IKEv2 to be an Internet Standard.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="79"/>
          <seriesInfo name="RFC" value="7296"/>
          <seriesInfo name="DOI" value="10.17487/RFC7296"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="ISO-SM2" target="https://www.iso.org/standard/76382.html">
          <front>
            <title>IT Security techniques -- Digital signatures with appendix -- Part 3: Discrete logarithm based mechanisms</title>
            <author>
              <organization>International Organization for Standardization</organization>
            </author>
            <date year="2018" month="November"/>
          </front>
          <seriesInfo name="ISO/IEC 14888-3:2018" value=""/>
        </reference>
        <reference anchor="ISO-SM4" target="&lt;https://www.iso.org/standard/54531.html&gt;">
          <front>
            <title>Information technology -- Security techniques -- Encryption algorithms -- Part 3: Block ciphers</title>
            <author>
              <organization>International Organization for Standardization</organization>
            </author>
            <date year="2010" month="December"/>
          </front>
          <seriesInfo name="ISO/IEC 18033-3:2010" value=""/>
        </reference>
        <reference anchor="ISO-SM3" target="&lt;https://www.iso.org/standard/67116.html&gt;">
          <front>
            <title>IT Security techniques -- Hash-functions -- Part 3: Dedicated hash-functions</title>
            <author>
              <organization>International Organization for Standardization</organization>
            </author>
            <date year="2018" month="October"/>
          </front>
          <seriesInfo name="ISO/IEC 10118-3:2018" value=""/>
        </reference>
        <reference anchor="NIST.SP.800-38A" target=" &lt;http://dx.doi.org/10.6028/NIST.SP.800-38A&gt;">
          <front>
            <title>NIST Special Publication 800-38A: Recommendation for Block Cipher Modes of Operation --Methods and Techniques</title>
            <author>
              <organization>NIST Special Publication 800-38A</organization>
            </author>
            <date year="2001" month="December"/>
          </front>
          <seriesInfo name="INIST.SP.800-38A" value=""/>
        </reference>
        <reference anchor="GCM" target="http://csrc.nist.gov/publications/nistpubs/800-38D/SP-800-38D.pdf">
          <front>
            <title>Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC</title>
            <author>
              <organization>NIST Special Publication 800-38D</organization>
            </author>
            <date year="2007" month="November"/>
          </front>
          <seriesInfo name="DOI 10.6028/NIST.SP.800-38D" value=""/>
        </reference>
        <reference anchor="CCM" target="http://csrc.nist.gov/publications/nistpubs/800-38C/SP800-38C.pdf">
          <front>
            <title>Recommendation for Block Cipher Modes of Operation: the CCM Mode for Authentication and Confidentiality</title>
            <author>
              <organization>NIST Special Publication 800-38C</organization>
            </author>
            <date year="2004" month="May"/>
          </front>
          <seriesInfo name="DOI 10.6028/NIST.SP.800-38C" value=""/>
        </reference>
        <reference anchor="RFC5282">
          <front>
            <title>Using Authenticated Encryption Algorithms with the Encrypted Payload of the Internet Key Exchange version 2 (IKEv2) Protocol</title>
            <author fullname="D. Black" initials="D." surname="Black"/>
            <author fullname="D. McGrew" initials="D." surname="McGrew"/>
            <date month="August" year="2008"/>
            <abstract>
              <t>An authenticated encryption algorithm combines encryption and integrity into a single operation; such algorithms may also be referred to as combined modes of an encryption cipher or as combined mode algorithms. This document describes the use of authenticated encryption algorithms with the Encrypted Payload of the Internet Key Exchange version 2 (IKEv2) protocol.</t>
              <t>The use of two specific authenticated encryption algorithms with the IKEv2 Encrypted Payload is also described; these two algorithms are the Advanced Encryption Standard (AES) in Galois/Counter Mode (AES GCM) and AES in Counter with CBC-MAC Mode (AES CCM). Additional documents may describe the use of other authenticated encryption algorithms with the IKEv2 Encrypted Payload. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5282"/>
          <seriesInfo name="DOI" value="10.17487/RFC5282"/>
        </reference>
        <reference anchor="RFC2104">
          <front>
            <title>HMAC: Keyed-Hashing for Message Authentication</title>
            <author fullname="H. Krawczyk" initials="H." surname="Krawczyk"/>
            <author fullname="M. Bellare" initials="M." surname="Bellare"/>
            <author fullname="R. Canetti" initials="R." surname="Canetti"/>
            <date month="February" year="1997"/>
            <abstract>
              <t>This document describes HMAC, a mechanism for message authentication using cryptographic hash functions. HMAC can be used with any iterative cryptographic hash function, e.g., MD5, SHA-1, in combination with a secret shared key. The cryptographic strength of HMAC depends on the properties of the underlying hash function. This memo provides information for the Internet community. This memo does not specify an Internet standard of any kind</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2104"/>
          <seriesInfo name="DOI" value="10.17487/RFC2104"/>
        </reference>
        <reference anchor="RFC4868">
          <front>
            <title>Using HMAC-SHA-256, HMAC-SHA-384, and HMAC-SHA-512 with IPsec</title>
            <author fullname="S. Kelly" initials="S." surname="Kelly"/>
            <author fullname="S. Frankel" initials="S." surname="Frankel"/>
            <date month="May" year="2007"/>
            <abstract>
              <t>This specification describes the use of Hashed Message Authentication Mode (HMAC) in conjunction with the SHA-256, SHA-384, and SHA-512 algorithms in IPsec. These algorithms may be used as the basis for data origin authentication and integrity verification mechanisms for the Authentication Header (AH), Encapsulating Security Payload (ESP), Internet Key Exchange Protocol (IKE), and IKEv2 protocols, and also as Pseudo-Random Functions (PRFs) for IKE and IKEv2. Truncated output lengths are specified for the authentication-related variants, with the corresponding algorithms designated as HMAC-SHA-256-128, HMAC-SHA-384-192, and HMAC-SHA-512-256. The PRF variants are not truncated, and are called PRF-HMAC-SHA-256, PRF-HMAC-SHA-384, and PRF-HMAC-SHA-512. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4868"/>
          <seriesInfo name="DOI" value="10.17487/RFC4868"/>
        </reference>
        <reference anchor="RFC8998">
          <front>
            <title>ShangMi (SM) Cipher Suites for TLS 1.3</title>
            <author fullname="P. Yang" initials="P." surname="Yang"/>
            <date month="March" year="2021"/>
            <abstract>
              <t>This document specifies how to use the ShangMi (SM) cryptographic algorithms with Transport Layer Security (TLS) protocol version 1.3.</t>
              <t>The use of these algorithms with TLS 1.3 is not endorsed by the IETF. The SM algorithms are becoming mandatory in China, so this document provides a description of how to use the SM algorithms with TLS 1.3 and specifies a profile of TLS 1.3 so that implementers can produce interworking implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8998"/>
          <seriesInfo name="DOI" value="10.17487/RFC8998"/>
        </reference>
        <reference anchor="NIST.FIPS.180-4" target="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf">
          <front>
            <title>Secure Hash Standard (SHS)</title>
            <author>
              <organization>NIST FEDERAL INFORMATION PROCESSING STANDARDS  PUBLICATION</organization>
            </author>
            <date year="2015" month="August"/>
          </front>
          <seriesInfo name="NIST.FIPS.180-4" value=""/>
        </reference>
        <reference anchor="RFC6150">
          <front>
            <title>MD4 to Historic Status</title>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <author fullname="L. Chen" initials="L." surname="Chen"/>
            <date month="March" year="2011"/>
            <abstract>
              <t>This document retires RFC 1320, which documents the MD4 algorithm, and discusses the reasons for doing so. This document moves RFC 1320 to Historic status. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6150"/>
          <seriesInfo name="DOI" value="10.17487/RFC6150"/>
        </reference>
        <reference anchor="RFC6234">
          <front>
            <title>US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <author fullname="T. Hansen" initials="T." surname="Hansen"/>
            <date month="May" year="2011"/>
            <abstract>
              <t>Federal Information Processing Standard, FIPS</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6234"/>
          <seriesInfo name="DOI" value="10.17487/RFC6234"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="GBT.32918.2-2016" target="http://www.gmbz.org.cn/upload/2018-07-24/1532401673138056311.pdf">
          <front>
            <title>Information security technology --- Public key cryptographic algorithm SM2 based on elliptic curves --- Part 2: Digital signature algorithm</title>
            <author>
              <organization>Standardization Administration of the People's Republic of China</organization>
            </author>
            <date year="2017" month="March"/>
          </front>
          <seriesInfo name="GB/T 32918.2-2016" value=""/>
        </reference>
        <reference anchor="GBT.32918.5-2017" target=" &lt;http://www.gmbz.org.cn/upload/2018-07-24/1532401863206085511.pdf&gt;">
          <front>
            <title>Information security technology --- Public key cryptographic algorithm SM2 based on elliptic curves --- Part 5: Parameter definition</title>
            <author>
              <organization>Standardization Administration of the People's Republic of China</organization>
            </author>
            <date year="2017" month="December"/>
          </front>
          <seriesInfo name="GB/T 32918.5-2017" value=""/>
        </reference>
        <reference anchor="GBT.32907-2016" target=" &lt;http://www.gmbz.org.cn/upload/2018-04-04/1522788048733065051.pdf&gt;">
          <front>
            <title>Information security technology -- SM4 block cipher algorithm</title>
            <author>
              <organization>Standardization Administration of the People's Republic of China</organization>
            </author>
            <date year="2017" month="March"/>
          </front>
          <seriesInfo name="GB/T 32907-2016" value=""/>
        </reference>
        <reference anchor="GBT.32905-2016" target=" &lt;http://www.gmbz.org.cn/upload/2018-07-24/1532401392982079739.pdf&gt;">
          <front>
            <title>Information security technology --- SM3 cryptographic hash algorithm</title>
            <author>
              <organization>Standardization Administration of China</organization>
            </author>
            <date year="2017" month="March"/>
          </front>
          <seriesInfo name="GB/T 32905-2016" value=""/>
        </reference>
        <reference anchor="CQCY21">
          <front>
            <title>Security on SM2 and GOST signatures against related key attacks</title>
            <author initials="H." surname="Cui, X Qin, C Cai, T Yuen">
              <organization>IEEE</organization>
            </author>
            <date year="2021" month="October"/>
          </front>
          <seriesInfo name="2021 IEEE 20th International Conference on Trust, Security and Privacy in Computing and Communications (TrustCom) (pp. 155-163)" value=""/>
        </reference>
        <reference anchor="ZYZC15">
          <front>
            <title>Security of the SM2 signature scheme against generalized key substitution attacks</title>
            <author initials="Z." surname="Zhang, K Yang, J Zhang, C Chen">
              <organization>Springer International Publishing.</organization>
            </author>
            <date year="2015" month="December"/>
          </front>
          <seriesInfo name="International Conference on Research in Security Standardisation (pp. 140-153)" value=""/>
        </reference>
        <reference anchor="JYW20" target="[{&quot;DOI&quot;=&gt;&quot;10.13868/j.cnki.jcr.000380&quot;}]">
          <front>
            <title>Improved differential fault attack for SM4 cipher</title>
            <author initials="Y." surname="JIN, H YANG, X WANG, Q YUAN">
              <organization>Journal of Cryptologic Research</organization>
            </author>
            <date year="2020" month="July"/>
          </front>
          <seriesInfo name="Journal of Cryptologic Research, 2020, 7(4)" value="453–464"/>
        </reference>
        <reference anchor="WDW18">
          <front>
            <title>Chosen-plaintext algorithm for chosen-plaintext power analysis against SM4</title>
            <author initials="Z." surname="WU, Z DU, M WANG, Y WANG, K WANG, T YU">
              <organization>Journal of Cryptologic Research</organization>
            </author>
            <date year="2018"/>
          </front>
          <seriesInfo name="Journal of Cryptologic Research, 2018, 5(4)" value="421–429"/>
        </reference>
        <reference anchor="LZHZ18">
          <front>
            <title>Research on trace driven Cache analysis on SM4</title>
            <author initials="X." surname="LOU, F ZHANG, J HUANG, X ZHAO, H LIU">
              <organization>Journal of Cryptologic Research</organization>
            </author>
            <date year="2018"/>
          </front>
          <seriesInfo name="Journal of Cryptologic Research, 2018, 5(4)" value="430–441"/>
        </reference>
      </references>
    </references>
    <?line 403?>

<section anchor="appendix-a-test-vectors">
      <name>Appendix A. Test Vectors</name>
      <t>All values are in hexadecimal and are in network byte order (big endian).</t>
      <section anchor="sm4cbc-test-vectors">
        <name>SM4_CBC Test Vectors</name>
        <t>key:0123456789ABCDEFFEDCBA9876543210</t>
        <t>iv：FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF</t>
        <t>in：0123456789ABCDEFFEDCBA9876543210</t>
        <t>out：F0A2B07E64DD2C2590F93E4EDD90FBB4</t>
      </section>
      <section anchor="sm4gcm-test-vectors">
        <name>SM4_GCM Test Vectors</name>
        <t>Initialization Vector：00001234567800000000ABCD
Key：0123456789ABCDEFFEDCBA9876543210</t>
        <t>Plaintext：AAAAAAAAAAAAAAAABBBBBBBBBBBBBBBB                         CCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDD
EEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFF
EEEEEEEEEEEEEEEEAAAAAAAAAAAAAAAA</t>
        <t>Associated Data：FEEDFACEDEADBEEFFEEDFACEDEADBEEFABADDAD2</t>
        <t>CipherText：17F399F08C67D5EE19D0DC9969C4BB7D
                         5FD46FD3756489069157B282BB200735
                         D82710CA5C22F0CCFA7CBF93D496AC15
                         A56834CBCF98C397B4024A2691233B8D</t>
        <t>Authentication Tag：83DE3541E4C2B58177E065A9BF7B62EC</t>
      </section>
      <section anchor="sm4ccm-test-vectors">
        <name>SM4_CCM Test Vectors</name>
        <t>Initialization Vector：00001234567800000000ABCD</t>
        <t>Key：0123456789ABCDEFFEDCBA9876543210</t>
        <t>Plaintext：AAAAAAAAAAAAAAAABBBBBBBBBBBBBBBB
                         CCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDD
                         EEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFF
                         EEEEEEEEEEEEEEEEAAAAAAAAAAAAAAAA</t>
        <t>Associated Data：FEEDFACEDEADBEEFFEEDFACEDEADBEEFABADDAD2</t>
        <t>CipherText：48AF93501FA62ADBCD414CCE6034D895
                         DDA1BF8F132F042098661572E7483094
                         FD12E518CE062C98ACEE28D95DF4416B
                         ED31A2F04476C18BB40C84A74B97DC5B</t>
        <t>Authentication Tag：16842D4FA186F56AB33256971FA110F4</t>
      </section>
      <section anchor="sm3-test-vectors">
        <name>SM3 Test Vectors</name>
        <t>in: 616263</t>
        <t>out: 66c7f0f462eeedd9d1f2d46bdc10e4e24167c4875cf2f7a2297da02b8f4ba8e0</t>
      </section>
      <section anchor="authhmacsm3-test-vectors">
        <name>AUTH_HMAC_SM3 Test Vectors</name>
        <t>Key: 00112233445566778899AABBCCDDEEFF</t>
        <t>in:  abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq</t>
        <t>out: DC813339153491AD81477754EB3DF00DBB3CC3E6A69F9CACCE737DB7E61342FF</t>
      </section>
    </section>
    <section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TBD</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
