基于dna技術(shù)的非對(duì)稱加密與簽名方法
【專利摘要】本發(fā)明提出一個(gè)以DNA分子作為信息載體,利用DNA分子的生物學(xué)特性實(shí)現(xiàn)的非對(duì)稱加密與簽名系統(tǒng)——DNA-PKC(DNA-public?key?cryptosystem)。本發(fā)明將結(jié)合現(xiàn)代基因工程技術(shù)和密碼學(xué)技術(shù)進(jìn)行設(shè)計(jì),DNA-PKC的密鑰由加密鑰和解密鑰組成,加密者之間互相不能解密,只有解密鑰的擁有者才能解密所有密文。DNA-PKC的密鑰與密文均為生物分子實(shí)物,在應(yīng)用協(xié)議等方面具有不同的要求。在安全性方面,DNA-PKC能夠?qū)ξ磥?lái)的量子計(jì)算機(jī)的攻擊免疫。
【專利說(shuō)明】基于DNA技術(shù)的非對(duì)稱加密與簽名方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種通信以及傳輸?shù)募用芘c簽名方法,具體涉及到一種基于DNA技術(shù)的非對(duì)稱性加密與簽名方法。
【背景技術(shù)】
[0002]密碼學(xué)是對(duì)信息進(jìn)行編碼實(shí)現(xiàn)隱蔽信息的一門科學(xué),其存在與發(fā)展總是和人類社會(huì)對(duì)信息的處理能力或者計(jì)算能力的進(jìn)步息息相關(guān)?,F(xiàn)代社會(huì)隨著電子計(jì)算技術(shù)在微型化方面逐漸接近物理極限,人類社會(huì)已經(jīng)致力于研究新型的計(jì)算技術(shù),這可能對(duì)密碼技術(shù)的未來(lái)發(fā)展產(chǎn)生深遠(yuǎn)的影響。在當(dāng)前的研究中,最有希望的是生物計(jì)算和量子計(jì)算,由此可能會(huì)推動(dòng)生物密碼和量子密碼成為未來(lái)重要的密碼技術(shù)。
[0003]從20世紀(jì)70年代初Wiesner提出不成熟的量子密碼概念開(kāi)始,量子密碼的研究已經(jīng)進(jìn)行了近40年。雖然今天的量子密碼還遠(yuǎn)遠(yuǎn)不能撼動(dòng)數(shù)學(xué)密碼的主體地位,但在量子通信方面已經(jīng)取得了可喜的進(jìn)展。相對(duì)于量子密碼的進(jìn)步,量子計(jì)算雖然具有直接威脅現(xiàn)代密碼學(xué)的驚人計(jì)算潛力,但要實(shí)現(xiàn)電子計(jì)算機(jī)那樣精巧的計(jì)算仍然非常遙遠(yuǎn)。與之形成對(duì)比的是,在DNA(生物)計(jì)算方面,從1994年Adleman進(jìn)行的第一次DNA計(jì)算到現(xiàn)在經(jīng)歷了 15年的發(fā)展,世界DNA計(jì)算大會(huì)舉行了 15屆,不同的計(jì)算方法被不斷提出并且在實(shí)驗(yàn)室中的計(jì)算能力越來(lái)越強(qiáng),甚至已經(jīng)被用來(lái)攻擊NP-C問(wèn)題與傳統(tǒng)的數(shù)學(xué)密碼;而0嫩(生物)密碼的研究卻沉默許多。
[0004]DNA是脫氧核糖核酸的縮寫,從構(gòu)成上看,是由核苷酸組成的一種生物大分子。DNA芯片,也稱作基因芯片、寡核苷酸芯片或者生物芯片,是用原位合成的寡核苷酸或者噴涂的cDNA探針制作的。大量的DNA探針被放到玻璃或者硅片上,通過(guò)大量與芯片上的探針互補(bǔ)的探針標(biāo)記后,被退火到芯片上能獲得各種各樣的基因信息?;诖?,本發(fā)明提出一個(gè)以DNA分子作為信息載體,利用DNA分子的生物學(xué)特性實(shí)現(xiàn)的非對(duì)稱加密與簽名系統(tǒng)——DNA-PKC(DNA-publie key cryptosystem)。
【發(fā)明內(nèi)容】
[0005]生物密碼在通信系統(tǒng)模型上和傳統(tǒng)的密碼基本一致,也是由消息發(fā)送者、消息接收者以及攻擊者組成。就本發(fā)明DNA-PKC而言,其也如同傳統(tǒng)的公鑰密碼系統(tǒng),需要2個(gè)不同的密鑰,即私鑰dk和公鑰ek。公鑰ek被分成多個(gè)份額,而私鑰dk只有一個(gè)份額。任何一個(gè)擁有公鑰ek份額的人都可以很容易地把明文加密成密文,但不能把其他份額加密的密文解密成明文。而擁有私鑰dk的人,可以很容易地把所有用公鑰份額加密的密文解密成明文。其他如雜交條件,也可以作為解密鑰的組成部分。在DNA-PKC加密系統(tǒng)中,一般一個(gè)探針集合被選作公鑰ek,另一個(gè)探針集合被選作私鑰dk。利用公鑰的份額可以制作出密文來(lái),當(dāng)密文與私鑰dk雜交時(shí),結(jié)果會(huì)滿足某個(gè)標(biāo)準(zhǔn),從而恢復(fù)出用雜交信號(hào)表示的信息。類似地,在DNA-PKC簽字系統(tǒng)中,私鑰的所有者利用私鑰制作簽名,其他人利用公鑰的份額可以進(jìn)行驗(yàn)證,但無(wú)法偽造。[0006]本發(fā)明,基于DNA技術(shù)的非對(duì)稱性加密和簽名方法,系中國(guó)國(guó)家自然科學(xué)基金(項(xiàng)目編號(hào):61272440,60903180)的研究成果。其實(shí)現(xiàn)的步驟為:密鑰生成、加密與解密以及簽名與驗(yàn)證。具體包括以下內(nèi)容:
[0007]步驟一,密鑰生成
[0008]1.準(zhǔn)備候選加/解密鑰探針集合。取2個(gè)探針集合,一個(gè)探針集合作為加密鑰候選,另一個(gè)集合是探針混合液,作為候選的解密鑰。加密鑰候選集合中包含多個(gè)純化的探針,探針可以從自然界中選取或者是人工合成。解密鑰候選探針集合并不是隨意選取的,而是要和加密鑰有一定關(guān)聯(lián)的?;旌先芤嚎梢詠?lái)自以往實(shí)驗(yàn)或現(xiàn)場(chǎng)配制,但要保證其中含有足夠數(shù)量的候選加密鑰的互補(bǔ)探針或相關(guān)的能起雜交反應(yīng)的探針。
[0009]2.篩選出加/解密鑰探針集合。每種探針單獨(dú)制作一個(gè)點(diǎn),為了質(zhì)量控制的要求,每個(gè)點(diǎn)可以制作多個(gè)副本。把候選加密探針芯片與候選解密探針在一個(gè)設(shè)定的雜交條件下進(jìn)行雜交。這個(gè)雜交條件的設(shè)定可以依據(jù)以往的經(jīng)驗(yàn)值。當(dāng)芯片上有一定數(shù)量的探針信號(hào)(如超過(guò)20%?30% ),則雜交結(jié)果比較理想,可以進(jìn)行探針挑選工作。否則修改雜交條件重新進(jìn)行實(shí)驗(yàn)。對(duì)于探針雜交結(jié)果,可以設(shè)定一個(gè)特定的探針挑選條件,如雜交信號(hào)強(qiáng)度高于某一特定值的探針?lè)Q為I探針,雜交信號(hào)強(qiáng)度低于某一特定值的探針?lè)Q為O探針,其余探針丟棄。由O和I探針組成的集合就是加密鑰集合。也可以只挑選I探針,然后隨機(jī)選擇探針作為O探針。
[0010]步驟二:加密與解密
[0011]1.密鑰分發(fā)。如果Bob想加入DNA-PKC密碼系統(tǒng),他隨機(jī)選擇他的密鑰對(duì)(ek,dk),對(duì)dk保密作為解密鑰。加密鑰探針ek的各個(gè)份額可以分發(fā)給指定的接收者。
[0012]2.加密。任意一個(gè)人,比如Alice,想發(fā)送消息給Bob,她可以先得到Bob的加密鑰的一個(gè)份額,然后利用這個(gè)份額根據(jù)明文制作芯片,也就得到了相應(yīng)的密文。制做芯片的方法是先把明文按照一定的編碼規(guī)則轉(zhuǎn)化成二進(jìn)制數(shù)字串,然后在芯片上對(duì)應(yīng)于O的位置放上O探針,對(duì)應(yīng)于I的位置放上I探針。這樣,她就可以通過(guò)公開(kāi)的途徑把芯片發(fā)送給Bob0
[0013]3.解密。Bob使用他的解密鑰dk和Alice的密文芯片雜交,然后分析雜交信號(hào)從而得到明文。
[0014]如果其他人比如Tom也想給Bob發(fā)送信息,他只需要重復(fù)Alice的工作即可。
[0015]步驟三:簽名與驗(yàn)證
[0016]1.密鑰分發(fā)。如果Bob想加入DNA-PKC密碼系統(tǒng),他隨機(jī)選擇自己的密鑰對(duì)(vk,sk),對(duì)Sk保密作為簽名鑰。驗(yàn)證鑰Vk被分成多個(gè)份額分發(fā)到有意的驗(yàn)證者手中。
[0017]2.簽名過(guò)程。Bob根據(jù)要簽名的信息,使用簽名鑰sk制作芯片作為簽名。將待簽名的消息轉(zhuǎn)換成二進(jìn)制矩陣,在芯片上對(duì)應(yīng)于O的位置放上O探針,對(duì)應(yīng)于I的位置放上I探針。芯片可以通過(guò)公開(kāi)的途徑發(fā)送給指定的接收者。
[0018]3.簽名驗(yàn)證。一個(gè)指定的接收者如Alice收到來(lái)自Bob的簽名芯片后,她可以使用得到的Bob的驗(yàn)證鑰的一個(gè)份額同簽名芯片雜交,然后根據(jù)雜交信號(hào)恢復(fù)出Bob的簽名。
[0019]如果另一個(gè)人比如Tom也想驗(yàn)證Bob的簽名,他只需要重復(fù)Alice的過(guò)程。注意至IJ,Tom的驗(yàn)證鑰份額和Alice的份額可以是不同的,雖然他們都可以執(zhí)行驗(yàn)證過(guò)程,但都不能偽造Bob的簽名進(jìn)彳丁欺騙。[0020]本發(fā)明技術(shù)方案的顯著性進(jìn)步和特點(diǎn)主要體現(xiàn)在=DNA-PKC的信息載體是生物分子,在計(jì)算方面的復(fù)雜性很容易做到遠(yuǎn)高于128位AES算法。依照現(xiàn)有的技術(shù)水平,對(duì)特殊探針芯片測(cè)序困難,因而生物學(xué)的安全性將會(huì)保持相當(dāng)長(zhǎng)的時(shí)間。在僅考慮數(shù)學(xué)的安全性的前提下,DNA-PKC仍然具有相當(dāng)程度的安全性??紤]一個(gè)簡(jiǎn)單的示例,加密探針的數(shù)量非常少,僅僅由128個(gè)探針組成,其中包含64個(gè)I探針和64個(gè)O探針。那么,攻擊者利用數(shù)
學(xué)計(jì)算的方法進(jìn)行窮舉攻擊,可能的密鑰量為Cg8 =128!/(64!x64 ! ) = 2.4X 1037。對(duì)使用
128位密鑰的AES算法窮舉攻擊時(shí),可能的密鑰量為2128 = 3.4X IO380 二者的密鑰搜索計(jì)算量已經(jīng)接近,能夠?qū)ξ磥?lái)的量子計(jì)算機(jī)的攻擊免疫。在DNA-PKC中,從公鑰的一個(gè)份額推導(dǎo)不出解密鑰,也推導(dǎo)不出另外的加密鑰份額,因而不能解密其他人加密的密文。
[0021]本發(fā)明中,DNA-PKC的密鑰不再是數(shù)字,而是生物分子或者一些秘密的信息,比如雜交條件、讀取的規(guī)則等等。密文是以生物分子為載體變化出的各種形式,如混合物溶液或者芯片等。密文和密鑰的傳遞方式也不再是通過(guò)現(xiàn)有的計(jì)算機(jī)網(wǎng)絡(luò),而是物理的,或未來(lái)可能出現(xiàn)的其他方式。在DNA-PKC中,加密或者簽名的過(guò)程是制作芯片,而解密或者驗(yàn)證的過(guò)程是芯片雜交。在加密的應(yīng)用中,雜交條件是保存在解密者的手中不公開(kāi)的,而在簽名的應(yīng)用中,雜交條件要公開(kāi)給驗(yàn)證者。雜交條件,包括溫度、濃度等等,對(duì)雜交結(jié)果有巨大的影響?!揪唧w實(shí)施方式】
[0022]本發(fā)明中,基于DNA技術(shù)的非對(duì)稱性加密和簽名方法的具體實(shí)驗(yàn)步驟類似,下面僅對(duì)基于DNA技術(shù)的非對(duì)稱性加密方法結(jié)合實(shí)例進(jìn)行詳細(xì)說(shuō)明,其具體步驟如下:
[0023]第一步:密鑰生成
[0024]1.準(zhǔn)備候選加/解密鑰探針集合。本發(fā)明中,從中國(guó)生物芯片上海國(guó)家工程中心已有的基因?qū)嶒?yàn)中挑選探針作為密鑰,基因來(lái)源對(duì)外保密。芯片雜交信號(hào)標(biāo)準(zhǔn)值有12個(gè)(Cy5_FM, Cy5_BM, Cy5_BSD, Cy5_Signal, Cy5_SN, Cy3_FM, Cy3_BM, Cy3_BSD, Cy3_Signal,Cy3_SN, Sat, flag),以Cy3_Signal值為標(biāo)準(zhǔn)挑選探針。然后,取2個(gè)探針集合,一個(gè)探針集合作為加密鑰候選,另一個(gè)集合是探針混合液,作為候選的解密鑰。
[0025]2.篩選出加/解密鑰探針集合。每種探針單獨(dú)制作一個(gè)點(diǎn),為了質(zhì)量控制的要求,每個(gè)點(diǎn)制作多個(gè)副本。把候選加密探針芯片與候選解密探針在一個(gè)設(shè)定的雜交條件下進(jìn)行雜交。這個(gè)雜交條件的設(shè)定依據(jù)以往的經(jīng)驗(yàn)值。當(dāng)芯片上有一定數(shù)量的探針信號(hào)(如超過(guò)20%~30% ),則雜交結(jié)果比較理想,可以進(jìn)行探針挑選工作。否則修改雜交條件重新進(jìn)行實(shí)驗(yàn)。對(duì)于探針雜交結(jié)果,本發(fā)明中,規(guī)定雜交信號(hào)強(qiáng)度高于8000的探針作為I探針,雜交信號(hào)強(qiáng)度低于2000的探針作為O探針。
[0026]第二步,加密與解密
[0027]1.密鑰分發(fā)。從實(shí)驗(yàn)樣本中分別選取兩組不同的加密鑰PKa和PKb分發(fā)給兩個(gè)指定的加密者A和B,每個(gè)加密鑰分別含有32種O探針和32種I探針,并將對(duì)應(yīng)的雜交溶液保密作為解密鑰SK。
[0028]2.加密。用加密鑰PKa和PKb加密同一句話,也就是著名的二戰(zhàn)時(shí)期的秘文”June6invasion:Normandy”。加密的過(guò)程如下,首先將明文消息按照ASCII碼的編碼方式轉(zhuǎn)換成二進(jìn)制序列,得到如下的數(shù)據(jù)(圖1):[0029]0100101001110101 0110111001100101 0010000000110110 00100000011010010110111001110110
[0030]0110000101110011 0110100101101111 0110111000111010 00100000010011100110111101110010
[0031]0110110101100001 0110111001100100 0111100100000000
[0032]圖1明文消息二進(jìn)制序列
[0033]然后把這些數(shù)據(jù)按行排列成一個(gè)13X16的數(shù)字矩陣,根據(jù)這個(gè)數(shù)字矩陣,利用芯片中心的點(diǎn)樣機(jī)制作密文芯片上的探針矩陣。具體的方法為,對(duì)于數(shù)字矩陣上是O的點(diǎn),從加密鑰中選取O探針點(diǎn)樣到芯片矩陣的對(duì)應(yīng)位置;對(duì)于數(shù)字矩陣上是I的點(diǎn),從加密鑰中選取I探針點(diǎn)樣到芯片矩陣的對(duì)應(yīng)位置。為增強(qiáng)對(duì)比性,實(shí)驗(yàn)中把兩個(gè)密文矩陣放在同一個(gè)芯片上,每個(gè)矩陣重復(fù)3次。
[0034]3.解密。解密時(shí)把用加密鑰PKa和PKb加密得到的密文分別和同一個(gè)解密鑰SK雜交,當(dāng)解密鑰中的CDNA樣本退火到芯片上的時(shí)候,就能得到理想的雜交結(jié)果。圖2是在激光共聚焦顯微鏡下看到的雜交結(jié)果,其中亮點(diǎn)(此處呈現(xiàn)自色)也就是雜交信號(hào)強(qiáng)度高的點(diǎn)表示1,暗點(diǎn)也就是雜交信號(hào)強(qiáng)度低的點(diǎn)表示O。根據(jù)雜交圖譜,以Cy3_Signal強(qiáng)度為標(biāo)準(zhǔn)解密。由于數(shù)據(jù)很多,在此僅列出圖2中第I個(gè)探針矩陣的第I行16個(gè)點(diǎn)位數(shù)據(jù)作為示例:(4187,65285,915,1056,65268,1403,65264,1831,1395,65228,65209,65222,2507,65183,2151,65174)。設(shè)定解讀標(biāo)準(zhǔn)為信號(hào)強(qiáng)度在5000以下的為0,10000以上的為1,中間的數(shù)據(jù)點(diǎn)拋棄。由此可以把雜交信號(hào)轉(zhuǎn)換成二進(jìn)制序列,進(jìn)而根據(jù)ASCII碼的編碼規(guī)則恢復(fù)出明文。從圖2可以看出,分別用兩個(gè)不同的加密鑰加密的密文,在解密時(shí)和同一個(gè)解密鑰雜交,獲得了基本相同的雜交圖譜。
[0035]
[0036]綜上所述,本發(fā)明結(jié)合了現(xiàn)代基因工程技術(shù)和密碼學(xué)技術(shù)進(jìn)行設(shè)計(jì),DNA-PKC的密鑰由加密鑰和解密鑰組成,加密者之間互相不能解密,只有解密鑰的擁有者才能解密所有密文。DNA-PKC的密鑰與密文均為生物分子實(shí)物,在應(yīng)用協(xié)議等方面具有不同的要求。在安全性方面,DNA-PKC能夠?qū)ξ磥?lái)的量子計(jì)算機(jī)的攻擊免疫。
[0037]以上所述,僅是本發(fā)明的較佳實(shí)施例子。并非對(duì)本發(fā)明作任何形式上的限制,凡是依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對(duì)以上實(shí)例所作的任何簡(jiǎn)單修改、等同變化與裝飾,均仍屬于本發(fā)明的范圍內(nèi)。
【專利附圖】
【附圖說(shuō)明】
[0038]圖1明文消息二進(jìn)制序列
[0039]圖2解密結(jié)果
【權(quán)利要求】
1.一種基于DNA技術(shù)的非對(duì)稱加密和簽名方法,包括以下步驟: 步驟一:密鑰生成 (1.)準(zhǔn)備候選加/解密鑰探針集合。取2個(gè)探針集合,一個(gè)探針集合作為加密鑰候選,另一個(gè)集合是探針混合液,作為候選的解密鑰。加密鑰候選集合中包含多個(gè)純化的探針,探針可以從自然界中選取或者是人工合成。解密鑰候選探針集合并不是隨意選取的,而是要和加密鑰有一定關(guān)聯(lián)的?;旌先芤嚎梢詠?lái)自以往實(shí)驗(yàn)或現(xiàn)場(chǎng)配制,但要保證其中含有足夠數(shù)量的候選加密鑰的互補(bǔ)探針或相關(guān)的能起雜交反應(yīng)的探針。 (2.)篩選出加/解密鑰探針集合。每種探針單獨(dú)制作一個(gè)點(diǎn),為了質(zhì)量控制的要求,每個(gè)點(diǎn)可以制作多個(gè)副本。把候選加密探針芯片與候選解密探針在一個(gè)設(shè)定的雜交條件下進(jìn)行雜交。這個(gè)雜交條件的設(shè)定可以依據(jù)以往的經(jīng)驗(yàn)值。當(dāng)芯片上有一定數(shù)量的探針信號(hào)(如超過(guò)20%?30% ),則雜交結(jié)果比較理想,可以進(jìn)行探針挑選工作。否則修改雜交條件重新進(jìn)行實(shí)驗(yàn)。對(duì)于探針雜交結(jié)果,可以設(shè)定一個(gè)特定的探針挑選條件,如雜交信號(hào)強(qiáng)度高于某一特定值的探針?lè)Q為I探針,雜交信號(hào)強(qiáng)度低于某一特定值的探針?lè)Q為O探針,其余探針丟棄。由O和I探針組成的集合就是加密鑰集合。也可以只挑選I探針,然后隨機(jī)選擇探針作為O探針。 步驟二:加密與解密 (1.)密鑰分發(fā)。如果Bob想加入DNA-PKC密碼系統(tǒng),他隨機(jī)選擇他的密鑰對(duì)(ek,dk),對(duì)dk保密作為解密鑰。加密鑰探針ek的各個(gè)份額可以分發(fā)給指定的接收者。 (2.)加密。任意一個(gè)人,比如Alice,想發(fā)送消息給Bob,她可以先得到Bob的加密鑰的一個(gè)份額,然后利用這個(gè)份額根據(jù)明文制作芯片,也就得到了相應(yīng)的密文。制做芯片的方法是先把明文按照一定的編碼規(guī)則轉(zhuǎn)化成二進(jìn)制數(shù)字串,然后在芯片上對(duì)應(yīng)于O的位置放上O探針,對(duì)應(yīng)于I的位置放上I探針。這樣,她就可以通過(guò)公開(kāi)的途徑把芯片發(fā)送給Bob。 (3.)解密。Bob使用他的解密鑰dk和Alice的密文芯片雜交,然后分析雜交信號(hào)從而得到明文。 步驟三:簽名與驗(yàn)證 (1.)密鑰分發(fā)。如果Bob想加入DNA-PKC密碼系統(tǒng),他隨機(jī)選擇自己的密鑰對(duì)(vk,sk),對(duì)sk保密作為簽名鑰。驗(yàn)證鑰vk被分成多個(gè)份額分發(fā)到有意的驗(yàn)證者手中。 (2.)簽名過(guò)程。Bob根據(jù)要簽名的信息,使用簽名鑰sk制作芯片作為簽名。將待簽名的消息轉(zhuǎn)換成二進(jìn)制矩陣,在芯片上對(duì)應(yīng)于O的位置放上O探針,對(duì)應(yīng)于I的位置放上I探針。芯片可以通過(guò)公開(kāi)的途徑發(fā)送給指定的接收者。 (3.)簽名驗(yàn)證。一個(gè)指定的接收者如Alice收到來(lái)自Bob的簽名芯片后,她可以使用得到的Bob的驗(yàn)證鑰的一個(gè)份額同簽名芯片雜交,然后根據(jù)雜交信號(hào)恢復(fù)出Bob的簽名。
【文檔編號(hào)】H04L9/32GK103856329SQ201210510330
【公開(kāi)日】2014年6月11日 申請(qǐng)日期:2012年12月4日 優(yōu)先權(quán)日:2012年12月4日
【發(fā)明者】盧明欣, 來(lái)學(xué)嘉, 何菊香 申請(qǐng)人:盧明欣, 來(lái)學(xué)嘉, 何菊香