对公银行账号/支付宝 中国标准英文版 技术翻译  数据库收录: 159759 更新: 2021-01-06  
现货的,9秒内发货  

GB/T 32918.4-2016

标准搜索结果: 'GB/T 32918.4-2016'
标准号码内文价格美元第2步交付天数标准名称状态
GB/T 32918.4-2016 英文版 150 购买 3分钟内自动发货[PDF],有增值税发票。 信息安全技术 SM2椭圆曲线公钥密码算法 第4部分:公钥加密算法 有效

   
基本信息
标准编号 GB/T 32918.4-2016 (GB/T32918.4-2016)
中文名称 信息安全技术 SM2椭圆曲线公钥密码算法 第4部分:公钥加密算法
英文名称 Information security technology -- Public key cryptographic algorithm SM2 based on elliptic curves -- Part 4: Public key encryption algorithm
行业 国家标准 (推荐)
中标分类 L80
字数估计 16,131
发布日期 2016-08-29
实施日期 2017-03-01
引用标准 GB/T 32918.1-2016; GB/T 32905-2016
起草单位 北京华大信安科技有限公司、中国人民解放军信息工程大学、中国科学院数据与通信保护研究教育中心
归口单位 全国信息安全标准化技术委员会(SAC/TC 260)
标准依据 National Standard Announcement 2016 No.14
提出机构 国家密码管理局
发布机构 中华人民共和国国家质量监督检验检疫总局、中国国家标准化管理委员会
范围 GB/T 32918的本部分规定了SM2椭圆曲线公钥密码算法的公钥加密算法,并给出了消息加解密示例和相应的流程。本部分适用于商用密码应用中的消息加解密,消息发送者可以利用接收者的公钥对消息进行加密,接收者用对应的私钥进行解密,获取消息。

GB/T 32918.4-2016
Information security technology--Public key cryptographic algorithm SM2 based on elliptic curves--Part 4: Public key encryption algorithm
ICS 35.040
L80
中华人民共和国国家标准
信息安全技术 SM2椭圆曲线公钥密
码算法 第4部分:公钥加密算法
2016-08-29发布
2017-03-01实施
中华人民共和国国家质量监督检验检疫总局
中国国家标准化管理委员会发布
目次
前言 Ⅲ
引言 Ⅳ
1 范围 1
2 规范性引用文件 1
3 术语和定义 1
4 符号缩略语 1
5 算法参数与辅助函数 2
5.1 综述 2
5.2 椭圆曲线系统参数 2
5.3 用户密钥对 2
5.4 辅助函数 2
5.4.1 概述 2
5.4.2 密码杂凑算法 2
5.4.3 密钥派生函数 2
5.4.4 随机数发生器 3
6 加密算法及流程 3
6.1 加密算法 3
6.2 加密算法流程 3
7 解密算法及流程 4
7.1 解密算法 4
7.2 解密算法流程 5
附录A(资料性附录) 消息加解密示例 7
A.1 综述 7
A.2 Fp上椭圆曲线消息加解密 7
A.3 F2m上椭圆曲线消息加解密 9
参考文献 12
前言
GB/T 32918《信息安全技术 SM2椭圆曲线公钥密码算法》分为5个部分:
---第1部分:总则;
---第2部分:数字签名算法;
---第3部分:密钥交换协议;
---第4部分:公钥加密算法;
---第5部分:参数定义。
本部分为GB/T 32918的第4部分。
本部分按照GB/T 1.1-2009给出的规则起草。
本部分由国家密码管理局提出。
本部分由全国信息安全标准化技术委员会(SAC/TC260)归口。
本部分起草单位:北京华大信安科技有限公司、中国人民解放军信息工程大学、中国科学院数据与
通信保护研究教育中心。
本部分主要起草人:陈建华、祝跃飞、叶顶峰、胡磊、裴定一、彭国华、张亚娟、张振峰。
引 言
N.Koblitz和V.Miler在1985年各自独立地提出将椭圆曲线应用于公钥密码系统。椭圆曲线公
钥密码所基于的曲线性质如下:
---有限域上椭圆曲线在点加运算下构成有限交换群,且其阶与基域规模相近;
---类似于有限域乘法群中的乘幂运算,椭圆曲线多倍点运算构成一个单向函数。
在多倍点运算中,已知多倍点与基点,求解倍数的问题称为椭圆曲线离散对数问题。对于一般椭圆
曲线的离散对数问题,目前只存在指数级计算复杂度的求解方法。与大数分解问题及有限域上离散对
数问题相比,椭圆曲线离散对数问题的求解难度要大得多。因此,在相同安全程度要求下,椭圆曲线密
码较其他公钥密码所需的密钥规模要小得多。
SM2是国家密码管理局组织制定并提出的椭圆曲线密码算法标准。GB/T 32918的主要目标
如下:
---GB/T 32918.1定义和描述了SM2椭圆曲线密码算法的相关概念及数学基础知识,并概述了
该部分同其他部分的关系。
---GB/T 32918.2描述了一种基于椭圆曲线的签名算法,即SM2签名算法。
---GB/T 32918.3描述了一种基于椭圆曲线的密钥交换协议,即SM2密钥交换协议。
---GB/T 32918.4描述了一种基于椭圆曲线的公钥加密算法,即SM2加密算法,该算法需使用
GB/T 32905-2016定义的SM3密码杂凑算法。
---GB/T 32918.5给出了SM2算法使用的椭圆曲线参数,以及使用椭圆曲线参数进行SM2运算
的示例结果。
本部分为GB/T 32918的第4部分,规定了SM2椭圆曲线密码系统的加密解密过程。
信息安全技术 SM2椭圆曲线公钥密
码算法 第4部分:公钥加密算法
1 范围
GB/T 32918的本部分规定了SM2椭圆曲线公钥密码算法的公钥加密算法,并给出了消息加解密
示例和相应的流程。
本部分适用于商用密码应用中的消息加解密,消息发送者可以利用接收者的公钥对消息进行加密,
接收者用对应的私钥进行解密,获取消息。
2 规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文
件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 32918.1-2016 信息安全技术 SM2椭圆曲线公钥密码算法 第1部分:总则
GB/T 32905-2016 信息安全技术 SM3密码杂凑算法
3 术语和定义
下列术语和定义适用于本文件。
3.1
秘密密钥 secretkey
在密码体制中收发双方共同拥有的、而第三方不知道的一种密钥。
3.2
消息 message
任意有限长度的比特串。
3.3
密钥派生函数 keyderivationfunction
通过作用于共享秘密和双方都知道的其他参数,产生一个或多个共享秘密密钥的函数。
4 符号缩略语
下列符号和缩略语适用于本文件。
A,B 使用公钥密码系统的两个用户。
dB 用户B的私钥。
E(Fq) Fq上椭圆曲线E 的所有有理点(包括无穷远点O)组成的集合。
Fq 包含q个元素的有限域。
G 椭圆曲线的一个基点,其阶为素数。
Hash() 密码杂凑算法。
Hv() 消息摘要长度为v比特的密码杂凑算法。
KDF() 密钥派生函数。
h 余因子,h=#E(Fq)/n,其中n是基点G 的阶。
M 待加密的消息。
M' 解密得到的消息。
n 基点G 的阶(n是#E(Fq)的素因子)。
O 椭圆曲线上的一个特殊点,称为无穷远点或零点,是椭圆曲线加法群的单位元。
PB 用户B的公钥。
q 有限域Fq中元素的数目。
a,b Fq中的元素,它们定义Fq上的一条椭圆曲线E。
x|y x与y的拼接,x、y是比特串或字节串。
[k]P 椭圆曲线上点P 的k倍点,即,[k]P=P+P++P
,k是正整数。
[x,y] 大于或等于x且小于或等于y的整数的集合。
x 顶函数,大于或等于x的最小整数。例如,7=7,8.3=9。
y 底函数,小于或等于x的最大整数。例如,7=7,8.3=8。
#E(Fq) E(Fq)上点的数目,称为椭圆曲线E(Fq)的阶。
5 算法参数与辅助函数
5.1 综述
公钥加密算法规定发送者用接收者的公钥将消息加密成密文,接收者用自己的私钥对收到的密文
进行解密还原成原始消息。
5.2 椭圆曲线系统参数
椭圆曲线系统参数包括有限域Fq的规模q(当q =2m时,还包括元素表示法的标识和约化多项
式);定义椭圆曲线E(Fq)的方程的两个元素a、b ÎFq;E(Fq)上的基点G=(xG,yG)(G≠O),其中
xG和yG是Fq中的两个元素;G 的阶n及其他可选项(如n的余因子h等)。
椭圆曲线系统参数及其验证应符合GB/T 32918.1-2016第5章的规定。
5.3 用户密钥对
用户B的密钥对包括其私钥dB和公钥PB=[dB]G。
用户密钥对的生成算法与公钥验证算法应符合GB/T 32918.1-2016第6章的规定。
5.4 辅助函数
5.4.1 概述
本部分规定的椭圆曲线公钥加密算法涉及三类辅助函数:密码杂凑算法、密钥派生函数和随机数发
生器。这三类辅助函数的强弱直接影响加密算法的安全性。
5.4.2 密码杂凑算法
本部分规定使用国家密码管理局批准的密码杂凑算法,如SM3密码杂凑算法。
5.4.3 密钥派生函数
密钥派生函数的作用是从一个共享的秘密比特串中派生出密钥数据。在密钥协商过程中,密钥派
生函数作用在密钥交换所获共享的秘密比特串上,从中产生所需的会话密钥或进一步加密所需的密钥
数据。
密钥派生函数需要调用密码杂凑算法。
设密码杂凑算法为Hv(),其输出是长度恰为v比特的杂凑值。
密钥派生函数KDF(Z,klen):
输入:比特串Z,整数klen〔表示要获得的密钥数据的比特长度,要求该值小于(232-1)v〕。
输出:长度为klen的密钥数据比特串K。
a) 初始化一个32比特构成的计数器ct=0x00000001;
b) 对i从1到 klen/v 执行:
1) 计算Hai=Hv(Z|ct);
2)ct++;
c) 若klen/v是整数,令Ha klen/v =Haklen/v,
否则令Ha klen/v 为Haklen/v 最左边的(klen-(v× klen/v)比特;
d) 令K=Ha1|Ha2||Haklen/v-1|Ha klen/v 。
5.4.4 随机数发生器
本部分规定使用国家密码管理局批准的随机数发生器。
6 加密算法及流程
6.1 加密算法
设需要发送的消息为比特串M,klen为M 的比特长度。
为了对明文M 进行加密,作为加密者的用户A应实现以下运算步骤:
A1:用随机数发生器产生随机数k∈[1,n-1];
A2:计算椭圆曲线点C1=[k]G=(x1,y1),按GB/T 32918.1-2016中4.2.9和4.2.5给出的方
法,将C1的数据类型转换为比特串;
A3:计算椭圆曲线点S=[h]PB,若S是无穷远点,则报错并退出;
A4:计算椭圆曲线点[k]PB=(x2,y2),按GB/T 32918.1-2016中4.2.6和4.2.5给出的方法,将
坐标x2、y2的数据类型转换为比特串;
A5:计算t=KDF(x2|y2,klen),若t为全0比特串,则返回A1;
A6:计算C2=M⊕t;
A7:计算C3=Hash (x2|M|y2);
A8:输出密文C=C1|C3|C2。
注:加密过程的示例参见附录A。
6.2 加密算法流程
加密算法流程见图1。
图1 加密算法流程
7 解密算法及流程
7.1 解密算法
设klen为密文中C2的比特长度。
为了对密文C=C1|C3|C2进行解密,作为解密者的用户B应实现以下运算步骤:
B1:从C 中取出比特串C1,按GB/T 32918.1-2016中4.2.4和4.2.10给出的方法,将C1的数据类
型转换为椭圆曲线上的点,验证C1是否满足椭圆曲线方程,若不满足则报错并退出;
B2:计算椭圆曲线点S= [h]C1,若S是无穷远点,则报错并退出;
B3:计算[dB]C1=(x2,y2),按GB/T 32918.1-2016中4.2.6和4.2.5给出的方法,将坐标x2、y2
的数据类型转换为比特串;
B4:计算t=KDF(x2|y2,klen),若t为全0比特串,则报错并退出;
B5:从C 中取出比特串C2,计算M=C2⊕t;
B6:计算u=Hash(x2|M'|y2),从C 中取出比特串C3,若u≠C3,则报错并退出;
B7:输出明文M'。
注:解密过程的示例参见附录A。
7.2 解密算法流程
解密算法流程见图2。
图2 解密算法流程
附 录 A
(资料性附录)
消息加解密示例
A.1 综述
本附录选用GB/T 32905-2016给出的密码杂凑算法,其输入是长度小于264的消息比特串,输出
是长度为256比特的杂凑值,记为H256()。
本附录中,所有用16进制表示的数,左边为高位,右边为低位。
本附录中,明文采用GB/T 1988编码。
A.2 Fp 上椭圆曲线消息加解密
椭圆曲线方程为:y2=x3+ax+b
示例1:Fp-192
素数p:BDB6F4FE 3E8B1D9E 0DA8C0D4 6F4C318C EFE4AFE3 B6B8551F
系数a:BB8E5E8F BC115E13 9FE6A814 FE48AAA6 F0ADA1AA 5DF91985
系数b:1854BEBD C31B21B7 AEFC80AB 0ECD10D5 B1B3308E 6DBF11C1
基点G=(xG, yG),其阶记为n。
坐标xG:4AD5F704 8DE709AD 51236DE6 5E4D4B48 2C836DC6 E4106640
坐标yG:02BB3A02 D4AAADAC AE24817A 4CA3A1B0 14B52704 32DB27D2
阶n:BDB6F4FE 3E8B1D9E 0DA8C0D4 0FC96219 5DFAE76F 56564677
待加密的消息M:encryption standard
消息M 的16进制表示:656E63 72797074 696F6E20 7374616E 64617264
私钥dB:58892B80 7074F53F BF67288A 1DFAA1AC 313455FE 60355AFD
公钥PB=(xB,yB)为:
坐标xB:79F0A954 7AC6D100 531508B3 0D30A565 36BCFC81 49F4AF4A
坐标yB:AE38F2D8 890838DF 9C19935A 65A8BCC8 994BC792 4672F912
加密各步骤中的有关值:
产生随机数k:384F3035 3073AEEC E7A16543 30A96204 D37982A3 E15B2CB5
计算椭圆曲线点C1=[k]G=(x1, y1):
坐标x1:23FC680B 124294DF DF34DBE7 6E0C38D8 83DE4D41 FA0D4CF5
坐标y1:70CF14F2 0DAF0C4D 777F738D 16B16824 D31EEFB9 DE31EE1F
在此C1选用未压缩的表示形式,点转换成字节串的形式为PC|x1|y1,其中PC 为单一字节且PC=04,仍记为C1。
计算椭圆曲线点[k]PB=(x2,y2):
坐标x2:57E7B636 23FAE5F0 8CDA468E 872A20AF A03DED41 BF140377
坐标y2:0E040DC8 3AF31A67 991F2B01 EBF9EFD8 881F0A04 93000603
消息M 的比特长度klen=152
计算t=KDF(x2|y2,klen):046B04 A9ADF53B 389B9E2A AFB47D90 F4D08978
计算C2=M⊕t:610567 DBD4854F 51F4F00A DCC01CFE 90B1FB1C
计算C3=Hash(x2|M|y2):
x2|M|y2:
57E7B636 23FAE5F0 8CDA468E 872A20AF A03DED41 BF140377 656E6372 79707469
6F6E2073 74616E64 6172640E 040DC83A F31A6799 1F2B01EB F9EFD888 1F0A0493
000603
C3:6AFB3BCE BD76F82B 252CE5EB 25B57996 86902B8C F2FD8753 6E55EF76 03B09E7C
输出密文M=C1|C3|C2:
04 23FC680B 124294DF DF34DBE7 6E0C38D8 83DE4D41 FA0D4CF5 70CF14F2 0DAF0C4D
777F738D 16B16824 D31EEFB9 DE31EE1F 6AFB3BCE BD76F82B 252CE5EB 25B57996
86902B8C F2FD8753 6E55EF76 03B09E7C 610567DB D4854F51 F4F00ADC C01CFE90
B1FB1C
解密各步骤中的有关值:
计算椭圆曲线点[dB]C1=(x2,y2):
坐标x2:57E7B636 23FAE5F0 8CDA468E 872A20AF A03DED41 BF140377
坐标y2:0E040DC8 3AF31A67 991F2B01 EBF9EFD8 881F0A04 93000603
计算t=KDF(x2|y2,klen):046B04 A9ADF53B 389B9E2A AFB47D90 F4D08978
计算M'=C2⊕t:656E63 72797074 696F6E20 7374616E 64617264
计算u=Hash(x2|M'|y2):
6AFB3BCE BD76F82B 252CE5EB 25B57996 86902B8C F2FD8753 6E55EF76 03B09E7C
明文M': 656E63 72797074 696F6E20 7374616E 64617264,即为:encryption standard
示例2:Fp-256
素数p:8542D69E 4C044F18 E8B92435 BF6FF7DE 45728391 5C45517D 722EDB8B 08F1DFC3
系数a:787968B4 FA32C3FD 2417842E 73BBFEFF 2F3C848B 6831D7E0 EC65228B 3937E498
系数b:63E4C6D3 B23B0C84 9CF84241 484BFE48 F61D59A5 B16BA06E 6E12D1DA 27C5249A
基点G=(xG, yG),其阶记为n。
坐标xG:421DEBD6 1B62EAB6 746434EB C3CC315E 32220B3B ADD50BDC 4C4E6C14 7FEDD43D
坐标yG:0680512B CBB42C07 D47349D2 153B70C4 E5D7FDFC BFA36EA1 A85841B9 E46E09A2
阶n: 8542D69E 4C044F18 E8B92435 BF6FF7DD 29772063 0485628D 5AE74EE7 C32E79B7
待加密的消息M:encryption standard
消息M 的16进制表示:656E63 72797074 696F6E20 7374616E 64617264
私钥dB:1649AB77 A00637BD 5E2EFE28 3FBF3535 34AA7F7C B89463F2 08DDBC29 20BB0DA0
公钥PB=(xB,yB):
坐标xB:435B39CC A8F3B508 C1488AFC 67BE491A 0F7BA07E 581A0E48 49A5CF70 628A7E0A
坐标yB:75DDBA78 F15FEECB 4C7895E2 C1CDF5FE 01DEBB2C DBADF453 99CCF77B BA076A42
加密各步骤中的有关值:
产生随机数k:4C62EEFD 6ECFC2B9 5B92FD6C 3D957514 8AFA1742 5546D490 18E5388D 49DD7B4F
计算椭圆曲线点C1=[k]G=(x1,y1):
坐标x1:245C26FB 68B1DDDD B12C4B6B F9F2B6D5 FE60A383 B0D18D1C 4144ABF1 7F6252E7
坐标y1:76CB9264 C2A7E88E 52B19903 FDC47378 F605E368 11F5C074 23A24B84 400F01B8
在此C1选用未压缩的表示形式,点转换成字节串的形式为PC|x1|y1,其中PC 为单一字节且PC=04,仍记为C1。
计算椭圆曲线点[k]PB=(x2,y2):
坐标x2:64D20D27 D0632957 F8028C1E 024F6B02 EDF23102 A566C932 AE8BD613 A8E865FE
坐标y2:58D225EC A784AE30 0A81A2D4 8281A828 E1CEDF11 C4219099 84026537 5077BF78
消息M 的比特长度klen=152
计算t=KDF(x2|y2,klen):006E30 DAE231B0 71DFAD8A A379E902 64491603
计算C2=M⊕t:650053 A89B41C4 18B0C3AA D00D886C 00286467
计算C3=Hash(x2|M|y2):
x2|M|y2:
64D20D27 D0632957 F8028C1E 024F6B02 EDF23102 A566C932 AE8BD613 A8E865FE
656E6372 797074696 F6E2073 74616E64 61726458 D225ECA7 84AE300A 81A2D482
81A828E1 CEDF11C4 21909984 02653750 77BF78
C3:9C3D7360 C30156FA B7C80A02 76712DA9 D8094A63 4B766D3A 285E0748
0653426D
输出密文C=C1|C3|C2:
04 245C26FB 68B1DDDD B12C4B6B F9F2B6D5 FE60A383 B0D18D1C 4144ABF1 7F6252E7
76CB9264 C2A7E88E 52B19903 FDC47378 F605E368 11F5C074 23A24B84 400F01B8
9C3D7360 C30156FA B7C80A02 76712DA9 D8094A63 4B766D3A 285E0748 0653426D
650053A8 9B41C418 B0C3AAD0 0D886C00 286467
解密各步骤中的有关值:
计算椭圆曲线点[dB]C1=(x2,y2):
坐标x2:64D20D27 D0632957 F8028C1E 024F6B02 EDF23102 A566C932 AE8BD613 A8E865FE
坐标x2:58D225EC A784AE30 0A81A2D4 8281A828 E1CEDF11 C4219099 84026537 5077BF78
计算t=KDF(x2|y2,klen):006E30 DAE231B0 71DFAD8A A379E902 64491603
计算M'=C2⊕t:656E63 72797074 696F6E20 7374616E 64617264
计算u=Hash(x2|M'|y2):
9C3D7360 C30156FA B7C80A02 76712DA9 D8094A63 4B766D3A 285E0748 0653426D
明文M': 656E63 72797074 696F6E20 7374616E 64617264,即为:encryption standard
A.3 F2m上椭圆曲线消息加解密
椭圆曲线方程为:y2+xy=x3+ax2+b
示例3:F2m-193
基域生成多项式为:y193+x15+1
系数a:0
系数b:00 2FE22037 B624DBEB C4C618E1 3FD998B1 A18E1EE0 D05C46FB
基点G=(xG,yG),其阶记为n。
坐标xG:D78D47E8 5C936440 71BC1C21 2CF994E4 D21293AA D8060A84
坐标yG:615B9E98 A31B7B2F DDEEECB7 6B5D8755 86293725 F9D2FC0C
阶n:80000000 00000000 00000000 43E9885C 46BF45D8 C5EBF3A1
待加密的消息M:encryption standard
消息M 的16进制表示:656E63 72797074 696F6E20 7374616E 64617264
私钥dB:6C205C15 89087376 C2FE5FEE E153D4AC 875D643E B8CAF6C5
公钥PB=(xB,yB):
坐标xB:00 E788F191 C5591636 FA992CE6 7CDC8D3B 16E4F4D4 6AF267B8
坐标yB:00 BD6E7E5E 4113D790 20ED5A10 287C14B7 A6767C4D 814ADBFD
加密各步骤中的有关值:
产生随机数k:6E51C537 3D5B4705 DC9B94FA 9BCF30A7 37ED8D69 1E76D9F0
计算椭圆曲线点C1=[k]G=(x1,y1):
坐标x1:00 95A8B866 7ACF097F 65CE96EB FE53422F CF15876D 16446B8A
坐标y1:01 7A1EC7C9 BAB0DE07 0522311E 75CD31C3 C4D74150 E84E0A95
在此C1选用未压缩的表示形式,点转换成字节串的形式为PC|x1|y1,其中PC 为单一字节且PC=04,仍记为C1。
计算椭圆曲线点[k]PB=(x2,y2):
坐标x2:01 C6271B31 F6BE396A 4166C061 6CF4A8AC DA5BEF4D CBF2DD42
坐标y2:01 47AF35DF A1BFE2F1 61521BCF 59BAB835 64868D92 95881735
消息M 的比特长度klen=152
计算t=KDF(x2|y2,klen):BC5F0D 50F2B2BC F2DC3027 0BAA5249 3B8A67A4
计算C2=M⊕t:D9316E 228BC2C8 9BB35E07 78DE3327 5FEB15C0
计算C3=Hash (x2|M|y2):
x2|M|y2:
01C6271B 31F6BE39 6A4166C0 616CF4A8 ACDA5BEF 4DCBF2DD 42656E63 72797074 696F6E20
7374616E 64617264 0147AF35 DFA1BFE2 F161521B CF59BAB8 3564868D 92958817 35
C3:F0A41F6F 48AC723C ECFC4B76 7299A5E2 5C064167 9FBD2D4D 20E9FFD5 B9F0DAB8
输出密文C=C1|C3|C2:
04 0095A8B8 667ACF09 7F65CE96 EBFE53422FCF 15876D16 446B 8A017A1E C7C9BAB0
DE070522 311E75CD 31C3C4D7 4150E84E 0A95F0A4 1F6F48AC 723CECFC 4B767299
A5E25C06 41679FBD 2D4D20E9 FFD5B9F0 DAB8D931 6E228BC2 C89BB35E 0778DE33
275FEB15 C0
解密各步骤中的有关值:
计算椭圆曲线点[dB]C1=(x2,y2):
坐标x2:01 C6271B31 F6BE396A 4166C061 6CF4A8AC DA5BEF4D CBF2DD42
坐标y2:01 47AF35DF A1BFE2F1 61521BCF 59BAB835 64868D92 95881735
计算t=KDF(x2|y2,klen):BC5F0D 50F2B2BC F2DC3027 0BAA5249 3B8A67A4
计算M'=C2⊕t:656E63 72797074 696F6E20 7374616E 64617264
计算u=Hash(x2|M'|y2):
F0A41F6F 48AC723C ECFC4B76 7299A5E2 5C064167 9FBD2D4D 20E9FFD5 B9F0DAB8
明文M':656E63 72797074 696F6E20 7374616E 64617264,即为:encryption standard
示例4:F2m-257
基域生成多项式为:y257+x12+1
系数a:0
系数b:00 E78BCD09 746C2023 78A7E72B 12BCE002 66B9627E CB0B5A25 367AD1AD 4CC6242B
基点G=(xG, yG),其阶记为n。
坐标xG:00 CDB9CA7F 1E6B0441 F658343F 4B10297C 0EF9B649 1082400A 62E7A748 5735FADD
坐标yG:01 3DE74DA6 5951C4D7 6DC89220 D5F7777A 611B1C38 BAE260B1 75951DC8 060C2B3E
阶n:7FFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF BC972CF7 E6B6F900 945B3C6A 0CF6161D
待加密的消息M:encryption standard
消息M 的16进制表示:656E63 72797074 696F6E20 7374616E 64617264
私钥dB:56A270D1 7377AA9A 367CFA82 E46FA526 7713A9B9 1101D077 7B07FCE0 18C757EB
公钥PB=(xB,yB):
坐标xB:00 A67941E6 DE8A6180 5F7BCFF0 985BB3BE D986F1C2 97E4D888 0D82B821 C624EE57
坐标yB:01 93ED5A67 07B59087 81B86084 1085F52E EFA7FE32 9A5C8118 43533A87 4D027271
加密各步骤中的有关值:
产生随机数k:6D3B4971 53E3E925 24E5C122 682DBDC8 705062E2 0B917A5F 8FCDB8EE 4C66663D
计算椭圆曲线点C1=[k]G=(x1,y1):
坐标x1:01 9D236DDB 305009AD 52C51BB9 32709BD5 34D476FB B7B0DF95 42A8A4D8 90A3F2E1
坐标y1:00 B23B938D C0A94D1D F8F42CF4 5D2D6601 BF638C3D 7DE75A29 F02AFB7E 45E91771
在此C1选用未压缩的表示形式,点转换成字节串的形式为PC|x1|y1,其中PC 为单一字节且PC=04,仍记为C1。
计算椭圆曲线点[k]PB=(x2,y2):
坐标x2:00 83E628CF 701EE314 1E8873FE 55936ADF 24963F5D C9C64805 66C80F8A 1D8CC51B
坐标y2:01 524C647F 0C0412DE FD468BDA 3AE0E5A8 0FCC8F5C 990FEE11 60292923 2DCD9F36
消息M 的比特长度klen=152
计算t=KDF(x2|y2,klen):983BCF 106AB2DC C92F8AEA C6C60BF2 98BB0117
计算C2=M⊕t:FD55AC 6213C2A8 A040E4CA B5B26A9C FCDA7373
计算C3=Hash(x2|M|y2):
x2|M|y2:
0083E628 CF701EE3 141E8873 FE55936A DF24963F 5DC9C648 0566C80F 8A1D8CC5 1B656E63
72797074 696F6E20 7374616E 64617264 01524C64 7F0C0412 DEFD468B DA3AE0E5 A80FCC8F
5C990FEE 11602929 232DCD9F 36    
       隐私   ·  优质产品   ·  退款政策   ·  公平交易   ·  关于我们
宁德梧三商贸有限公司 (营业执照期限:2019-2049年. 纳税人识别号:91350900MA32WE2Q2X)
对公账号开户银行:中国建设银行 | 账户名称:宁德梧三商贸有限公司 | 账户号码:35050168730700000955
本公司专职于中国国家标准行业标准英文版