windows xp 算号原理:

  从Win95起,即Microsoft的产品安装Key从原来的10位数字改为25位字符,这一改动,代表着MS告别了简单的校验和,从此投入了椭圆曲线法的怀抱。从密码学的角度来看,这绝对是一个里程碑, 因为当时椭圆曲线法仍在研究论证阶段,MS是第一个将之实用以商业产品的厂家。那么在这25个字符里到底有什么呢?

  1.Base24
  这25个字符实际是114bits的数据用Base24进行UUCode后的结果,做为安装Key,这个Base必须绝对避免误认,所以MS选择了以下这24个字符做为UUCode的Base:BCDFGHJKMPQRTVWXY2346789
所以,如果你的安装Key 有这24个字符以外的字符的话,你完全可以把它丢到垃圾筒里去了━━不用试就知道它根本通不过了。

  2.114 bits
  UUDecode后得到的114位按Intel高位在后的格式表示如下:
  [ X XXXXXXXX XXXXXXXX XXXXXXXXXXXXXXXXXX ] Total 114 Bits
  | | | 55 Bits Sign
  | | 28 Bits Hash
  | 30 Bits Serial 31 Bits Data
   1 Bits Flag /
  Flag: 不明标志,目前所见的各类Key中这一位总是为0。
  Serial:用户序列号,转成十进制表示为AAAABBBBBB,对应显示为:
  零售版:xxxxx-AAA-BBBBBBx-xxxxx
  OEM版: xxxxx-OEM-0AAAABx-BBBBB
  以上31bits总称为Data,是CDKey中的基本部分。
  Hash:Data经特定处理得到的结果,见后文。
  Sign:Hash值的椭圆曲线签名,见后文。

  3.椭圆曲线签名算法
  要说明椭圆曲线签名算法可不是一件容易的事,有兴趣的可以自己用“椭圆曲线”或是“elliptic curve”在搜索引擎找相关的资料来看吧,这里只简单介绍MS的用法。
  所谓椭圆曲线是指这样一类曲线方程:
  y^2 + a1*xy + a3*y = x^3 + a2*x^2 + a4*x + a6
  在密码学里用的是它的两个特例,而MS用的更是这两个特例中的特例:
  y^2 = x^3 + 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)
  私有密钥为: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为有效Key。

   4.BINK
  从前面的说明可以看出,为了验证CDKey,MS 必须公开椭圆曲线签名算法中的公开密钥,那么这个公开密钥放在哪里呢?答案是在pidgen.dll里的BINK资源里(其他产品如Office则被包在*.MSI),而且一共有两组,从目前已知的Key组合来看,第一组密钥是用以零售版本的,第二组则用于OEM版本。两个产品的Key能否通用就在于对应的密钥是否相同,比如中文版的Windows 2000的Pro/Srv/AdvSrv的第二组密钥也是相同的,即一个PWindows 2000 Pro的OEM版的Key,可同时供 PWindows 2000 Srv/Adv的OEM版使用。

   5.破解及其难度
  要破解CDKey的生成算法,必须从MS 公开的密钥中求出对应的私有密钥,即只要求出q和k即可。从BINK中公开的密钥来看,p 是一个384 bits的质数,看起来计算量好象至少要O(2^168)才行,但MS设计中一个缺陷(?)使实际工作量降低到只有O(2^28)就可以了。
  为什么相差这么远?
  回头看看3.C中的式子: Sign = r - Hash * k ( mod q )
  通常情况下q可以是很大的值,因此Sign应该也很大,但MS 为了减少用户输入的CDKey的数量,把Sign的值限死在55 bits,因此,自然也限定了q最多也不能超过56 bits。依此类推,由于k
  作者曾经在一台赛扬II 800的机器上只用6个小时就解出某组密钥的q值,最多时在一台雷鸟1G上用了28个小时才算出另一组密钥的k值, 其他平均大约都在十个小时左右就可以求出。

windows xp 算号原理相关推荐

  1. 微软 Windows XP 源代码遭泄露!

    对于微软已经不提供安全支持的 Windows XP.Windows 7,你还在用么? 近日,已退役多年的 Windows XP 系统,再次重回大众视野,而这一次,却是因为其源代码泄露事件.据美国匿名网 ...

  2. Windows XP和Office2003通过正版验证,免去黑屏之忧

    相信消息灵通的地球人都知道了,10月15日,微软中国宣布将从2008年10月20日开始同时推出两个重要更新:Windows正版增值计划通知(简称"WGA通知")和Office正版增 ...

  3. 如何将windows xp系统下的outlook express6.0的邮件,帐号及通迅录导入Office Outlook xp/2003/2007中

    如何将windows xp系统下的outlook express6.0的邮件,帐号及通迅录导入Office Outlook xp/2003/2007中 1.此帮助以Outlook express6.0 ...

  4. Windows XP系统自带工具应用详解(内容比较老,但还算实用)

    为了让自己的电脑发挥更多的功用,有不少用户都遵循"要想马儿跑得快,就得给它多吃草"的原则,在电脑中"装填"了许多第三方软件.在安装的众多软件中,其中有一些根本无 ...

  5. Windows XP 加速

    Windows XP 加速(zz) 一.系统优化设置. 1.删除Windows强加的附件: 1) 用记事本NOTEPAD修改/winnt/inf/sysoc.inf,用查找/替换功能,在查找框中输入, ...

  6. 戳穿Windows XP的经典谣言(用XP的用户必看)

    戳穿Windows XP的戳穿Windows XP的经典谣言(用XP的用户必看) 网上和很多杂志上流传了很多关于Windows XP的优化.设置攻略.技巧等,很多被奉为"经典".& ...

  7. 走出误区 戳穿Windows XP的经典谣言

    网上和很多杂志上流传了 很多关于Windows XP的优化.设置攻略.技巧等,很多被奉为"经典"."圣经",事实上当我们仔细辨别这些所谓的"终极技巧& ...

  8. 带你走出误区 戳穿Windows XP的经典谣言

    网上和很多杂志上流传了很多关于Windows XP的优化.设置攻略.技巧等,很多被奉为"经典"."圣经",事实上当我们仔细辨别这些所谓的"终极技 巧& ...

  9. 戳穿Windows XP的经典谣言

    网上和很多杂志上流传了很多关于Windows XP的优化.设置攻略.技巧等,很多被奉为"经典"."圣经",事实上当我们仔细辨别这些所谓的"终极技巧&q ...

最新文章

  1. 解决apache服务器默认编码为西欧编码的问题
  2. NCP1271的使用
  3. 小弟的新书《Ext JS权威指南》终于出版了
  4. java构造方法可以重载吗_Java基础教程之构造器与方法重载
  5. android 数据线读串口数据线,一种串口写频及USB数据二合一数据线的制作方法
  6. Mysql一些导入导出数据库,添加修改字段命令
  7. java package报错_Java从入门到精通(一)
  8. 图书推荐(持续更新)
  9. 学生管理系统代码赏析
  10. 电力系统潮流计算程序 matlab,大神们,求个电力系统潮流计算的matlab程序。
  11. 移动开发或将被颠覆?
  12. 子集数据帧中的丢包因子级别
  13. 简明Github使用教程(桌面客户端与网页版)
  14. 服务器被ddos攻击?分析如何防止DDOS攻击?
  15. QT实现图片缩放的同时标记指定坐标
  16. [team]开发中的“最速曲线”
  17. java统计每个单词单词出现的次数_Java统计英文句子中出现次数最多的单词并计算出现次数的方法...
  18. 转贴--爱的最高境界
  19. 微信小程序之----页面之间相互传递数据
  20. c语言实现简单的五子棋游戏

热门文章

  1. 新闻类客户端代码阅读笔记
  2. 帝国cms php序号,帝国cms输出数字排序序号的列表
  3. 浅谈“李氏代换”——从纪念金庸和斯坦李说起
  4. 理解ALSA(二):概览
  5. 硬件设计37之积分放大电路的继续研究
  6. F.interpolate函数使用记录记载
  7. 素描教程石膏像明暗素描技法
  8. Spring的基础知识精讲,创客学院一招教你彻底掌握
  9. ROS2-Foxy安装流程
  10. Linux之kickstart全自动安装