MS 算号器原理

全部回答1
默认 最新
  • 从Win95起,MS(注:即Microsoft,下同)的产品安装Key从原来的10位数字改为25位字符,这一改动,代表着MS告别了简单的校验和,从此投入了椭圆曲线法的怀抱。从密码学的角度来看,这绝对是一个里程碑,因为当时椭圆曲线法仍在研究论证阶段,MS是个将之实用以商业产品的厂家。 那么在这25个字符里到底有什么呢? 1.Base24 这25个字符实际是114bits的数据用Base24进行UUCode后的结果,做为安装Key,这个Base必须绝对避免误认,所以MS选择了以下这24个字符做为UUCode的Base:BCDFGHJKMPQRTVWXY2346789 所以,如果你的安装Key有这24个字符以外的字符的话,你完全可以把它丢到垃圾筒里去了━━用试就知道它根本通过了。 2.114bits UUDecode后得到的114位按Intel高位在后的格式表示如下: [XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX]Total114Bits \55BitsSign \28BitsHash \30BitsSerial\31BitsData \1BitsFlag/ Flag:明标志,目前所见的各类Key中这一位总是为0。 Serial:用户序列号,转成十进制表示为AAAABBBBBB,对应显示为: 零售版:xxxxx-AAA-BBBBBBx-xxxxx OEM版:xxxxx-OEM-0AAAABx-BBBBB 以上31bits总称为Data,是CDKey中的基本部分。 Hash:Data经特定处理得到的结果,见后文。 Sign:Hash值的椭圆曲线签名,见后文。 3.椭圆曲线签名算法 要说明椭圆曲线签名算法可是一件容易的事,有兴趣的可以自己用“椭圆曲线”或是“ellipticcurve”在搜索引擎找相关的资料来看吧,这里只简单介绍MS的用法。 所谓椭圆曲线是指这样一类曲线方程: y^2+a1*xy+a3*y=x^3+a2*x^2+a4*x+a6 在密码学里用的是它的两个特例,而MS用的更是这两个特例中的特例: y^2=x^3+a*x+b(modp) 当a、b、p选定后,就可以确定一个椭圆曲线,再选择一个生成点G(gx,gy), 于是,存在一个最小的整数q使得q*G=O,然后,再任意选择一个整数kK(kx,ky)=k*G,这样椭圆曲线签名算法的Ke
    0 点赞

没有更多内容了

返回顶部
产品求购 求购