学习网考试学习资料

Gzu521.com

椭圆曲线ECC加密算法入门介绍(六)(1)

计算机软件水平考试   点击:次   发布时间:2006-12-30   【字体: 】   来源:Gzu521.com
GZU521.COM学习网

七、椭圆曲线在软件注册保护的应用

  我们知道将公开密钥算法作为软件注册算法的好处是cracker很难通过跟踪验证算法得到注册机。下面,将简介一种利用fp(a,b)椭圆曲线进行软件注册的方法。 KWtp8 WdG++nh] [ 本 资 料 来 源 于 贵 州 学 习 网 IT认证计算机软件水平考试 http://Www.gzU521.com ] KWtp8 WdG++nh]

  软件作者按如下方法制作注册机(也可称为签名过程)

  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)

  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是很困难的。

本文共2页:第 [1] [2]下一页

责任编辑:gzu521

IT认证分类
计算机软件水平考试
全国计算机等级考试
思科认证
微软认证
ORACLE/CIW认证
Linux认证
JAVA认证
其它认证
分类推荐信息
更多...
大类最新文章
更多...