有图!有表!GM/T 0130国密无证书 VS ECQV

1. 概述

2023年12月国家密码管理局在第45号公告[1]中发布了自2024年6月1日起实施的GM/T 0130—2023《基于SM2算法的无证书及隐式证书公钥机制》[2]等25项密码行业标准。SECG(Standards for Efficient Cryptography Group)于2014年发布ECQV草案V1.2[3]。

这两种大致分为如下几个部分(见下图,暂略去签名验签)。后文将分析对比两种方案的差异。

图1-1 方案的主要组成部分

  1. 建立系统:KGC执行,生成系统参数和主公私钥对。
  2. 请求证书:用户执行,是签发证书的第一步。用户生成证书请求数据和私钥碎片。
  3. 生成证书:KGC执行,是签发证书的第二步。KGC生成用户证书/声明公钥,以及用户私钥碎片。
  4. 接收证书:用户执行,生成用户公私钥对。其中可以调用“提取公钥”以另一种方式来计算用户的公钥数据
  5. 提取公钥:任何人都可以执行,利用证书/声明公钥等计算用户公钥。

注:签发证书 = 请求证书 + 生成证书

2. 方案对比

2.1 对比说明

为方便对比,将ECQV的符号/记号调整为尽可能与GM/T 130一致。

下面的用户A为签名端/解密端,需要生成自己的私钥。

2.2 建立系统的对比

GM/T 130

ECQV

建立系统生成主密钥对

KGC执行:

ms:主私钥,随机生成

PPUB:主公钥,计算PPUB = [ms]G

G是基点

KGC执行:

同左

2.3 签发证书的对比(请求证书 + 生成证书)

GM/T 130

ECQV

签发证书

请求证书用户A执行:

A1:随机dA`;

A2:UA = [dA`]G

请求证书用户A执行:

同左

生成证书KGC执行:

K1:见下[调整到K4步中]

K2:随机w

K3:WA = [w]G + UA

K4:HA = H(…, IDA, …)[K1]

Cert = WA || HA

λ = H(Cert) mod n

K5:tA = (w + λ*ms) mod n

生成证书KGC执行:

K1:无

K2:随机w

K3:WA = [w]G + UA

K4:

Cert = Encode(WA, IDA, *)

λ = H(Cert) mod n

K5:tA = (λ*w + ms) mod n

用户A(签名端)执行:

A3:dA = (tA + dA`) mod n

用户A(签名端)执行:

A3:dA = (tA + λ*dA`) mod n

2.4 接收证书的对比

GM/T 130

ECQV

接收证书

用户A执行:

注:HA = H(…, IDA, …)

Cert = WA || HA

A1:λ = H(Cert) mod n

A2:dA = (tA + dA`) mod n

A3:PA = [dA]G

A4:调用“提取公钥”计算出PA`;

验证PA = PA`是否成立。

用户A执行:

注:

Cert = Encode(WA, IDA, *)

A1:λ= H(Cert) mod n

A2:dA = (tA + λ*dA`) mod n

A3:PA = [dA]G

A4:调用“提取公钥”计算出PA`;

验证PA = PA`是否成立。

2.5 提取公钥的对比

GM/T 130

ECQV

提取公钥

任何人执行:

注:HA = H(…, IDA, …)

Cert = WA || HA

X1:λ = H(Cert) mod n

X2:PA=WA+[λ]Ppub

任何人执行:

注:

Cert = Encode(WA, IDA, *)

X1:λ = H(Cert) mod n

X2:PA=[λ]WA+Ppub

注:私钥计算公式差异必然导致公钥计算公式差异。两种方案公户公私钥的对比见下节。

2.6 用户公私钥的对比

公私钥的差异见下。

图2-1 用户公私钥对方案的对比

参考文献

  1. 国家密码管理局公告(第45号)[EB/OL]. (2023-12-23).https://www.oscca.gov.cn/sca/xxgk/2023-12/23/content_1061160.shtml
  2. GM/T 0130-2023. 基于SM2算法的无证书及隐式证书公钥机制(征求意见稿),2023.
  3. SECG. SEC 4: Elliptic Curve Qu-Vanstone Implicit Certicate Scheme (ECQV) Version (Draft) 1.2[EB/OL]. 2024. https://secg.org/draft-sec4-1.2.pdf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值