科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道安全基础之探讨ECC加密被破译的可能性

安全基础之探讨ECC加密被破译的可能性

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

选择私有密钥k(k小于n,n为G的阶),利用基点G计算公开密钥K=kG;软件验证过程如下:(软件中存有椭圆曲线Ep(a,b),和基点G,公开密钥K)

作者:赛迪网 来源:赛迪网安全社区 2007年10月18日

关键字: 散列算法 Hash ECC

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共3页)

一、制作注册机(也可称为签名过程)

1、选择一条椭圆曲线Ep(a,b),和基点G;

2、选择私有密钥k(k小于n,n为G的阶),利用基点G计算公开密钥K=kG;

3、产生一个随机整数r(r小于n),计算点R=rG;

4、将用户名和点R的坐标值x,y作为参数,计算SHA(Secure Hash Algorithm 安全散列算法,类似于MD5)值,即Hash=SHA(username,x,y);

5、计算sn≡r - Hash * k (mod n);

6、将sn和Hash作为 用户名username的序列号。

软件验证过程如下:(软件中存有椭圆曲线Ep(a,b),和基点G,公开密钥K)。

二、软件验证过程如下:(软件中存有椭圆曲线Ep(a,b),和基点G,公开密钥K)

1、从用户输入的序列号中,提取sn以及Hash;

2、计算点R≡sn*G+Hash*K ( mod p ),如果sn、Hash正确,其值等于软件作者签名过程中点R(x,y)的坐标,因为

sn≡r-Hash*k (mod n)

所以

sn*G + Hash*K 
=(r-Hash*k)*G+Hash*K 
=rG-Hash*kG+Hash*K 
=rG- Hash*K+ Hash*K 
=rG=R;

3、将用户名和点R的坐标值x,y作为参数,计算H=SHA(username,x,y);

4、如果H=Hash 则注册成功。如果H≠Hash ,则注册失败(为什么?提示注意点R与Hash的关联性)。

简单对比一下两个过程:

作者签名用到了:椭圆曲线Ep(a,b),基点G,私有密钥k,及随机数r。

软件验证用到了:椭圆曲线Ep(a,b),基点G,公开密钥K。

Cracker要想制作注册机,只能通过软件中的Ep(a,b),点G,公开密钥K ,并利用K=kG这个关系获得k后,才可以。而求k是很困难的。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章