win7 算号器之密码学 椭圆曲线算法.doc
《win7 算号器之密码学 椭圆曲线算法.doc》由会员分享,可在线阅读,更多相关《win7 算号器之密码学 椭圆曲线算法.doc(5页珍藏版)》请在三一办公上搜索。
1、win7 算号器之密码学 椭圆曲线算法最近发现,为了验证CDKey,MS必须公开椭圆曲线签名算法中的公开密钥,那么这个公开密钥放在哪里呢?答案是在pidgen.dll里的BINK资源里(其他产品如Office则被包在*.MSI),在advapi32.dll里有crpygenkey函数进行Key的生成.vc+中调用.1.Base24这25个字符实际是114bits的数据用Base24进行UUCode后的结果,做为安装Key,这个Base必须绝对避免误认,所以MS选择了以下这24个字符做为UUCode的Base:BCDFGHJKMPQRTVWXY 2346789所以,如果你的安装Key有这24个字
2、符以外的字符的话,你完全可以把它丢到垃圾筒里去了不用试就知道它根本通不过了。2.114 bits UUDecode后得到的114位按Intel高位在后的格式表示如下:Flag:不明标志,目前所见的各类Key中这一位总是为0。Serial:用户序列号,转成十进制表示为AAAABBBBBB,对应显示为:零售版:*xx-AAA-BBBBBBx-*xx OEM版:*xx-OEM-0AAAABx-BBBBB以上31bits总称为Data,是CDKey中的基本部分。Hash:Data经特定处理得到的结果,见后文。Sign:Hash值的椭圆曲线签名,见后文。3.椭圆曲线签名算法要说明椭圆曲线签名算法可不是一
3、件容易的事,有兴趣的可以自己用椭圆曲线或是elliptic curve在搜索引擎找相关的资料来看吧,这里只简单介绍MS的用法。所谓椭圆曲线是指这样一类曲线方程:y2+a1*xy+a3*y=x3+a2*x2+a4*x+a6在密码学里用的是它的两个特例,而MS用的更是这两个特例中的特例:y2=x3+a*x+b(mod p)当a、b、p选定后,就可以确定一个椭圆曲线,再选择一个生成点G(gx,gy),于是,存在一个最小的整数q使得q*G=O,然后,再任意选择一个整数k K(kx,ky)=k*G,这样椭圆曲线签名算法的Key就全生成了:公开密钥为:a,b,p,G(gx,gy),K(kx,ky)私有密钥
4、为:a,b,p,G(gx,gy),q,k要对Data签名时:A.先任意选择一个整数r B.将Data、rx、ry共100个字节求SHA-1,取结果中的28位得到Hash;C.求Sign=r-Hash*k(mod q);D.把Data、Hash、Sign三个数组合后UUCode得到25位CDKey。验证CDKey时:A.把25位CDKey先UUDecode再拆分后提到Data、Hash、Sign;B.求点R(rx,ry)=Sing*G+Hash*K(mod p);C.将Data、rx、ry共100个字节求SHA-1,取结果中的28位得到Hash;D.如果Hash=Hash,则该CDKey为有效K
5、ey。-补充点数学常识-法则详解:这不是实数中普通的加法,而是从普通加法中抽象出来的加法,他具备普通加法的一些性质,但具体的运算法则显然与普通加法不同。根据这个法则,可以知道椭圆曲线无穷远点O与椭圆曲线上一点P的连线交于P,过P作y轴的平行线交于P,所以有无穷远点O+P=P。这样,无穷远点O的作用与普通加法中零的作用相当(0+2=2),我们把无穷远点O称为零元。同时我们把P称为P的负元(简称,负P;记作,-P)。根据这个法则,可以得到如下结论:如果椭圆曲线上的三个点A、B、C,处于同一条直线上,那么他们的和等于零元,即A+B+C=Ok个相同的点P相加,我们记作kP。如下图:P+P+P=2P+P
6、=3P。下面,我们利用P、Q点的坐标(x1,y1),(x2,y2),求出R=P+Q的坐标(x4,y4)。例4.1:求椭圆曲线方程y2+a1xy+a3y=x3+a2x2+a4x+a6上,平常点P(x1,y1),Q(x2,y2)的和R(x4,y4)的坐标。解:(1)先求点-R(x3,y3)因为P,Q,-R三点共线,故设共线方程为y=kx+b,其中若PQ(P,Q两点不重合)则直线斜率k=(y1-y2)/(x1-x2)若P=Q(P,Q两点重合)则直线为椭圆曲线的切线,故由例3.1可知:k=(3x2+2a2x+a4-a1y)/(2y+a1x+a3)因此P,Q,-R三点的坐标值就是方程组:y2+a1xy+
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- win7 算号器之密码学 椭圆曲线算法 算号器 密码学 椭圆 曲线 算法

链接地址:https://www.31ppt.com/p-3025709.html