Journal of Systems Engineering and Electronics ›› 2010, Vol. 32 ›› Issue (5): 1094-1099.doi: 10.3969/j.issn.1001-506X.2010.05.045

• 软件、算法与仿真 • 上一篇    下一篇

基于自组装DNA计算的RSA密码系统破译方案

张勋才1,2, 牛莹1, 崔光照1, 许进2   

  1. (1. 郑州轻工业学院电气信息工程学院, 河南 郑州 450002;2. 华中科技大学控制科学与工程系, 湖北 武汉430074)
  • 出版日期:2010-05-24 发布日期:2010-01-03

Breaking the RSA public key cryptosystem using self-assembly of DNA tilings

ZHANG Xun-cai1,2,    NIU Ying1,    CUI Guang-zhao1,    XU Jin2   

  1. (1. Coll. of Electrical and Electronic Engineering, Zhengzhou Univ. of Light Industry, Zhengzhou 450002, China;
    2. Dept. of Control Science and Engineering, Huazhong Univ. of Science and Technology, Wuhan 430074, China)
  • Online:2010-05-24 Published:2010-01-03

摘要:

自组装DNA计算在解决NP问题,尤其是破译密码系统方面,具有传统计算机无法比拟的优势。采用DNA分子瓦编码信息,借助于分子瓦之间的粘性末端进行自组装,给出了乘法运算的实现方案。在此基础上,通过引入非确定性的指派分子瓦,提出了一种用自组装DNA计算破译RSA公钥密码系统的非确定性算法。通过创建数以亿计的参与计算的DNA分子瓦,在DNA计算能力允许的范围内,该算法可以并行地测试每个可能的因子,以高概率地分解整数。该方法最大的优点是充分利用了DNA分子瓦具有的海量存储能力、生化反应的巨大并行性以及组装的自发有序性。

Abstract:

Computation by self-assembly of DNA is an efficient method of executing parallel DNA computing where information is encoded in DNA tiles and a large number of tiles can be self-assembled via sticky end associations.This paper shows that how the DNA self-assembly process can be used for breaking the RSA public key cryptosystem, whose security is based on the difficulty of factoring the product of two large prime numbers. Thus, a method for implementing the product of two primers using self-assembled DNA computing is expounded. Then, a non-deterministic algorithmic is provided to break efficiently the RSA public key cryptosystem. By creating billions of copies of the participating DNA tiles, the algorithmic will run in parallel on all possible factors. The computation takes advantage of non-determinism, but theoretically, each of the nondeterministic paths is executed in parallel, yielding the solution in time linear in the size of the input, with high probability. It presents clear evidence of the ability of molecular computing to perform complicated mathematical operations.