基于DNA自组装技术实现有限域GF(2<sup>n</sup>)上乘法逆元和除法模运算的方法及系统的制作方法

文档序号:573575阅读:202来源:国知局
专利名称:基于DNA自组装技术实现有限域GF(2<sup>n</sup>)上乘法逆元和除法模运算的方法及系统的制作方法
技术领域
本发明涉及计算机技术和生物技术,特别涉及一种基于DNA自组装技术实现有限域GF(2n)上乘法逆元和除法模运算的方法及系统。

背景技术
Adleman创立了以DNA分子为“数据”,以生物酶和生物操作为信息处理“工具”的DNA计算模型证明了DNA分子潜在的计算能力,并由此开创了DNA计算(又称分子计算)领域。随后,许多学者在此领域内做出了杰出的工作。DNA计算是对DNA序列通过可控的生化反应来进行信息处理。最大优点是充分利用DNA分子具有海量存储能力以及生化反应的巨大并行性。Winfree提出了利用DNA分子Tile自组装做计算的重要思想,近十年中,DNA自组装在分子计算、生物物理、纳米技术等各个方面的潜力都得到了广泛的发掘,为DNA计算领域的发展奠定了坚实的理论和实验基础。所谓分子自组装是指分子及纳米颗粒等结构单元在平衡条件下,通过非共价键作用自发地缔结成热力学上稳定的、结构上确定的、性能上特殊的聚集体或超分子结构的过程。分子自组装代表了一种“自下而上的”制造高精度复合物的方法。这个方法可以分两步实现首先,通过合成化学的方法构造出单个的分子;然后,把单个分子组装成大的结构。DNA分子由于其结构特点和特有的分子间相互作用特性(Watson-Crick互补规则),尤其适合于充当自组装的材料合成出具有复杂结构的物质。Winfree在理论上提出了二维DNA自组装是可以用来实现Wang Tile理论的,因此是具有图灵完全运算能力的计算模型。Winfree在Seeman的分子纳米结构理论的基础上,提出了通过Tile构造纳米结构的过程来实现计算的思想。随后逐渐发展成以Tile自组装为基础的DNA计算,Winfree证明了DNA分子的自组装过程具有计算的完备性,对DNA分子自组装的精细研究为在纳米尺寸上研制新型计算元件和开发针对DNA等生物大分子的高端操纵技术准备了条件。在实验上,Winfree首次证实了用DX模块进行DNA自组装是可行的。
有限域GF(2n)包含2n个元素,每个元素是由度为n且系数在GF(2)上取值的本原多项式G(x)=xn+gn-1xn-1+…+g1x+g0生成的。假设该域上两个多项式B(x)=bn-1xn-1+…+b1x+b0,H(x)=hn-1xn-1+…+h1x+h0,和本原多项式满足如下关系式 B(x)·H(x)≡1{mod G(x)} 或等价于 B(x)·H(x)+G(x)·F(x)=1 其中,F(x)也是该域上的多项式。在此,我们需求出多项式B的乘法逆元H(x)=B-1(x)modG(x)。
对该有限域上的任意一个元素B,有

则该元素的逆元可表示为

由于2n-2可分解为2+22+23+…+2n-1,则可用如下表达 式求解乘法逆元 在此基础上的除法模运算可作如下运算 {A/B}mod G={A·B-1}mod G={Amod G·(B-1mod G)}mod G ={A·(B-1modG)}modG 可用基于Fermat小定理的求逆方法和扩展Euclid算法来求一个多项式的乘法逆元,但效率较低。在此通过自组装运算的并行性,可在多项式组装时间内,用Θ(1)个不同的Tile类型,获得该域上乘法逆元多项式和除法模的运算结果。
在有限域GF(2n)中耗时较多的两个运算是模逆和除法模,因此求解有限域GF(2n)上的乘法逆元运算及除法模运算的效率问题是值得研究的。有限域GF(2n)上的乘法逆元运算及除法模运算具有良好的应用背景,如在大规模的电路设计中,这两种运算的运算效率尤为重要。另外,这两种运算较多应用在密码学相关的密码系统中,如在椭圆曲线密码体制及高级加密标准AES密码系统中,有限域GF(2n)中模逆和除法模运算是最重要的运算之一。比较简单的应用如线性反馈移位寄存序列。利用DNA自组装运算的并行性,可在多项式组装时间内,用Θ(1)个不同的Tile类型,获得有限域GF(2n)上乘法逆元多项式和除法模的运算结果。


发明内容
本发明的目的是提供一种基于DNA自组装技术实现有限域GF(2n)上乘法逆元和除法运算的方法及系统。
为达到上述目的,一方面,本发明的技术方案提供一种基于DNA自组装技术实现有限域GF(2n)上乘法逆元运算的方法,包括 将有限域GF(2n)上乘法逆元运算转化为多个多项式乘法模的运算; 利用DNA自组装技术求解两个多项式乘法模的运算,再将其扩展到多个多项式乘法模的运算,通过生物技术,提取出结果链。
其中,包括将除法模转化为一多项式与乘法逆元多项式的乘法模,即在乘法逆元结果的基础上,再做一次乘法模运算,通过DNA自组装运算的并行性,可在多项式组装时间内,用Θ(1)个不同的Tile类型,获得有限域GF(2n)上除法模的运算结果。
其中,利用DNA自组装技术建立两个多项式乘法模的模型,在此基础上,通过DNA自组装技术及其并行性的计算方法,借助于DNATile编码信息,通过Tile间的粘性末端进行组装,并通过生物技术中提取结果链的方法,得到有限域GF(2n)上两个多项式乘法模的结果。
其中,利用DNA自组装技术建立一个多项式乘法逆元的模型,在此基础上,通过DNA自组装技术及其并行的计算方法,借助于DNATile编码信息,通过Tile间的粘性末端进行组装,并通过生物技术中的提取结果链的方法,得到有限域GF(2n)上两个多项式除法模的结果。
其中,利用DNA自组装计算的并行性,可在多项式组装时间内,用Θ(1)个不同的Tile类型,获得有限域GF(2n)上乘法逆元多项式的运算结果。
其中,在计算乘法逆元结果的基础上,增加一次一个多项式与该乘法逆元结果的乘法模运算,利用DNA自组装计算的并行性,可在多项式组装时间内,用Θ(1)个不同的Tile类型,获得有限域GF(2n)上除法模多项式的运算结果。
另一方面,本发明的技术方案还提供一种DNA自组装计算系统,包括 输入模块,建立自组装模型所需要的基本Tile类型,包括边界Tile,运算Tile,从而给出运算模型的框架Tile结构; 输出模块,用于读取所述运算模块输出的代表结果的Tile。
其中,所述系统还包括 PCR仪,用于对DNA样品容器中的DNA样品进行DNA运算,从而筛选所需的DNA链,并进行PCR扩增; 电泳槽,用于将PCR扩增后的DNA样品放入电泳仪器中进行电泳,以分离所需序列; 凝胶成像系统,用于分析在电泳槽中跑完的电泳条带的结果。
其中,所述的PCR仪通过半巢式PCR方法进行PCR扩增。
上述技术方案具有如下优点本发明实施例将有限域GF(2n)上待求解的乘法逆元多项式转化为该域上多项式乘法模的计算,先给出两个多项式乘法模的计算过程,得到多个多项式乘法模的计算结果,此即为求解乘法逆元多项式的结果。在此基础上,将除法模转化为一多项式与乘法逆元多项式的乘法模,即在乘法逆元结果的基础上,再做一次乘法模运算。通过DNA自组装运算的并行性,可在多项式组装时间内,用Θ(1)个不同的Tile类型,获得该域上乘法逆元多项式和除法模的运算结果。



图1为本发明实施例中所用到的Tile结构类型; 图2为本发明实施例中计算两个多项式乘法模的基本框架; 图3为本发明实施例中计算有限域GF(2n)上多项式乘法逆元和除法模所需的基本Tile类型; 图4为本发明实施例中计算有限域GF(2n)上多项式乘法逆元和除法模中的输出Tile结构; 图5为本发明实施例中计算有限域GF(2n)上多项式乘法逆元和除法模中输入Tile结构; 图6为本发明实施例计算有限域GF(2n)上多项式乘法逆元过程中所需建立的基本框架; 图7为本发明实施例计算有限域GF(2n)上多项式除法模过程中所需建立的基本框架; 图8a为本发明实施例有限域GF(2n)上多项式乘法逆元的计算过程中计算该有限域上多项式乘法逆元所需构建的框架; 图8b为本发明实施例有限域GF(2n)上多项式乘法逆元的计算过程中不包含输出结果的组装体; 图8c为本发明实施例有限域GF(2n)上多项式乘法逆元的计算过程中包含输出结果的组装体; 图9a为本发明实施例中有限域GF(2n)上多项式除法模的计算过程中计算该有限域上多项式除法模所需构建的框架; 图9b为本发明实施例中有限域GF(2n)上多项式除法模的计算过程中不包含输出结果的组装体; 图9c为本发明实施例中有限域GF(2n)上多项式除法模的计算过程中包含输出结果的组装体。

具体实施例方式 下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
本发明实施例提供一种基于DNA自组装技术实现有限域GF(2n)上多项式乘法逆元和除法模的运算方案,主要包括如下三个步骤 第一步,将有限域GF(2n)上多项式乘法逆元转化为多个多项式的模乘。
第二步,先求出两个多项式的模乘,再求出多个多项式的模乘,最后的结果即为多项式乘法逆元的结果。
第三步,在乘法逆元结果的基础上,将一个多项式与该乘法逆元的结果做一次乘法模运算,得到多项式除法模的运算结果。
下面结合附图,以详细说明本发明实施例提供的技术方案。
第一步,将有限域GF(2n)上多项式乘法逆元转化为多个多项式的模乘。
如前面所介绍,假设GF(2n)上的元素B=bn-1xn-1+…+b1x+b0,有 而又有



同时标记以下模乘的结果 Di=(C1*xi)mod G(i=1,2,3…n-1), M1=(B2·B4)mod G, M2={(B2·B4)modG·B8}modG, … Mn-3={{(C1·C2)modG·C3}modG…Cn-1}modG。
... 则所需求的乘法逆元结果为H=Hn-2。
第二步,先求出两个多项式的模乘,再求出多个多项式的模乘,最后的结果即为多项式乘法逆元的结果。
首先计算

其中 Di=(C1*xi)modG(i=1,2,3…n-1)。
对于已知的C1,即可计算 如图1所示,在本发明中所用到的Tile类型及其结构。图2即为计算两个多项式乘法模时所建立的运算模型框架。在此基础上,可计算两个多项式乘法模结果。
对给定的有限域,在经过第一步转化之后,可得有限域GF(2n)上多个多项式乘法模的运算模型,图3为本发明实施例中计算有限域GF(2n)上多项式乘法逆元和除法模所需的基本Tile类型。图4为本发明实施例中计算有限域GF(2n)上多项式乘法逆元和除法模中的输出Tile结构。图5为本发明实施例中计算有限域GF(2n)上多项式乘法逆元和除法模中输入Tile结构。
对于本发明中给出的实例,在有限域GF(2n)上,其本原多项式设为G=x4+x+1,同时假设A=x3+x2+x,B=x3+x+1,需分别求出B-1modG和{A/B}modG。
通过公式

x4=x+1,x6=x3+x2,x8=x2+1,x12=x3+x2+x+1,x16=x,x24=x3+x,即可得到B2,B4,B8,B2=x3+1,B4=x3+x2+1,B8=x3+x2+x。
通过公式B-1modG={B2·B4·B8}modG={(B2·B4)modG·B8}modG,将其转化为两次两个多项式的模乘。基于步骤一和步骤二,根据构建的基本Tile类型,以及建立的基于自组装模型,可创建框架模型,该模型包含输入Tile。如图6本所示,为该域上计算多项式乘法逆元过程中所需要建立的基本框架。图7本为该域上计算多项式除法模过程中所需要建立的基本框架。
通过自组装运算的并行性以及根据Watson-Crick互补配对原则,同时借助生物技术,PCR,电泳和序列测定,提取自组装体增长过程所生成的代表结果的报告链。PCR,即聚合酶链式反应,是一种DNA的快速扩增技术,就是利用DNA聚合酶对特定基因做体外或试管内In Vitro的大量合成。基本上它是利用DNA聚合酶进行专一性的连锁复制,目前常用的技术,可以将一段基因复制为原来的一百亿至一千亿倍。其扩增效率之高就象核裂变的“链式反应”那样。PCR技术通过两个短的称为引物的DNA小片段和一种耐热的酶的作用,可以在3个小时内把特定的DNA量提高1000万倍。如图8a、图8b、图8c中粗直线所示,该图为本发明实施例在该有限域上多项式乘法逆元的计算过程。图8(a)为本发明实施例中计算该有限域上多项式乘法逆元所需构建的框架,图8(b)为不包含输出结果的组装体,图8(c)为包含输出结果的组装体。所提取的链包含输入Tile和输出Tile,通过提取该链,可得到在该域上多项式乘法逆元的结果B-1mod G=x2+1。
第三步,在乘法逆元结果的基础上,将一个多项式与该乘法逆元的结果做一次乘法模运算,得到多项式除法模的运算结果。
{A/B}modG={A·B-1}modG={AmodG·(B-1modG)}modG ={A·(B-1 modG)}modG 将除法模运算转化为计算一个多项式与该乘法逆元的结果的模乘。通过自组装运算的并行性以及根据Watson-Crick互补配对原则,同时借助生物技术,PCR,电泳和序列测定,提取自组装体增长过程所生成的代表结果的报告链,如图9a、图9b、图9c中粗直线所示,图9a为本发明实施例中计算该有限域上多项式除法模所需构建的框架,图9b为不包含输出结果的组装体,图9c为包含输出结果的组装体。在本实例中,可计算得到{A/B}mod G=x+1。
有限域GF(2n)上的乘法逆元运算及除法模运算具有良好的应用背景,这两种运算较多应用在密码学相关的密码系统中,如在椭圆曲线密码体制中,有限域GF(2n)中模逆和除法模运算是最重要的运算之一。对于求解基于有限域GF(2n)上椭圆曲线离散对数问题的公钥密码时,最关键的运算即是有限域GF(2n)中乘法逆元和除法模运算。
将椭圆曲线离散对数问题嵌入到加密系统的方法也有多种。以ElGamal系统为例加以说明。假设E为定义在GF(2n)上的一条椭圆曲线,G∈E为该椭圆曲线上一个公开的点。收消息者B随机选择一个保密正整数a,并将密钥aG公开。发消息者A为了发送消息m给B,随机选择一个整数k,并发送点(kG,Pm+k(aG))。收消息者B为了获取该消息,他首先将点G的第一个坐标乘上自己的保密整数a,然后用点的第二个坐标减去该值,即可得到消息明文。因而攻击者如果可以从公钥G和aG中计算出整数a,那么就可以破解任何发送给B的消息。
在基于ElGamal系统椭圆曲线离散对数问题中,攻击者需穷举所有点对的点乘结果,即最基本的运算是点乘运算,而基于有限域GF(2n)上的点乘运算,最关键的运算即为乘法逆元运算和模除运算,因此这两种运算的效率直接影响攻击者破解消息的复杂性。本说明解决了基于DNA自组装技术求解有限域GF(2n)上的乘法逆元运算及除法模运算方法。通过生物技术及DNA自组装技术的原理进行,以及通过自组装技术的并行性,可同时将运算结果即该椭圆曲线上所有的点乘结果提取出来。这就大大提高了攻击者破解消息的效率。
就椭圆曲线密码来说,各种椭圆曲线密码的安全性都与求解相应椭圆曲线离散对数问题的困难性等价。椭圆曲线离散对数问题实际上是一个纯粹的数学问题。对于椭圆曲线离散对数问题的计算类似于对有限域乘法群的离散对数问题的计算,在过去的十多年里,椭圆曲线离散对数问题受到了全世界前沿数学家的极大关注,对椭圆曲线离散对数问题的算法可以分为两大类对于所有椭圆曲线上离散对数问题的算法和对于特殊椭圆曲线上离散对数问题的算法。目前,对于所有椭圆曲线有限群上离散对数问题的算法,都是从一般群G上离散对数算法平移而来。一般而言,一般群G上离散对数问题算法可分为两类Index Calculus算法和碰撞搜索法。Index Calculus算法具有亚指数时间复杂度,是目前解决一般群G上离散对数问题的最好算法,但对椭圆曲线离散对数问题,该算法无论从理论上还是从实际上看,都不可行;碰撞搜索法不同于上面说的Index算法,这一类算法可以用于求解椭圆曲线离散对数问题,目前最好的碰撞搜索法有Pollard.p算法和Pohlig.Hellman算法,但具有纯指数时间复杂度。对一般的椭圆曲线离散对数问题,除了上面介绍的方法外,再无其它更好的求解方法。在此,本发明主要是利用一种基于DNA自组装技术实现有限域GF(2n)上乘法逆元和除法运算。
目前为止,一个测试试管已可产生1018个DNA链,它可使1018位数据以数据并行的方式并行运行,即DNA计算可提供相当于1018个处理单元的并行性和D(1018)的存储空间.DNA计算的本质是将传统计算机求解NP完全问题的时间代价转换为DNA计算的空间即生物分子数目代价,因此,在基于穷举的DNA计算算法中,图灵机算法中纯指数阶的时间转化成了DNA计算算法中的纯指数量级的DNA链数,相应地,DNA计算可以在多项式时间内得到NP完全问题的解,使得为破解建立在NP完全难解数学问题的公钥密码系统创造了可能性。对于解决基于ElGamal系统椭圆曲线离散对数问题,利用DNA自组装技术实现有限域GF(2n)上乘法逆元和除法运算求出点乘运算的结果,通过利用自组装计算的并行性,可在多项式组装时间内,用Θ(1)个不同的Tile类型,可求解有限域GF(2n)上乘法逆元和除法模的计算结果问题。通过生物技术及DNA自组装技术的原理,可将该椭圆曲线上所有的点乘结果提取出来,可在多项式时间里完成穷举椭圆曲线上所有点乘结果,从而在多项式时间里解决基于ElGamal系统椭圆曲线离散对数问题。这在复杂度问题上较其他方法而言有实质性的改进。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.基于DNA自组装技术实现有限域GF(2n)上乘法逆元运算的方法,其特征在于,包括
将有限域GF(2n)上乘法逆元运算转化为多个多项式乘法模的运算;
利用DNA自组装技术求解两个多项式乘法模的运算,再将其扩展到多个多项式乘法模的运算,通过生物技术,提取出结果链。
2.如权利要求1所述的方法,其特征在于,包括
将除法模转化为一多项式与乘法逆元多项式的乘法模,即在乘法逆元结果的基础上,再做一次乘法模运算,通过DNA自组装运算的并行性,可在多项式组装时间内,用Θ(1)个不同的Tile类型,获得有限域GF(2n)上除法模的运算结果。
3.如权利要求1所述的方法,其特征在于,利用DNA自组装技术建立两个多项式乘法模的模型,在此基础上,通过DNA自组装技术及其并行性的计算方法,借助于DNA Tile编码信息,通过Tile间的粘性末端进行组装,并通过生物技术中提取结果链的方法,得到有限域GF(2n)上两个多项式乘法模的结果。
4.如权利要求2所述的方法,其特征在于,利用DNA自组装技术建立一个多项式乘法逆元的模型,在此基础上,通过DNA自组装技术及其并行的计算方法,借助于DNA Tile编码信息,通过Tile间的粘性末端进行组装,并通过生物技术中的提取结果链的方法,得到有限域GF(2n)上两个多项式除法模的结果。
5.如权利要求3所述的方法,其特征在于,利用DNA自组装计算的并行性,可在多项式组装时间内,用Θ(1)个不同的Tile类型,获得有限域GF(2n)上乘法逆元多项式的运算结果。
6.如权利要求4所述的方法,其特征在于,在计算乘法逆元结果的基础上,增加一次一个多项式与该乘法逆元结果的乘法模运算,利用DNA自组装计算的并行性,可在多项式组装时间内,用Θ(1)个不同的Tile类型,获得有限域GF(2n)上除法模多项式的运算结果。
7.一种DNA自组装计算系统,其特征在于,包括
输入模块,建立自组装模型所需要的基本Tile类型,包括边界Tile,运算Tile,从而给出运算模型的框架Tile结构;
输出模块,用于读取所述运算模块输出的代表结果的Tile。
8.如权利要求7所述的DNA自组装计算系统,其特征在于,所述系统还包括
PCR仪,用于对DNA样品容器中的DNA样品进行DNA运算,从而筛选所需的DNA链,并进行PCR扩增;
电泳槽,用于将PCR扩增后的DNA样品放入电泳仪器中进行电泳,以分离所需序列;
凝胶成像系统,用于分析在电泳槽中跑完的电泳条带的结果。
9.如权利要求8所述的DNA自组装计算系统,其特征在于,所述的PCR仪通过半巢式PCR方法进行PCR扩增。
全文摘要
本发明涉及计算机和生物技术,公开了一种基于DNA自组装技术实现有限域GF(2n)上乘法逆元和除法运算。基于DNA自组装技术实现有限域GF(2n)上乘法逆元和除法运算方案包括对于有限域GF(2n)上的乘法逆元运算,将其转化为多个多项式乘法模运算,利用自组装计算的并行性,可在多项式组装时间内,用Θ(1)个不同的Tile类型,可求解有限域GF(2n)上乘法逆元的计算问题。在计算乘法逆元结果的基础上,增加一次一个多项式与该乘法逆元结果的乘法模运算,则可获得有限域GF(2n)上除法模的运算结果。
文档编号C12Q1/68GK101788900SQ20091007684
公开日2010年7月28日 申请日期2009年1月22日 优先权日2009年1月22日
发明者许进, 程珍, 刘向荣, 陈智华, 黄玉芳, 张勋才 申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1