(转) RSA-Tool 2 使用简介

http://bbs.pediy.com/showthread.php?t=5464&highlight=%E8%AF%91%E8%80%85+Cnbragon+TT

[[译者]Cnbragon[TT]
[说两句]也不知道现在还有没有兄弟在用RSA Tool翻译了这
篇帮助文档很简单。也不知道能不能给兄弟们带来帮助 *_^
----------------------
[译文]
RSA-Tool 2 ?2000-2002 tE! [TMG]版权所有

介绍

    请仔细地阅读本文档。这个应用程序是为了想在他们的程序中使用RSA公钥算法的人准备的。它提供
创造出强壮的密钥对和使用了包括MPQS在内的各种不同的因数分解方法而生成的整数因子。
    它可以分解256位大小的整数,但是要记住这会占用大量的内存和时间!因此不推荐在速度很慢和只


很少MB的物理内存的机器上分解大数。更别想分解512位的了...

PS: 看来采用 RSA 的注册方式,也是不安全的,除了私钥外泄的可能外,也还是有工具可以算的,只是时间问题。
   

  RSA-Tool 2 特点:

- 安全生成密钥对
- 密钥测试对话框
- 支持复合进制
- 自动进行选择的数制转换
- 支持到4096字节

1.关于RSA

    RSA是由Ronald Rivest,Adi Shamir和Leonard Adleman在1977年开发的公开密钥算法。直到2000年9
月20日这个算法的美国专利权才到期!这就意味着这个算法是公开的了,可以被任何人免费的使用,
甚至用于商业软件。

2. 参数

   P= 第一个大素数
   Q= 第二个大素数 (P和Q的长度不能相差太大!)
   E= 公钥 (一个随机数,必须满足:GCD(E,(P-1)*(Q-1))==1)(译者注:即E和(p-1)(Q-1)互素)
   N= 公用模数,由P和Q生成:N=P*Q
   D= 私钥:D=E^(-1) mod ((P-1)*(Q-1))

   参数N和E是公开的但是D是私有的并且绝不能公开!P和Q在生成密钥后便不再需要了,但是必须销毁。

  为了从公钥(N,E)得到D,需要试图分解N为它的两个素数因子。对于一个很大的模数N(512位或更大)
要想分解出它的P和Q是件非常困难的事。

  RSA 加密模式的所有安全性都依赖于大数分解(但是还没有数学上的证明)。
   请参阅:http://www.rsasecurity.com/rsalabs/c...ng/rsa155.html获得更多的信息.

3. 加密

   加密一个信息块(M)(必须小于N),计算:
 
   密文=C=M^E mod N.

   注意:如果整个信息(M)大于N,它会被分解为几个大小小于N的信息块。

4. 解密

   为了解密一个给定的密文(C)从而得到它的明文结果,计算: M=C^D mod N

   上面几个等式中的'^'是'乘方'的意思,不是'XOR'!

   注意RSA加密模式用其它的方法也可以:
 
   C=M^D mod N 和 M=C^E mod N. 它取决于你怎样补充它.只需要确定你从没有公开私钥D,P并且或者Q!

5. 怎样使用...?

   ...生成一组RSA密钥对
   1)按下'Start'按钮,通过移动你的鼠标指针来收集一些随机数据.
     这必须一次完成,因为收集的数据会被保存在你的RSA-Tool文件夹里面的一个文件中。
   2)选择要创建的密钥的长度(等于N的长度)。最大为4096位.
   3)选择你的公钥(E)并把它输入到相应的编辑框作为十进制数。
     常用的E有(考虑到计算速度的原因):3,17,257和65537(十进制).
   4)按下'Generate',等到密钥生成完成。
     注意,生成很大的数需要一些时间,取决于你的CPU的计算能力。
     特别说明:你可以常按'Generate'.做为密钥生成过程的一个组成部分的内置随机数生成系统会在运

行的
   时候重新进行初始化。这是故意这么做的,这样可使那些滥用这个工具做其它事情变得更困难...
   注意两次或两次以上生成相同的密钥对是不可能的。

   ...分解一个数?

   1)选择正确的进制
   2)在Modules(N)编辑框中输入或复制这个数。这会激活'Factor'按钮。
   3)然后按Factor按钮.注意分解大于240位的数会花很大的内存和时间!
     甚至很小的数也会需要几个小时。如果你不相信的话你可以试试用这个工具分解一个240位的N...
     如果用Multiple Polynomial Quadratic Sieve(MPQS)算法来分解整数,需要大量的内存.
   原因是这个算法的设计,而不是编码风格。
 
   例如:分解一个给定大小的N的内存使用情况(使用MPQS算法)...
         256位:~89MB, 280 位:~140MB,296位:~185MB等等.

   ...由素数因子P和Q计算私钥D

   1)选择参数P和Q的正确进制
      2)在相应的文本区域中输入或粘贴P和Q
   3)按下'Calc.D'

   ...得到整数的精确位长度
  
      1)为你要进行检查的数选择正确的进制
      2)在Modules(N)文本框中输入或粘贴整数
      3)按小的'Bits'按钮.这会显示出这个数使用的精确的位数。

6. 说明

- 用于密钥生成的素数是强壮的和精心计算的。如果你不相信这个工具,就不要使用它或者更好的逆向
 出密钥生成引擎并且告诉我你担心的问题;-)
- 这个程序使用Shamus 软件公司的Miracl 4.45.C/CPP形式的源代码和手册可以从
 http://indigo.ie/~mscott/获得.在商业软件中使用Miracl库不是免费的.更糟的是授权费相当高.
  当然你可以换着使用其它的大数运算库-比如Freelib.
- 使用了Base60转换表(Miracl支持)
  0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwx
- 使用了Base64转换表
  ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
  特别说明:Miracl不支持Base64数据格式.我使用自己的方法。从每个数的十六进制表示方法的MSB到LSB

进行
 转换的。这可能和你用的库不匹配。Base64转换的C语言源代码将会和这个工具一起发放。

7.  致谢

   这个工具是tE!用C语言编码,MSVC5编译。

  感谢Ousir -  Quantico -  Ivanopulo -  GriYo - Daemon -  MackT - Recca - Analyst
 Dimedrol - Snacker - SAC - VAG - +SplAj - Snaker - Seifer - Sab - NoodleSpa
 f0dder - The Owl - Lorian -  Defiler -  Ultraschall -  Seir -  Risc - MackT
 viruz666 - neoman - TMG所有的朋友和你


tE!

转载于:https://www.cnblogs.com/spymaster/archive/2007/11/18/963187.html

RSA-Tool 2 Copyright ?2000-2002 by tE! [TMG] Introduction Please read this text carefully. This utility has been made for those who want to use the RSA public key algorithm in their own programs. It offers creation of strong keypairs and a nice integer factorization feature which makes use of several differnt factoring methods including the MPQS. It's possible to factor integers +256 bits in size but please keep in mind that this can take a *lot* of memory and time ! Thus it's not recommended to try factoring bigger numbers on slow machines with a few MB of physical Memory. Don't even think of trying to factor 512 bit numbers for example.. RSA-Tool 2 Features: - Secure keypair generation - Key test dialog - Support of multiple number bases - Auto base-conversion on select - Support of numbers up to 4096 Bits 1. About RSA RSA is a Public Key Cryptosystem developed in 1977 by Ronald Rivest, Adi Shamir and Leonard Adleman. Since 09-20-2000 the U.S. Patent #4,405,829 on this Algorithm EXPIRED! That means that the Algorithm is Public Domain now and can be used by everyone for free, even in commercial software. 2. Parameters P = 1st large prime number Q = 2nd large prime number (sizes of P and Q should not differ too much!) E = Public Exponent (a random number which must fulfil: GCD(E, (P-1)*(Q-1))==1) N = Public Modulus, the product of P and Q: N=P*Q D = Private Exponent: D=E^(-1) mod ((P-1)*(Q-1)) Parameters N and E are public whereas D is -private- and must NEVER be published! P and Q are not longer needed after keygeneration and should be destroyed. To obtain D from the public key (N, E) one needs to try splitting N in its both prime factors P and Q. For a large Modulus N (512 bit and more) with carefully chosen primefactors P and Q this is a very difficult problem. All the security of the RSA encryption scheme relies on that integer factorization problem (tough there's no mathematical proof for it). To fin
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值