探讨ECC加密被破译的可能性

ECC加密被破译的可能性之制作注册机(签名过程)

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)。

ECC加密被破译的可能性之软件验证过程

(软件中存有椭圆曲线Ep(a,b),和基点G,公开密钥K)

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

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

  1. sn≡r-Hash*k (mod n) 

 

所以

  1. sn*G + Hash*K 
  2.  
  3. =(r-Hash*k)*G+Hash*K 
  4.  
  5. =rG-Hash*kG+Hash*K 
  6.  
  7. =rG- Hash*K+ Hash*K 
  8.  
  9. =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是非常困难的。

ECC加密被破译的可能性的探讨的更多内容请看:探讨ECC加密被破译的可能性 续

【编辑推荐】

  1. 详细解析数据加密
  2. 生成和交换预共享密钥
  3. PKI基础内容介绍(1)
  4. 破解你的密码需要多长时间?
  5. 信息安全的核心之密码技术 上
  6. 揭露维基解密窃取机密信息新手段

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/132799.html<

(0)
运维的头像运维
上一篇2025-02-27 04:42
下一篇 2025-02-27 04:44

相关推荐

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注