当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: RSA算法 -摘自http://tanghuanliang.go
 

 

    摘要:演示地址:http://blog.tomxp.com 下载地址:http://runing.dev.java.net 请使用wincvs下载最新版本 ......
    摘要:一、行迁移/行链接的介绍 在实际的工作中我们经常会碰到一些oracle数据库性能较低的问题,当然,引起oracle数据库性能较低的原因是多方面的,我们能够通过一些正确的设计和诊断来尽量的避免一些oracle数据库性能不好,row migration (行迁移) & row chaining (行链接)就是其中我们可以尽量避免的引起oracle数据库性能低下的潜在问题。通过合理的诊断行迁移......


RSA算法

rsa算法

                              -摘自http://tanghuanliang.go.nease.net/ec/rsa.htm# 【程序编程相关:【JSF心得】JAVA的对象传递是引用传

【推荐阅读:面试时常会问到的问题

  它是第一个既能用于数据加密也能用于数字签名的算法.它易于理解与操作,也很流行.算法的名字以发明者的名字命名:ron rivest, adi shamir 与leonard adleman.但rsa的安全性一直未能得到理论上的证明.它经历了各种攻击,至今未被完全攻破. 【扩展信息:C#使用CDO发送邮件

假设资料要由a机器传至b机器,那,由b机器用乱数决定一个key,我们称之为privatekey,这个key自始至终都只留在b机器里不送出来然後,由这个privatekey计算出另一个key,我们称之为publickey.这个publickey的特性是几乎不可能反演算出privatekey来然後将这个publickey透过网路丢给a机器.a机器将资料用这个publickey编码,这个编码过的资料一定得使用privatekey才解得开然後a机器将编码过的资料透过网路传给b,b再用privatekey将资料解码这时,如果有第三者窃听资料时,他只得到b传给a的publickey,以及a用这个publickey编码後的资料没有privatekey,第三者根本无法解码所以这个方法确实能防止第三者的窃听

  rsa的安全性依赖于大数分解.公钥与私钥都是两个大素数( 大于 100 个十进制位)的函数.据猜测,从一个密钥与密文推断出明文的难度等同于分解两个大素数的积.

  密钥对的产生.选择两个大素数,p 与q .计算:

  n = p * q

然后随机选择加密密钥e,要求 e 与 ( p - 1 ) * ( q - 1 ) 互质.最后,利用 euclid 算法计算解密密钥d,满足

  e * d = 1 ( mod ( p - 1 ) * ( q - 1 ) )

  其中n与d也要互质.数e与 n是公钥,d是私钥.两个素数p与q不再需要,应该丢弃,不要让任何人知道.

  加密信息 m(二进制表示)时,首先把m分成等长数据块 m1 ,m2,..., mi ,块长s ,其中 <= n, s 尽可能的

大.对应的密文是:

  ci = mi^e ( mod n ) ( a )

解密时作如下计算:

  mi =ci^d ( mod n ) ( b )

rsa 可用于数字签名,方案是用 ( a ) 式签名, ( b )式验证.
...   下一页

 ·md5算法实现    »显示摘要«
    摘要:-摘抄于网络md5算法实现 1、md5算法是对输入的数据进行补位,使得如果数据位长度len对512求余的结果是448。 即数据扩展至k*512+448位。即k*64+56个字节,k为整数。 具体补位操作:补一个1,然后补0至满足上述要求 2、补数据长度: 用一个64位的数字表示数据的原始长度b,把b用两个32位数表示。这时,数据就被填 补成长度为512位的倍数。 3. 初始化md5参数 四个3......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE