首页 > 编程知识 正文

SM9学习笔记与图解第1章 整体结构

时间:2023-05-05 08:21:51 阅读:179545 作者:430

1 .总体结构总体结构分为三层(图1 ) :

l接口层:提供实现SM9功能的对外接口。 主要要点如下。

n系统接口:主要完成国安参与的工作。

n功能接口:主要完成国安不参与的工作。

l SM9功能层:提供SM9的功能模块。 关键点:

n主密钥的生成: KGC公钥的生成。

n生成用户密钥:生成用户的私钥,任意设定用户的公钥。

n加密和解密。

n签名和检查签名。

n密钥协商。

l基本模块:完成SM9功能所需的各种模块。

n核心模块:大整数运算、椭圆曲线运算和配对运算是其中最重要、最核心的模块,是本次开发的难点和重点。 特别是配对模块是SM9的特色。

n密钥导出函数KDF、H1、H2和SM3是加密辅助函数。

n随机数发生器PRN。

图1整体体系结构

A.1 .系统基本功能A.1.1主密钥生成主密钥生成

数字签名

密钥交换

加解密/封装

主私钥

s[1,N1]

s[1,N1]

s[1,N1]

主秘密密钥长度

l

l

l

主公钥

Ppub=[s]P2G2

Ppub=[s]P1G1

Ppub=[s]P1G1

主机公开密钥长度

4L(E ) FQ2 )点)

2L(E ) FQ )点)

2L(E ) FQ )点)

私钥生成函数标识符

hid,1字节

hid,1字节

hid,1字节

调用库

是EC-e(FQ2 )

这是EC-e (调频)

这是EC-e (调频)

一样的

一样的

A.1.2用户公钥生成用户公私钥生成

数字签名

密钥交换

加解密/封装

主私钥

s[1,N1]

s[1,N1]

s[1,N1]

主秘密密钥长度

l

l

l

用户公钥

用户idIDA

用户idIDA

用户idIDA

用户公开密钥长度

任意长度

任意长度

任意长度

用户私钥

dAG1,

T1=H1(IDA|||hid,n ) s mod N,

t2=st1-1 mod N

dA=[t2]P1

dAG2,

T1=H1(IDA|||hid,n ) s mod N,

t2=st1-1 mod N

dA=[t2]P2

dAG2,

T1=H1(IDA|||hid,n ) s mod N,

t2=st1-1 mod N

dA=[t2]P2

用户密钥长度

2L(E ) FQ )点)

4L(E ) FQ2 )点)

4L(E ) FQ2 )点)

一样的

一样的

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。