RSA密码系统(RSA Cryptosystem)
RSA算法是1977年由Ron Rivest 、Adi Shamir 和Len Adleman 在MIT提出来的;RSA三个字母是他们三个姓氏的第一个字母。
一个在英国情报中心(GCHQ)叫Clifford Cocks(克利福德·柯克斯)的数学家于1973的内部文件中提出了一个同样的系统。然而他的探究,还是因为涉及绝密所以直到1997年才为人所知。
RSA算法于1983被MIT在美国申请成了专利4405829。这个专利将于2000年9月21日到期。虽然算法在专利应用之前就已经发表,世界上许多其他国家的法规限制都不包含他国的专利。如果Cocks的工作早为公众所知,美国的这项专利也就不会有效。
RSA工作方式如下:
1) 随机独立选择两个大素数p ≠ q 。计算N = p*q。
2) 计算φ = (p-1)(q-1)。
3) 选择一个整数1 < e < φ 与φ互素。
4) 计算d 使得d*e ≡ 1 (mod φ)。
如此e就是公钥而d 就是私钥。加解密就是计算x^e and x^d。
Ron Rivest(罗纳德·李维斯特)
|
|
Ronald Linn Rivest教授(生于1947年纽约州的斯克内克塔迪,Schenectady, New York)是一个密码学家,并且是MIT电气工程与计算机科学系的Viterbi Professor。他最知名的工作在与Len Adleman 、Adi Shamir合作完成的公钥加密,尤其是RSA。他们因此于2002年获得了ACM 图灵奖。
他还是对称加密算法RC2、RC4、RC5的发明者,RC6的合作发明者。"RC"代表"Rivest Cipher"或"Ron's Code" (RC3在发明RSA安全系统时就被破解了;由于同样的原因,RC1就从来没公开过)。不难想象,他同样是MD2、 MD4和MD5密码哈希函数的作者。
Adi Shamir(阿迪·萨莫尔)
|
|
Adi Shamir(生于1952年)是一个以色列密码学家。他是RSA算法的发明者之一(合作者还有Ron Rivest和Len Adleman)。他在密码学和计算机科学领域做过许多贡献。
除了RSA之外,Shamir关于密码学的许多其他发明包括Shamir 秘密共享方案、破解Merkle-Hellman密码系统、视觉密码学、TWIRL和TWINKLE因数分解装置。同Eli Biham(艾力·毕汉姆)一起发现了一种破解分组密码的通用方法——差分密码分析(differential cryptanalysis,后来才爆料差分密码分析早就被发现了,但是一直被IBM和NSA保密不宣)。
Shamir还在密码学领域外的计算机科学领域做出贡献,比如证明复杂性类PSPACE与IP等价。
Len Adleman(伦纳德·阿德曼)
Leonard Adleman(生于,1945年12月31日)是一个理论计算机科学家,以及南加州大学计算机科学和分子生物学教授。他因1977年发明RSA (Rivest-Shamir-Adleman)加密系统和DNA计算而知名。
1994他的论文《分子计算应用于解决组合问题》(Molecular Computation of Solutions To Combinatorial Problems)描述了试验用DNA构造计算系统。在这个试验中他解决了一个哈密尔顿图问题(Hamiltonian Graph problem)的一个7节点之实例,即一个与旅行商问题(traveling salesman problem)类似的NP-完全问题。虽然解决7节点之实例并非困难,但是这篇论文是所知的第一次成功运用DNA去运行一个算法。DNA计算被显现出是一种具有解决一些大规模组合搜索问题之潜力的方法。
Further Links
· RSA@Wikipedia: en.wikipedia.org/wiki/RSA
· Rivest@Wikipedia: en.wikipedia.org/wiki/Ron_Rivest
· Rivest's Homepage: theory.lcs.mit.edu/~rivest/
· Shamir@Wikipedia: en.wikipedia.org/wiki/Adi_Shamir
· Shamir's Homepage: www.wisdom.weizmann.ac.il/profile04/scientists/shamir-prof04.html
· Adleman@Wikipedia: en.wikipedia.org/wiki/Len_Adleman
· Adleman's Homepage: www.usc.edu/dept/molecular-science/fm-adleman.htm
· RSA-Simulator: www.ece.concordia.ca/~jj_matta/RSAApplet.htm