SCA Extensions For OpenPGP
draft-ribose-openpgp-sca-00

Document Type Active Internet-Draft (individual)
Last updated 2017-12-14
Replaces draft-ribose-openpgp-oscca
Stream (None)
Intended RFC status (None)
Formats plain text xml pdf html bibtex
Stream Stream state (No stream defined)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date
Responsible AD (None)
Send notices to (None)
Internet Research Task Force                                      R. Tse
Internet-Draft                                                    Ribose
Updates: 4880, 6637 (if approved)                                W. Wong
Intended status: Standards Track            Hang Seng Management College
Expires: June 18, 2018                                          J. Lloyd
                                                                D. Wyatt
                                                             E. Borsboom
                                                                  Ribose
                                                       December 15, 2017

                       SCA Extensions For OpenPGP
                      draft-ribose-openpgp-sca-00

Abstract

   This document enables OpenPGP (RFC4880) to be used in a compliant
   manner according to regulations set by the SCA (the State
   Cryptography Administration of China) within China.

   Specifically, it extends OpenPGP to support the usage of SM2, SM3 and
   SM4 algorithms, and provides the SCA-compliant OpenPGP profile "SCA-
   SM234".

Status of This Memo

   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 https://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 June 18, 2018.

Copyright Notice

   Copyright (c) 2017 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

Tse, et al.               Expires June 18, 2018                 [Page 1]
Internet-Draft         SCA Extensions for OpenPGP          December 2017

   (https://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.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Terms and Definitions . . . . . . . . . . . . . . . . . . . .   4
   3.  Symbols And Abbreviations . . . . . . . . . . . . . . . . . .   4
   4.  SM2 Algorithms  . . . . . . . . . . . . . . . . . . . . . . .   5
     4.1.  SM2 Digital Signature Algorithm . . . . . . . . . . . . .   6
     4.2.  SM2 Key Exchange Protocol . . . . . . . . . . . . . . . .   7
     4.3.  SM2 Public Key Encryption . . . . . . . . . . . . . . . .   7
     4.4.  Recommended SM2 Curve . . . . . . . . . . . . . . . . . .   7
       4.4.1.  Definitions . . . . . . . . . . . . . . . . . . . . .   8
       4.4.2.  Elliptic Curve Formula  . . . . . . . . . . . . . . .   8
       4.4.3.  Curve Parameters  . . . . . . . . . . . . . . . . . .   8
     4.5.  Data Formats  . . . . . . . . . . . . . . . . . . . . . .   8
       4.5.1.  Secret Key Data Format  . . . . . . . . . . . . . . .   8
       4.5.2.  Encrypted Data Format . . . . . . . . . . . . . . . .   9
       4.5.3.  Signature Data Format . . . . . . . . . . . . . . . .   9
   5.  SM3 Hash Algorithm  . . . . . . . . . . . . . . . . . . . . .  10
   6.  SM4 Symmetric Encryption Algorithm  . . . . . . . . . . . . .  10
   7.  Supported Algorithms  . . . . . . . . . . . . . . . . . . . .  11
     7.1.  Public Key Algorithms . . . . . . . . . . . . . . . . . .  11
     7.2.  Symmetric Key Algorithms  . . . . . . . . . . . . . . . .  11
     7.3.  Hash Algorithms . . . . . . . . . . . . . . . . . . . . .  12
   8.  Conversion Primitives . . . . . . . . . . . . . . . . . . . .  12
   9.  SM2 Key Derivation Function . . . . . . . . . . . . . . . . .  12
     9.1.  Prerequisites . . . . . . . . . . . . . . . . . . . . . .  13
     9.2.  Inputs  . . . . . . . . . . . . . . . . . . . . . . . . .  13
     9.3.  Outputs . . . . . . . . . . . . . . . . . . . . . . . . .  13
   10. Encoding of Public and Private Keys . . . . . . . . . . . . .  14
     10.1.  Public-Key Packet Formats  . . . . . . . . . . . . . . .  14
     10.2.  Secret-Key Packet Formats  . . . . . . . . . . . . . . .  15
   11. Message Encoding with Public Keys . . . . . . . . . . . . . .  15
     11.1.  Public-Key Encrypted Session Key Packets (Tag 1) . . . .  15
     11.2.  Signature Packet (Tag 2) . . . . . . . . . . . . . . . .  16
       11.2.1.  Version 3 Signature Packet Format  . . . . . . . . .  16
       11.2.2.  Version 4 Signature Packet Format  . . . . . . . . .  16
   12. SM2 ECC Curve OID . . . . . . . . . . . . . . . . . . . . . .  16
Show full document text