一種應(yīng)用于可編程器件的加密、解密方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及電子技術(shù)領(lǐng)域,尤其涉及一種應(yīng)用于可編程器件的加密、解密方法及 裝置。
【背景技術(shù)】
[0002] 密碼學(xué)研究的是如何隱秘所要傳遞的信息,從而不被不該知道的一方知道信息的 真實(shí)內(nèi)容。如今隨著科技進(jìn)步,密碼學(xué)不再是僅用于對(duì)信息加密,已經(jīng)擴(kuò)展到數(shù)字簽名、身 份認(rèn)證、安全多方計(jì)算等諸多領(lǐng)域。而在集成電路中,對(duì)于關(guān)鍵信息的加密算法也成為芯片 安全體系中至關(guān)重要的一環(huán)。
[0003] 典型的密碼算法體制依照使用的密鑰個(gè)數(shù)不同可分為對(duì)稱(chēng)密鑰和非對(duì)稱(chēng)密鑰碼。 在對(duì)稱(chēng)加密體制中,對(duì)信息進(jìn)行加密與解密時(shí),均共用一個(gè)密鑰完成處理。這種單密鑰的保 密方式需要通信雙方均持有密鑰,并且相互信任對(duì)方不會(huì)外泄密鑰信息。針對(duì)明文的處理 方式不同對(duì)稱(chēng)密鑰可分為分組密鑰和流密鑰,圖la和圖lb分別展示了分組密鑰和流密鑰的 加解密流程。分組密鑰的典型例子是美國(guó)數(shù)據(jù)加密標(biāo)準(zhǔn)DES;而流密碼的典型則是Trivium, Grain-vl和MICKEY-v2。
[0004] 非對(duì)稱(chēng)密鑰的典型是為了彌補(bǔ)對(duì)稱(chēng)的典型通信雙方共用一組密鑰的機(jī)制缺陷,造 成密鑰安全性不足而產(chǎn)生的一種新型加密技術(shù)。與對(duì)稱(chēng)的典型加解密共用一個(gè)密鑰不同, 非對(duì)稱(chēng)的典型采用加密和解密雙密鑰的方式,避免了通信雙方共享密鑰的不穩(wěn)定因素。加 密密鑰可以向公眾公開(kāi),任意使用,稱(chēng)之為公鑰。而解密密鑰只有解密方掌握,稱(chēng)為私鑰,也 只有掌握私鑰的人才能解密該公鑰所加密出的信息,其加解密過(guò)程如圖lc所示。最為著名 的是RSA算法。
[0005] 比較對(duì)稱(chēng)與非對(duì)稱(chēng)密鑰的體制區(qū)別后可以看出,對(duì)稱(chēng)密鑰的加密和解密使用同一 個(gè)密鑰,通信雙方均持有密鑰信息,攻擊者在獲得加密或解密方式后有機(jī)會(huì)通過(guò)數(shù)學(xué)分析 破解算法從而獲取密鑰。而非對(duì)稱(chēng)密鑰體制一方面算法結(jié)構(gòu)足夠復(fù)雜,攻擊難度大;另一方 面雙密鑰方式中僅有解密方持有唯一的密鑰,不共享。因此非對(duì)稱(chēng)密鑰的安全性非常高。但 是對(duì)稱(chēng)密鑰算法加密、解密過(guò)程簡(jiǎn)單、速度快、密鑰長(zhǎng)度短,適合應(yīng)用在RFID、汽車(chē)鑰匙等場(chǎng) 合。非對(duì)稱(chēng)密鑰雖然安全性很高,但加密和解密的速度較慢且密鑰長(zhǎng)度較長(zhǎng),主要用于數(shù)字 簽名、數(shù)字證書(shū)等領(lǐng)域。兩者各有可取之處,依照?qǐng)龊喜煌?,選擇的密碼算法也不同。密鑰設(shè) 計(jì)人員在設(shè)計(jì)密鑰時(shí),一方面希望所設(shè)計(jì)的密鑰足夠復(fù)雜,能抵抗現(xiàn)有的密鑰分析方法,另 一方面又需考慮密鑰在軟件、硬件上便于實(shí)現(xiàn)且加密速度快。
[0006 ]在現(xiàn)在廣泛使用的加密算法中,其最核心的地方在于陳列行列輪換的次數(shù)(如AES 算法、DES算法、3_DES算法等)或者使用不同的密鑰對(duì)明文加密,對(duì)密文解密。前一種方式 (如AES),加密解密過(guò)程已被人們所了解,通過(guò)數(shù)學(xué)分析可以輕易獲取密鑰從而得到被加密 傳輸?shù)年P(guān)鍵信息;而后一種方式(RSA)會(huì)隨著被加密信息的增加而使得加密解密的時(shí)間增 大。而隨著近年來(lái),科學(xué)技術(shù)的大力發(fā)展,計(jì)算機(jī)并行計(jì)算能力的飛速提高,公鑰密鑰(RSA) 的加密系統(tǒng)也會(huì)變得不安全。因此,對(duì)稱(chēng)密鑰和非對(duì)稱(chēng)密鑰碼機(jī)制都不夠完善,有待提出一 種全新的加密機(jī)制。
【發(fā)明內(nèi)容】
[0007] 本發(fā)明提供一種應(yīng)用于可編程器件的加密、解密方法及裝置,解決現(xiàn)有加密機(jī)制 不夠完善的問(wèn)題。
[0008] 為解決上述技術(shù)問(wèn)題,本發(fā)明采用以下技術(shù)方案:
[0009] -種應(yīng)用于可編程器件的加密方法,包括:
[0010] 根據(jù)預(yù)設(shè)的字符單元與堿基單元的對(duì)應(yīng)關(guān)系,以及堿基單元與多進(jìn)制數(shù)據(jù)單元的 對(duì)應(yīng)關(guān)系,將包括預(yù)設(shè)的字符單元的待加密數(shù)據(jù)編碼成多進(jìn)制序列密文,所述多進(jìn)制序列 密文包括至少一個(gè)多進(jìn)制數(shù)據(jù)單元,所述字符單元包括至少一個(gè)字符,所述堿基單元包括 至少一個(gè)DNA堿基;
[0011]保存或輸出所述多進(jìn)制序列密文。
[0012] 在一些實(shí)施例中,根據(jù)預(yù)設(shè)的字符單元與堿基單元的對(duì)應(yīng)關(guān)系,以及堿基單元與 多進(jìn)制數(shù)據(jù)單元的對(duì)應(yīng)關(guān)系,將包括預(yù)設(shè)的字符單元的待加密數(shù)據(jù)編碼成多進(jìn)制序列密 文,具體為:
[0013] 根據(jù)預(yù)設(shè)的字符單元與堿基單元的對(duì)應(yīng)關(guān)系,將所述待加密數(shù)據(jù)編碼成DNA單鏈 密文;根據(jù)堿基單元與多進(jìn)制數(shù)據(jù)單元的對(duì)應(yīng)關(guān)系,將所述DNA單鏈密文編碼成多進(jìn)制序列 密文;
[0014] 或者,根據(jù)預(yù)設(shè)的字符單元與堿基單元的對(duì)應(yīng)關(guān)系,以及堿基單元與多進(jìn)制數(shù)據(jù) 單元的對(duì)應(yīng)關(guān)系,逐個(gè)將所述待加密數(shù)據(jù)中的字符單元編碼成多進(jìn)制數(shù)據(jù)單元;并由各多 進(jìn)制數(shù)據(jù)單元組成所述多進(jìn)制序列密文。
[0015] 在一些實(shí)施例中,根據(jù)堿基單元與多進(jìn)制數(shù)據(jù)單元的對(duì)應(yīng)關(guān)系,將所述DNA單鏈密 文編碼成多進(jìn)制序列密文之前,還包括:
[0016] 根據(jù)堿基配對(duì)原則,將所述DNA單鏈密文轉(zhuǎn)換成與其互補(bǔ)的另一 DNA單鏈密文,將 所述DNA單鏈密文替換成所述另一 DNA單鏈密文進(jìn)入后續(xù)步驟。
[0017] 在一些實(shí)施例中,根據(jù)預(yù)設(shè)的字符單元與堿基單元的對(duì)應(yīng)關(guān)系,以及堿基單元與 多進(jìn)制數(shù)據(jù)單元的對(duì)應(yīng)關(guān)系,逐個(gè)將所述待加密數(shù)據(jù)中的字符單元編碼成多進(jìn)制數(shù)據(jù)單 元,包括:
[0018] 根據(jù)預(yù)設(shè)的字符單元與堿基單元的對(duì)應(yīng)關(guān)系,以及堿基單元與多進(jìn)制數(shù)據(jù)單元的 對(duì)應(yīng)關(guān)系,逐個(gè)將所述待加密數(shù)據(jù)中的字符單元編碼成與字符單元對(duì)應(yīng)的堿基單元所對(duì)應(yīng) 的多進(jìn)制數(shù)據(jù)單元,或者逐個(gè)將所述待加密數(shù)據(jù)中的字符單元編碼成與字符單元對(duì)應(yīng)的堿 基單元互補(bǔ)的另一堿基單元對(duì)應(yīng)的多進(jìn)制數(shù)據(jù)單元。
[0019] 在一些實(shí)施例中,所述預(yù)設(shè)的字符單元與堿基單元的對(duì)應(yīng)關(guān)系中,若預(yù)設(shè)的字符 單兀有X個(gè),與各預(yù)設(shè)的字符單兀對(duì)應(yīng)的堿基單兀為:從DNA堿基群中任取出Z個(gè)DNA堿基按 照不同的順序排序得到,所述DNA堿基群由Y種DNA堿基且每種Z個(gè)組成,Z 2 1,4 2 Y 2 1,1 < X <YZ。
[0020] 在一些實(shí)施例中,所述預(yù)設(shè)的字符單元與堿基單元的對(duì)應(yīng)關(guān)系中,若預(yù)設(shè)的字符 單元分別為26個(gè)字母中的各個(gè)字母、0至9中的各個(gè)數(shù)字、空格、逗號(hào)、句號(hào)、則與各預(yù)設(shè)的 字符單元對(duì)應(yīng)的堿基單元為:從DNA堿基群中任取出3個(gè)DNA堿基按照不同的順序排序得到, 所述DNA堿基群由4種DNA堿基且每種3個(gè)組成。
[0021]在一些實(shí)施例中,所述堿基單元與多進(jìn)制數(shù)據(jù)單元的對(duì)應(yīng)關(guān)系中,與各堿基單元 中的各堿基對(duì)應(yīng)的多進(jìn)制數(shù)據(jù)單元包括兩個(gè)比特位。
[0022] 一種解密方法,包括:
[0023] 獲取待解密的多進(jìn)制序列密文,所述多進(jìn)制序列密文包括至少一個(gè)多進(jìn)制數(shù)據(jù)單 元;
[0024] 根據(jù)預(yù)設(shè)的字符單元與堿基單元的對(duì)應(yīng)關(guān)系,以及堿基單元與多進(jìn)制數(shù)據(jù)單元的 對(duì)應(yīng)關(guān)系,將所述多進(jìn)制序列密文解碼成包括預(yù)設(shè)的字符單元的明文數(shù)據(jù),所述字符單元 包括至少一個(gè)字符,所述堿基單元包括至少一個(gè)DNA堿基。
[0025] 在一些實(shí)施例中,根據(jù)預(yù)設(shè)的字符單元與堿基單元的對(duì)應(yīng)關(guān)系,以及堿基單元與 多進(jìn)制數(shù)據(jù)單元的對(duì)應(yīng)關(guān)系,將所述多進(jìn)制序列密文解碼成包括預(yù)設(shè)的字符單元的明文數(shù) 據(jù),具體為:
[0026] 根據(jù)所述堿基單元與多進(jìn)制數(shù)據(jù)單元的對(duì)應(yīng)關(guān)系,將所述多進(jìn)制序列密文解碼成 DNA單鏈密文;根據(jù)預(yù)設(shè)的字符單元與堿基單元的對(duì)應(yīng)關(guān)系,將所述DNA單鏈密文解碼成所 述明文數(shù)據(jù);
[0027] 或者,根據(jù)預(yù)設(shè)的字符單元與堿基單元的對(duì)應(yīng)關(guān)系,以及堿基單元與多進(jìn)制數(shù)據(jù) 單元的對(duì)應(yīng)關(guān)系,逐個(gè)將所述多進(jìn)制序列密文中的多進(jìn)制數(shù)據(jù)單元解碼成字符單元;并由 各字符單元組成所述明文數(shù)據(jù)。
[0028] 在一些實(shí)施例中,根據(jù)預(yù)設(shè)的字符單元與堿基單元的對(duì)應(yīng)關(guān)系,將所述DNA單鏈密 文解碼成所述明文數(shù)據(jù)之前,還包括:
[0029]根據(jù)堿基配對(duì)原則,將所述DNA單鏈密文轉(zhuǎn)換成與其互補(bǔ)的另一 DNA單鏈密文,將 所述DNA單鏈密文替換成所述另一 DNA單鏈密文進(jìn)入后續(xù)步驟。
[0030]在一些實(shí)施例中,根據(jù)預(yù)設(shè)的字符單元與堿基單元的對(duì)應(yīng)關(guān)系,以及堿基單元與 多進(jìn)制數(shù)據(jù)單元的對(duì)應(yīng)關(guān)系,逐個(gè)將所述多進(jìn)制序列密文中的多進(jìn)制數(shù)據(jù)單元解碼成字符 單元,包括:
[0031 ]根據(jù)預(yù)設(shè)的字符單元與堿基單元的對(duì)應(yīng)關(guān)系,以及堿基單元與多進(jìn)制數(shù)據(jù)單元的 對(duì)應(yīng)關(guān)系,逐個(gè)將所述多進(jìn)制序列密文中的多進(jìn)制數(shù)據(jù)單元解碼成與多進(jìn)制數(shù)據(jù)單元對(duì)應(yīng) 的堿基單元所對(duì)應(yīng)的字符單元,或者逐個(gè)將所述多進(jìn)制序列密文中的多進(jìn)制數(shù)據(jù)單元解碼 成與多進(jìn)制數(shù)據(jù)單元對(duì)應(yīng)的堿基單元互補(bǔ)的另一堿基單元所對(duì)應(yīng)的字符單元。
[0032] 在一些實(shí)施例中,所述預(yù)設(shè)的字符單元與堿基單元的對(duì)應(yīng)關(guān)系中,若預(yù)設(shè)的字符 單兀有X個(gè),貝U與各預(yù)設(shè)的字符單兀對(duì)應(yīng)的堿基單兀為:從DNA堿基群中任取出Z個(gè)DNA堿基 按照不同的順序排序得到,所述DNA堿基群由Y種DNA堿基且每種Z個(gè)組成,Z 2 1,4 2 Y 2 1,1 <X< Yz〇
[0033] 在一些實(shí)施例中,所述堿基單元與多進(jìn)制數(shù)據(jù)單元的對(duì)應(yīng)關(guān)系中,與各堿基單元 中的各堿基對(duì)應(yīng)的多進(jìn)制數(shù)據(jù)單元包括兩個(gè)比特位。
[0034] -種應(yīng)用于可編程器件的加密裝置,包括:
[0035] 加密處理模塊,用于根據(jù)預(yù)設(shè)的字符單元與堿基單元的對(duì)應(yīng)關(guān)系,以及堿基單元 與多進(jìn)制數(shù)據(jù)單元的對(duì)應(yīng)關(guān)系,將包括預(yù)設(shè)的字符單元的待加密數(shù)據(jù)編碼成多進(jìn)制序列密 文,所述多進(jìn)制序列密文包括至少一個(gè)多進(jìn)制數(shù)據(jù)單元,所述字符單元包括至少一個(gè)字符, 所述堿基單元包括至少一個(gè)DNA堿基;
[0036] 以及第一保存模塊,用于保存所述多進(jìn)制序列密文;或輸出模塊,用于輸出所述多 進(jìn)制序列密文。
[0037] 在一些實(shí)施例中,加密處理模塊包括第一加密子模塊和/或第二加密子模