1 / 12
文档名称:

ECC密码算法编程实验-7.5课件.pptx

格式:pptx   大小:105KB   页数:12页
下载后只包含 1 个 PPTX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

ECC密码算法编程实验-7.5课件.pptx

上传人:bai1968104 2021/1/4 文件大小:105 KB

下载得到文件列表

ECC密码算法编程实验-7.5课件.pptx

文档介绍

文档介绍:ECC密码算法编程实验
实验目的:
掌握ECC密码加解密原理,并利用Visual C++编程实现。
实验内容:
编程实现字符串”Hi, this is ECC!”的加密,并解密验证之。
网络空间安全实践教程
1
ECC密码算法编程实验
实验原理:
系统参数:
设p>3是一个素数,E是有限域Fp上的椭圆曲线

E(Fp)是相应的点群, 是E(Fp)中有较大素数阶q的一个点。
密钥生成:
随机选取整数 ,并计算P = dG。d是私钥,P是公钥。
网络空间安全实践教程
2
ECC密码算法编程实验
实验原理:
加密:
对明文 ,随机选取整数 ,计算数乘
(x,y) = kP,再计算 ,
明文 经加密后的密文即为 。
解密:
对任意密文 ,计算数乘 ,再计
算 ,得到解密后的明文 。
网络空间安全实践教程
3
ECC密码算法编程实验
实验要点说明:
公开参数选择:
ECC的参数选取不同于其他的加密算法,对于素数p,参数a,b以及基点G的选择有很多要求,产生合适的参数需要耗费很多时间。所以许多标准化文档中直接给出了一些公开参数的取值,我们在此实验中采用RFC5639中的一条椭圆曲线,ID为brainpoolP192r1,其公开参数取值如下(以16进制表示):
p = 0xC302F41D932A36CDA7A3463093D18DB78FCE476DE1A86297
a = 0x6A91174076B1E0E19C39C031FE8685C1CAE040E5C69A28EF
b = 0x469A28EF7C28CCA3DC721D044F4496BCCA7EF4146FBF25C9
= 0xC0A0647EAAB6A48753B033C56CB0F0900A2F5C4853375FD6
= 0x14B690866ABD5BB88B5F4828C1490002E6773FA2FA299B8F
q = 0xC302F41D932A36CDA7A3462F9E9E916B5BE8F1029AC4ACC1
网络空间安全实践教程
4
ECC密码算法编程实验
实验要点说明:
公开参数选择:
ECC的参数选取不同于其他的加密算法,对于素数p,参数a,b以及基点G的选择有很多要求,产生合适的参数需要耗费很多时间。所以许多标准化文档中直接给出了一些公开参数的取值,我们在此实验中采用RFC5639中的一条椭圆曲线,ID为brainpoolP192r1,其公开参数取值如下(以16进制表示):
p = 0xC302F41D932A36CDA7A3463093D18DB78FCE476DE1A86297
a = 0x6A91174076B1E0E19C39C031FE8685C1CAE040E5C69A28EF
b = 0x469A28EF7C28CCA3DC721D044F4496BCCA7EF4146FBF25C9
= 0xC0A0647EAAB6A48753B033C56CB0F0900A2F5C4853375FD6
= 0x14B690866ABD5BB88B5F4828C1490002E6773FA2FA299B8F
q = 0xC302F41D932A36CDA7A3462F9E9E916B5BE8F1029AC4ACC1
网络空间安全实践教程
5
ECC密码算法编程实验
实验要点说明:
椭圆曲线点的表示: