欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于二次剩余的低成本RFID認(rèn)證協(xié)議的乘法器的制作方法

文檔序號(hào):12462838閱讀:212來源:國知局
基于二次剩余的低成本RFID認(rèn)證協(xié)議的乘法器的制作方法與工藝

本發(fā)明屬于通信技術(shù)領(lǐng)域,涉及一種乘法器,具體涉及一種基于二次剩余的低成本RFID認(rèn)證協(xié)議的乘法器,可用于公鑰密碼中加密算法的大數(shù)模乘。



背景技術(shù):

射頻識(shí)別RFID(Radio Frequency Identification)是一種非接觸式雙向通信的自動(dòng)識(shí)別技術(shù),用于實(shí)現(xiàn)對(duì)物品的標(biāo)識(shí)。RFID的非接觸識(shí)別和多目標(biāo)識(shí)別等特點(diǎn),使其廣泛應(yīng)用于軍事、制造業(yè)、商業(yè)、日常生活等領(lǐng)域。同時(shí),RFID通信系統(tǒng)的安全機(jī)制不完善,使得安全與隱私問題日益突出,制約了它的大規(guī)模應(yīng)用。但是在傳統(tǒng)的安全公鑰密碼技術(shù)中,計(jì)算復(fù)雜,消耗資源多,RFID在計(jì)算資源上的限制使其不能很好的應(yīng)用于低成本的RFID標(biāo)簽中。導(dǎo)致這一問題的關(guān)鍵原因是公鑰密碼運(yùn)算中的大數(shù)模乘和模逆這兩個(gè)基本運(yùn)算組件消耗的資源和計(jì)算復(fù)雜性都非常大。

大數(shù)模乘在編碼理論和密碼學(xué)等領(lǐng)域都有廣泛應(yīng)用,尤其是在密碼學(xué)領(lǐng)域,模乘是大多數(shù)公鑰密碼的基礎(chǔ)運(yùn)算,如RSA、ECC、ElGamal等。具有典型代表性的各種大數(shù)模乘算法中,Montgomery模乘易于變型,適用于不同平臺(tái),性能較高,可以廣泛應(yīng)用于各種公鑰密碼算法中,便于硬件實(shí)現(xiàn)。

目前對(duì)于Montgomery模乘算法,國內(nèi)外的科研人員主要從兩個(gè)方面展開研究。其中的一個(gè)方面是采用冗余基數(shù)表達(dá)的方法,研究最多的就是在Montgomery算法中采用高基的結(jié)構(gòu)。E.F.Brickell比較早的提出了這種思路,S.E.Eldrige等人通過簡(jiǎn)化電路結(jié)構(gòu)中的組合邏輯,從而優(yōu)化了關(guān)鍵路徑,提高了系統(tǒng)時(shí)鐘頻率,獲得了兩倍于傳統(tǒng)方法的運(yùn)算速度。但是在這個(gè)高基方法中復(fù)雜的商的確定問題是難解決的。

除了采用高基的方法之外,另一種實(shí)現(xiàn)方法就是采用心動(dòng)陣列的方法來實(shí)現(xiàn)。這種方法一般都把操作數(shù)的基固定為2,利用心動(dòng)流水來實(shí)現(xiàn)高的數(shù)據(jù)吞吐率。Colin D.Walter利用右移被乘數(shù)來避免商的確定,采用了一個(gè)(n+1)×(n+2)的二維心動(dòng)陣列來實(shí)現(xiàn),使得模乘的速度達(dá)到了一個(gè)很高的水平;但是,這種采用二維心動(dòng)陣列的還有K.Iwamura,P.A.Wang等人所設(shè)計(jì)的結(jié)構(gòu),其特點(diǎn)都是硬件開銷巨大,實(shí)現(xiàn)比較困難。

一些改進(jìn)的Montgomery模乘算法和其硬件結(jié)構(gòu)被相繼提出。其中具有代表性的是一種低成本的大數(shù)乘法器。該乘法器采用了移位相加方法設(shè)計(jì)了一個(gè)8×1024乘法單元,再利用四個(gè)8×1024乘法單元并行計(jì)算,利用移位寄存器存儲(chǔ)來間接實(shí)現(xiàn)數(shù)據(jù)移位,后經(jīng)求和運(yùn)算來實(shí)現(xiàn)一次32×1024位的乘法計(jì)算,經(jīng)過32次這樣的計(jì)算過程可完成一次1024位的大數(shù)乘法運(yùn)算。但是此結(jié)構(gòu)中沒有達(dá)到隱藏需要加密的信息M的效果。并且此結(jié)構(gòu)最終用了5000左右的門電路,以至于硬件實(shí)現(xiàn)的邏輯門數(shù)還比較多,造成硬件的資源功耗高。

綜上,現(xiàn)有的大數(shù)模乘存在的以下缺陷:

其硬件實(shí)現(xiàn)的邏輯門數(shù)還比較多,造成硬件的資源功耗高,并且一般的硬件乘法器沒有涉及到對(duì)數(shù)據(jù)的隱藏,安全性問題有待解決。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的在于克服上述現(xiàn)有技術(shù)存在的缺陷,提出了一種基于二次剩余的低成本RFID認(rèn)證協(xié)議的乘法器,用于解決現(xiàn)有公鑰密碼運(yùn)算中大數(shù)模乘硬件資源功耗大和安全性差的技術(shù)問題。

為實(shí)現(xiàn)上述目的,本發(fā)明包括如下步驟:

基于二次剩余的低成本RFID認(rèn)證協(xié)議的乘法器,包括乘法單元、移位單元和求和單元,所述乘法單元包括至少并聯(lián)的四個(gè)16位乘法器,每個(gè)乘法器連接有32位加法器,這些加法器從左到右依次連接有16×n位移位寄存器,其中n為移位寄存器的個(gè)數(shù),其中前兩個(gè)16×n位移位寄存器之間連接有第一16位加法器,該第一16位加法器的輸出端與第三個(gè)16×n位移位寄存器之間連接有第二16位加法器,該第二16位加法器的輸出端與第四個(gè)16×n位移位寄存器之間連接有第三16位加法器,用于獲取需要傳遞的加密數(shù)據(jù)M×M,其中M是需要加密的數(shù)據(jù);所述移位單元包括依次相連的16位移位寄存器、1位移位寄存器、并行排列的內(nèi)存RAM1及內(nèi)存RAM2和第四16位加法器,用于獲取隱藏M×M的傳遞數(shù)據(jù)r×m,其中r是1024位的隨機(jī)數(shù),m是加密公鑰;所述求和單元采用第五16位加法器;第三16位加法器和第四16位加法器通過第五16位加法器相連,其中:

16位乘法器,由四個(gè)并聯(lián)的3位乘法器和一個(gè)8位加法器組成,用于對(duì)輸入的加密數(shù)據(jù)M進(jìn)行16位數(shù)據(jù)相乘,得到32位數(shù)據(jù)并輸出;

32位加法器,用于對(duì)16位乘法器的輸出結(jié)果進(jìn)行相加并輸出;

16×n移位寄存器,用于對(duì)32位加法器的輸出結(jié)果移16×n位并輸出;

第一16位加法器,用于對(duì)前兩個(gè)16×n移位寄存器的輸出結(jié)果進(jìn)行相加,得到16位數(shù)據(jù)并輸出;

第二16位加法器,用于對(duì)第一16位加法器輸出結(jié)果和第三個(gè)16×n移位寄存器的輸出結(jié)果進(jìn)行相加,得到16位數(shù)據(jù)并輸出;

第三16位加法器,用于對(duì)第二16位加法器輸出結(jié)果和第四個(gè)16×n移位寄存器的輸出結(jié)果進(jìn)行相加,得到16位數(shù)據(jù)并輸出;

16位移位寄存器,用于對(duì)輸入加密公鑰m進(jìn)行移16×N位并輸出,其中N為數(shù)據(jù)m從低位起第N個(gè)16bit數(shù)據(jù);

1位移位寄存器,用于對(duì)16位移位寄存器的輸出結(jié)果進(jìn)行t次1位移位循環(huán)并輸出,其中t為數(shù)據(jù)r從低位起第N個(gè)16bit數(shù)據(jù)中1的位數(shù);

內(nèi)存RAM1,用于N為1時(shí),存儲(chǔ)1位移位寄存器的輸出結(jié)果;

內(nèi)存RAM2,用于N為2時(shí),存儲(chǔ)1位移位寄存器的輸出結(jié)果;

第四16位加法器,用于對(duì)內(nèi)存RAM1和內(nèi)存RAM2中的輸出結(jié)果進(jìn)行相加,并輸出;

第五16位加法器,用于對(duì)第三16位加法器和第四16位加法器的輸出結(jié)果進(jìn)行相加,并輸出。

上述基于二次剩余的低成本RFID認(rèn)證協(xié)議的乘法器,所述四個(gè)并聯(lián)的3位乘法器,包括第一3位乘法器、第二3位乘法器、第三3位乘法器和第四3位乘法器。

上述基于二次剩余的低成本RFID認(rèn)證協(xié)議的乘法器,所述16位乘法器,還包括內(nèi)存RAM,其與四個(gè)并聯(lián)的3位乘法器和一個(gè)8位加法器的連接關(guān)系為:第二3位乘法器和第三個(gè)3位乘法器的輸出端與8位加法器相連,第一3位乘法器、第四3位乘法器和8位加法器的輸出端與內(nèi)存RAM連接,其中:

3位乘法器,用于對(duì)輸入數(shù)據(jù)M每8位數(shù)據(jù)中的低3位數(shù)據(jù)進(jìn)行相乘運(yùn)算,并輸出;

8位加法器,用于對(duì)第二3位乘法器和第三3位乘法器的輸出結(jié)果進(jìn)行相加,并輸出;

內(nèi)存RAM,用于存儲(chǔ)第一3位乘法器的輸出數(shù)據(jù)、8位加法器的輸出數(shù)據(jù)和第四3位乘法器的輸出數(shù)據(jù),其中第一3位乘法器的輸出數(shù)據(jù)存儲(chǔ)在內(nèi)存RAM的0到7位中,8位加法器的輸出數(shù)據(jù)存儲(chǔ)在內(nèi)存RAM的8到15位中,第四3位乘法器的輸出數(shù)據(jù)存儲(chǔ)在內(nèi)存RAM的16到23位中。

本發(fā)明與現(xiàn)有技術(shù)相比,具有如下優(yōu)點(diǎn):

第一,本發(fā)明由于在求取需要傳輸?shù)募用軘?shù)據(jù)M×M的過程中,采用由四個(gè)并聯(lián)的3位乘法器和一個(gè)8位加法器組成的至少四個(gè)并聯(lián)的16位乘法器,得到32位的輸出數(shù)據(jù),每個(gè)32位輸出數(shù)據(jù)依次連接32位加法器和16×n的移位寄存器,其前兩個(gè)16×n位移位寄存器之間連接有第一16位加法器,該第一16位加法器的輸出端與第三個(gè)16×n位移位寄存器之間連接有第二16位加法器,該第二16位加法器的輸出端與第四個(gè)16×n位移位寄存器之間連接有第三16位加法器,此結(jié)構(gòu)減少了硬件邏輯門電路數(shù)目,與現(xiàn)有技術(shù)相比,降低了乘法器的資源功耗。

第二,本發(fā)明在求取傳遞數(shù)據(jù)r×n的過程中,采用依次相連的16位移位寄存器、1位移位寄存器、并行排列的內(nèi)存RAM1及內(nèi)存RAM2和第四16位加法器,獲取隱藏M×M的傳遞數(shù)據(jù)r×m,經(jīng)過求和單元對(duì)傳遞數(shù)據(jù)和傳遞的加密數(shù)據(jù)進(jìn)行相加,對(duì)加密數(shù)據(jù)進(jìn)行了隱藏,提高了乘法器的安全性。

附圖說明

圖1是本發(fā)明實(shí)施例的整體結(jié)構(gòu)示意圖;

圖2是本發(fā)明中加密數(shù)據(jù)M產(chǎn)生過程的流程圖;

圖3是本發(fā)明中加密用到的隨機(jī)數(shù)r產(chǎn)生過程流程圖;

圖4是本發(fā)明中3位乘法器結(jié)構(gòu)圖;

圖5是本發(fā)明中16位乘法器結(jié)構(gòu)圖。

具體實(shí)施方式

以下結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明作進(jìn)一步的詳細(xì)描述。

參照?qǐng)D1,本發(fā)明包括乘法單元、移位單元和求和單元:

本實(shí)施例中的乘法單元包括并聯(lián)的四個(gè)16位乘法器,每個(gè)乘法器連接有32位加法器,這些加法器從左到右依次連接有16×n位移位寄存器,其n=1,2,3,4,其中前兩個(gè)16×n位移位寄存器之間連接有第一16位加法器,該第一16位加法器的輸出端與第三個(gè)16×n位移位寄存器之間連接有第二16位加法器,該第二16位加法器的輸出端與第四個(gè)16×n位移位寄存器之間連接有第三16位加法器,用于獲取需要傳遞的加密數(shù)據(jù)M×M,其中M是需要加密的數(shù)據(jù);

具體獲得M×M的運(yùn)算步驟如下:

步驟1:運(yùn)用并行的思想進(jìn)行1024位的乘法,首先將M數(shù)據(jù)流輸入到并聯(lián)的四個(gè)16位乘法器,此時(shí)一次計(jì)算能力可達(dá)到16×32位,計(jì)算結(jié)果并輸出32位數(shù)據(jù);

步驟2:將16位乘法器的輸出的32位數(shù)據(jù)和前一個(gè)32位數(shù)據(jù)的高16位輸入到32位加法器,輸出結(jié)果的高16位作為進(jìn)位返回到32位加法器的輸入端參與下一次計(jì)算,低16位輸出,其中:所述32位加法器是由串聯(lián)的32個(gè)1位全加器構(gòu)成;

步驟3:將32位加法器輸出數(shù)據(jù)進(jìn)入到初始置零的16×n位移位寄存器,經(jīng)過16×n位移位寄存器對(duì)數(shù)據(jù)移位16×n位后,輸出數(shù)據(jù);

步驟4:將4個(gè)16×n位移位寄存器輸出數(shù)據(jù)進(jìn)入到3個(gè)16位加法器做加法運(yùn)算,相加后進(jìn)位返回參與下一次計(jì)算;其中:

步驟4a:前兩個(gè)16×n位移位寄存器的輸出數(shù)據(jù),經(jīng)過第一16位加法器獲得兩個(gè)數(shù)據(jù)之和,并輸出;

步驟4b:第三個(gè)16×n位移位寄存器的輸出數(shù)據(jù)和第一16位加法器的輸出數(shù)據(jù),經(jīng)過第二16位加法器獲得兩個(gè)數(shù)據(jù)之和,并輸出;

步驟4c:第四個(gè)16×n位移位寄存器的輸出數(shù)據(jù)和第二16位加法器的輸出數(shù)據(jù),經(jīng)過第三16位加法器獲得兩個(gè)數(shù)據(jù)之和,并輸出;

移位單元包括依次相連的16位移位寄存器、1位移位寄存器、并行排列的內(nèi)存RAM1及內(nèi)存RAM2和第四16位加法器,用于獲取隱藏M×M的傳遞數(shù)據(jù)r×m,其中r是1024位的隨機(jī)數(shù),m是加密公鑰;

具體獲得r×m的運(yùn)算步驟如下:

步驟1:根據(jù)圖3中隨機(jī)數(shù)r的構(gòu)成步驟可得,r×m是對(duì)m進(jìn)行64次的移位運(yùn)算;

步驟2:先取出隨機(jī)數(shù)r的低16位數(shù)據(jù);

步驟3:判斷16位數(shù)據(jù)中的第t位數(shù)據(jù)是1,則把m向高位移動(dòng)t位:

步驟3a:從低位開始,一位一位的取,并判斷是0是1;

步驟3b:如果是0,則把計(jì)數(shù)t+1,繼續(xù)接著取;

步驟3c:如果是1,則停止取,記錄t的值,m向高位移動(dòng)t位:

步驟3ca:將m經(jīng)過一個(gè)1位的移位寄存器;

步驟3cb:循環(huán)t次,即可實(shí)現(xiàn)將m中數(shù)據(jù)移位t位;

步驟4:結(jié)果放入RMA1中;

步驟5:然后把m移動(dòng)16×1位之后;

步驟6:取出m中第二個(gè)16位數(shù)據(jù);

步驟7:重復(fù)步驟(2c),結(jié)果放入RAM2中;

步驟8:將RAM1中數(shù)據(jù)和RAM2中數(shù)據(jù)經(jīng)過一個(gè)16位加法器循環(huán)相加,結(jié)果放入RAM1中;

步驟9:設(shè)經(jīng)過了N次循環(huán),則先把m移動(dòng)16×(N-1);

步驟10:取出r中第N個(gè)16位數(shù)據(jù);

步驟11:重復(fù)步驟(2c),結(jié)果放入RAM2中;

步驟12:重復(fù)步驟(2h);

步驟13:直到N為64時(shí),計(jì)算結(jié)束;

第三16位加法器的輸出數(shù)據(jù)和第四16位加法器輸出數(shù)據(jù)通過第五16位加法器進(jìn)行相加并輸出結(jié)果;

參照?qǐng)D2,需要加密的數(shù)據(jù)M按如下步驟產(chǎn)生:

步驟1:輸入x,其中x的長(zhǎng)度l≤372位;

步驟2:對(duì)x進(jìn)行處理得到z=x||0k,這里需要滿足l+k=372;

步驟3:將z分成124個(gè)長(zhǎng)為3的比特串,即z=z2124z1124z0124||z2123z1123z0123||…||z22z12z02||z21z11z01,其中zbi∈{0,1},b∈{0,1,2},i=1,2,…,124;

步驟4:將每個(gè)長(zhǎng)為3的比特串前面補(bǔ)0構(gòu)成一個(gè)字節(jié),如z2iz1iz0i→00000z2iz1iz0i;

步驟5:這樣所有擴(kuò)展后的比特串級(jí)聯(lián),組成消息數(shù)據(jù)M1,其中M的前16位和后16位數(shù)據(jù)為0,中間124×8位數(shù)據(jù)由M1組成:

M=00000000||00000000||M1||00000000||00000000

即:

M=00000000||00000000||00000z2124z1124z0124||00000z2123z1123z0123||…||00000z22z12z02||||00000z21z11z01||00000000||00000000

參照?qǐng)D3,加密中用到的隨機(jī)數(shù)r按如下步驟產(chǎn)生

步驟1:產(chǎn)生一個(gè)值為0的1024位數(shù)據(jù);

步驟2:將其分為64部分,每部分有8位數(shù)據(jù)0;

步驟3:將每部分的隨機(jī)一個(gè)數(shù)據(jù)0改為數(shù)據(jù)1,此數(shù)據(jù)即為隨機(jī)數(shù)r;

步驟4:因此隨機(jī)數(shù)r的權(quán)重為64;

步驟5:攻擊者想要破解消息,則需要算出隨機(jī)數(shù)r的值。其步驟如下:

步驟5a:把1024位r分成64部分,每部分16位,每16位只有一個(gè)有效位;

步驟5b:算出一個(gè)16位中有效位的概率是2的4次方分之一;

步驟5c:一共有64個(gè)16位,所以算出r的概率是2的256次方分之一;

步驟5d:破解密鑰的概率為2的256次方分之一,因此可以達(dá)到隱藏M×M的效果;

參照?qǐng)D4,3位乘法器的結(jié)構(gòu)圖如下:

3位乘法器由第一與門電路、第二與門電路、第三與門電路、第四與門電路、第五與門電路、第六與門電路、第七與門電路、第八與門電路、第九與門電路、第一半加器、第二半加器、第三半加器、第四半加器、第一全加器和第二全加器組成,所述第一與門電路的輸出數(shù)據(jù)是3位乘法器輸出數(shù)據(jù)的第0位,所述第二與門電路和第四與門電路的輸出端連接有第一半加器,其半加器的輸出數(shù)據(jù)是3位乘法器輸出數(shù)據(jù)的第1位,所述第三與門電路和第五與門電路連接有第二半加器,其第二半加器的輸出端、第一半加器的進(jìn)位端和第七與門電路連接有第一全加器,此第一全加器的輸出數(shù)據(jù)是3位乘法器輸出數(shù)據(jù)的第2位,所述第六與門電路和第八與門電路連接有第三半加器,其第二半加器輸出端、第三半加器輸出端和第一全加器輸出端連接有第二全加器,此第二全加器的輸出端是3位乘法器輸出數(shù)據(jù)的第3位,所述第九與門電路和第二全加器連接有第四半加器,其第四半加器的輸出數(shù)據(jù)是3位乘法器的第4位,所述第四半加器進(jìn)位端的輸出數(shù)據(jù)是3位乘法器的第5位。

參照?qǐng)D5,16位乘法器的結(jié)構(gòu)圖如下:

16位乘法器,包括內(nèi)存RAM,其與四個(gè)并聯(lián)的3位乘法器和一個(gè)8位加法器,其連接關(guān)系為:第二3位乘法器和第三個(gè)3位乘法器的輸出端與8位加法器相連,第一3位乘法器、第四3位乘法器和8位加法器的輸出端與內(nèi)存RAM連接,其中:

3位乘法器,用于對(duì)輸入數(shù)據(jù)M每8位數(shù)據(jù)中的低3位數(shù)據(jù)進(jìn)行相乘運(yùn)算,并輸出;

8位加法器,用于對(duì)第二3位乘法器和第三3位乘法器的輸出結(jié)果進(jìn)行相加,并輸出;

內(nèi)存RAM,用于存儲(chǔ)第一3位乘法器的輸出數(shù)據(jù)、8位加法器的輸出數(shù)據(jù)和第四3位乘法器的輸出數(shù)據(jù),其中第一3位乘法器的輸出數(shù)據(jù)存儲(chǔ)在內(nèi)存RAM的0到7位中,8位加法器的輸出數(shù)據(jù)存儲(chǔ)在內(nèi)存RAM的8到15位中,第四3位乘法器的輸出數(shù)據(jù)存儲(chǔ)在內(nèi)存RAM的16到23位中。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
雷州市| 亚东县| 平安县| 观塘区| 曲松县| 曲松县| 汉阴县| 德安县| 贺州市| 曲松县| 南投县| 桐城市| 西青区| 栾川县| 陵川县| 盈江县| 芦溪县| 陈巴尔虎旗| 津南区| 鄂托克前旗| 桂平市| 沧源| 和硕县| 丹巴县| 萨嘎县| 阿尔山市| 常熟市| 溆浦县| 永平县| 铁岭县| 云浮市| 昌邑市| 滨海县| 平安县| 舒城县| 靖西县| 虹口区| 抚州市| 巴南区| 盐边县| 长葛市|