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

數(shù)據(jù)加解密方法及系統(tǒng)的制作方法

文檔序號(hào):7980024閱讀:296來源:國知局
數(shù)據(jù)加解密方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種數(shù)據(jù)加解密方法及系統(tǒng),該系統(tǒng)包括總線從處理模塊、FSM控制模塊、總線主處理模塊、密碼流產(chǎn)生裝置和計(jì)算模塊,其中,總線從處理模塊用于保存控制信息和密鑰;該FSM控制模塊,用于控制總線從處理模塊接收外部發(fā)送的控制信息和密鑰,向自己發(fā)送該控制信息;以及,向密碼流產(chǎn)生裝置發(fā)送參數(shù),向總線主處理模塊發(fā)送獲得待處理數(shù)據(jù)對應(yīng)的控制信息;總線主處理模塊,用于從外部存儲(chǔ)器獲得待處理數(shù)據(jù),以及將處理后數(shù)據(jù)寫到外部存儲(chǔ)器中;密碼流產(chǎn)生裝置,用于產(chǎn)生與待處理數(shù)據(jù)匹配的密碼流;計(jì)算模塊,用于對獲得的待處理數(shù)據(jù)和密碼流進(jìn)行異或操作,并向總線主處理模塊發(fā)送處理后數(shù)據(jù)。本發(fā)明存取數(shù)據(jù)快,加解密效率高,功耗低。
【專利說明】數(shù)據(jù)加解密方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及移動(dòng)通信領(lǐng)域,尤其涉及一種數(shù)據(jù)加解密方法及系統(tǒng)。
【背景技術(shù)】
[0002]無線通信系統(tǒng)正廣泛應(yīng)用于語音、數(shù)據(jù)等各種類型的通信中,對所傳輸?shù)臄?shù)據(jù)進(jìn)行加密是ー種保護(hù)數(shù)據(jù)安全、防止非授權(quán)訪問的有效手段。
[0003]全球移動(dòng)通訊系統(tǒng)(GSM)采用了 A5/l、A5/2、A5/3加密算法對語音數(shù)據(jù)進(jìn)行加密;寬帶碼分多址(WCDMA)通信系統(tǒng)采用F8算法對數(shù)據(jù)進(jìn)行加密。在長期演進(jìn)(LTE)通信系統(tǒng)中,為滿足高速、安全的數(shù)據(jù)傳輸,出現(xiàn)了基于祖沖之(ZUC)的演進(jìn)的加密算法3 (EvolvedEncryption Algonthm3, EEA3)加密算法。
[0004]EEA3加密算法是祖沖之算法集之一,祖沖之算法集是由中國學(xué)者自主設(shè)計(jì)的加密和完整性算法,包括ZUC算法、加密算法128-EEA3和完整性算法128-EIA3,其中ZUC算法的名字源于我國古代數(shù)學(xué)家祖沖之,是ー種流密碼算法。它是另外兩個(gè)算法的核心。這套算法集已經(jīng)被國際組織第三代合作伙伴計(jì)劃組織(3rd Generation Partnership Project,3GPP)認(rèn)可為LTE無線通信的第三套國際加密和完整性標(biāo)準(zhǔn)的算法。ZUC算法由3GPP技術(shù)規(guī)范加密和完整性算法“ 128-EEA3&128-EIA3”的文件2 “ZUC規(guī)范”描述,EEA3算法由3GPP技術(shù)規(guī)范加密和完整性算法“ 128-EEA3&128-EIA3”的文件I “128-EEA3和128-EIA3規(guī)范”描述。
[0005]ZUC算法核由三個(gè)邏輯層次組成,頂層是16級(jí)的線性反饋移位寄存器(LFSR),中間層是比特重組(BR),底層是非線性函數(shù)(F)。LFSR由SO?S15等16個(gè)31位寄存器組成;BR從LFSR寄存器中抽取128位組成4個(gè)32bit字,頭三個(gè)字XO?X2用于F,最后ー個(gè)字X3用于產(chǎn)生密鑰流;F由2個(gè)32位寄存器Rl和R2組成,輸出為32位字W。
[0006]產(chǎn)生加密碼的過程分為兩部分,首先是初始化階段,如圖1所示,利用密鑰(KEY)、加密參數(shù)COUNT,BEARER, DIRECTION及常數(shù)串D經(jīng)過一定的變換寫入LFSR的寄存器S。?S15, R1, R2寄存器初始化為0,且F的輸出W移位后反饋給LFSR。以下過程重復(fù)循環(huán)執(zhí)行32次=S15的高位(30-15位)和S14的低位(15-0位)重組成Xtl, S11的低位和S9的高位重組成X1, S7的低位和S5的高位重組成X2, S2的低位和S0的高位重組成X3 ;F對來自BR的X1與R1進(jìn)行模32加賦給W1,對來自BR的X2與R2進(jìn)行異或賦給W2 ;將W1的低位和W2的高位重組后先進(jìn)行L1線性變換接著進(jìn)行S盒變換賦給R1,將W2的低位和W1的高位重組后先進(jìn)行L2線性變換接著進(jìn)行S盒變換賦給R2 ;X0與R1異或后再與R2進(jìn)行模32加賦給W,W右移I位后送到LFSR與Stl, Stl循環(huán)左移8位,S4循環(huán)左移20位,S10循環(huán)左移21位,S13循環(huán)左移17位,S15循環(huán)左移15位相加后模(231-1)賦給S16,將S16賦給S15,將S15賦給S14,以此類推,直到S1賦給Stl,完成一次循環(huán)。
[0007]初始化階段完成之后,ZUC加密核開始產(chǎn)生加密碼,如圖2所示。將S15的高位(30?15位)和S14的低位(15?0位)重組成X0, S11的低位和S9的高位重組成X1, S7的低位和S5的高位重組成X2,S2的低位和Stl的高位重組成X3 ;F對來自BR的X1與R1進(jìn)行模32加賦給W1,對來自BR的X2與R2進(jìn)行異或賦給W2 ;將W1的低位和W2的高位重組后先進(jìn)行L1線性變換接著進(jìn)行S盒變換賦給R1,將W2的低位和W1的高位重組后先進(jìn)行L2線性變換接著進(jìn)行S盒變換賦給R2 ;X0與R1異或后再與R2進(jìn)行模32加賦給W,這個(gè)值丟棄;同時(shí)Stl,S0循環(huán)左移8位,S4循環(huán)左移20位,S10循環(huán)左移21位,S13循環(huán)左移17位,S15循環(huán)左移15位相加后模(231-1)賦給S16,將S16賦給S15,將S15賦給S14,以此類推,直到S1賦給S00重復(fù)以下步驟,不斷產(chǎn)生加密碼:將S15的高位(30?15位)和S14的低位(15?0位)重組成X0, S11的低位和S9的高位重組成X1, S7的低位和S5的高位重組成X2,S2的低位和Stl的高位重組成X3 ;F對來自BR的X1與R1進(jìn)行模32加賦給W1,對來自BR的X2與R2進(jìn)行異或賦給W2 ;將W1的低位和W2的高位重組后先進(jìn)行L1線性變換接著進(jìn)行S盒變換賦給R1,將W2的低位和W1的高位重組后先進(jìn)行L2線性變換接著進(jìn)行S盒變換賦給R2 ;X0與R1異或后再與R2進(jìn)行模32加賦給W,將W與X3異或產(chǎn)生加密碼;同時(shí)Stl, S0循環(huán)左移8位,S4循環(huán)左移20位,S10循環(huán)左移21位,S13循環(huán)左移17位,S15循環(huán)左移15位相加后模(231-1)賦給S16,將S16賦給S15,將S15賦給S14,以此類推,直到S1賦給S00
[0008]3GPP技術(shù)規(guī)范加密和完整性算法“ 128-EEA3&128-EIA3”的文件I和文件2,只提出了算法原理和軟件實(shí)現(xiàn)。而LTE通信系統(tǒng)的數(shù)據(jù)傳輸速率很高,ZUC產(chǎn)生加密碼的計(jì)算過程非常復(fù)雜,采用軟件實(shí)現(xiàn)性能上滿足不了要求。同時(shí)以上兩篇文件也沒有放在具體的系統(tǒng)考慮,不能反映真實(shí)的系統(tǒng)性能。
[0009]對數(shù)據(jù)進(jìn)行加密的過程需要將待加密數(shù)據(jù)與ZUC加密核產(chǎn)生的密碼流進(jìn)行異或操作得到加密數(shù)據(jù),如圖3所示,如果需要對數(shù)據(jù)進(jìn)行解密,那么將待解密數(shù)據(jù)與ZUC加密核產(chǎn)生的密碼流進(jìn)行異或操作得到原始數(shù)據(jù)。

【發(fā)明內(nèi)容】

[0010]本發(fā)明實(shí)施例提供了一種數(shù)據(jù)加解密方法及系統(tǒng),以克服現(xiàn)有軟件實(shí)現(xiàn)方式存在的低速、低效率問題及沒有放在具體系統(tǒng)考慮的缺陷。
[0011]本發(fā)明實(shí)施例提供了一種數(shù)據(jù)加解密系統(tǒng),該系統(tǒng)包括:
[0012]總線從處理模塊,用于保存來自外部的控制信息和產(chǎn)生密碼流所需的密鑰,所述控制信息包括產(chǎn)生密碼流所需的參數(shù)、待處理數(shù)據(jù)的源地址、待處理數(shù)據(jù)的長度和處理后數(shù)據(jù)的目的地址;以及,根據(jù)有限狀態(tài)機(jī)(FSM)控制模塊發(fā)送的第一讀取控制信號(hào)向所述FSM控制模塊發(fā)送所述控制信息和根據(jù)所述FSM控制模塊發(fā)送的第二讀取控制信號(hào)向密碼流產(chǎn)生裝置發(fā)送所述密鑰;
[0013]所述FSM控制模塊,用于控制所述總線從處理模塊接收外部發(fā)送的所述控制信息和所述密鑰,向所述總線從處理模塊發(fā)送所述第一讀取控制信號(hào)和所述第二讀取控制信號(hào),接收所述總線從處理模塊發(fā)送的所述控制信息;以及,向所述密碼流產(chǎn)生裝置發(fā)送所述參數(shù)和第一控制信號(hào),向所述總線主處理模塊發(fā)送所述待處理數(shù)據(jù)的源地址、待處理數(shù)據(jù)的長度、處理后數(shù)據(jù)的目的地址和第二控制信號(hào);
[0014]總線主處理模塊,用于接收所述FSM控制模塊發(fā)送的所述待處理數(shù)據(jù)的源地址、待處理數(shù)據(jù)的長度、所述處理后數(shù)據(jù)的目的地址和所述第二控制信號(hào),根據(jù)所述待處理數(shù)據(jù)的源地址、待處理數(shù)據(jù)的長度和所述第二控制信號(hào)從外部存儲(chǔ)器獲得待處理數(shù)據(jù),根據(jù)所述目的地址和所述第二控制信號(hào)將處理后數(shù)據(jù)寫到所述外部存儲(chǔ)器中;[0015]密碼流產(chǎn)生裝置,用于接收所述FSM控制模塊發(fā)送的所述參數(shù)和第一控制信號(hào)以及所述總線從處理模塊發(fā)送的所述密鑰,根據(jù)所述參數(shù)、所述密鑰和所述第一控制信號(hào)產(chǎn)生與所述待處理數(shù)據(jù)匹配的密碼流;
[0016]計(jì)算模塊,用于從所述總線主處理模塊獲得所述待處理數(shù)據(jù),從所述密碼流產(chǎn)生裝置獲得密碼流,對所述待處理數(shù)據(jù)和所述密碼流進(jìn)行異或操作,并向所述總線主處理模塊發(fā)送進(jìn)行異或操作后的所述處理后數(shù)據(jù)。
[0017]優(yōu)選地,所述總線從處理模塊采用的是高性能總線(AHB)從接ロ ;或者,所述總線主處理模塊采用的是高級(jí)可擴(kuò)展(AXI)主接ロ或AHB主接ロ。
[0018]優(yōu)選地,所述總線主處理模塊包括輸入緩存和輸出緩存;
[0019]所述總線主處理模塊,具體用于:根據(jù)所述源地址、所述待處理數(shù)據(jù)的長度和所述第二控制信號(hào)從外部存儲(chǔ)器將所述待處理數(shù)據(jù)讀入所述輸入緩存中;根據(jù)所述目的地址和所述第二控制信號(hào)從所述輸出緩存中將所述處理后數(shù)據(jù)寫到所述外部存儲(chǔ)器中。
[0020]優(yōu)選地,所述計(jì)算模塊,具體用于以字節(jié)為單位分組進(jìn)行異或操作,并向所述輸出緩存發(fā)送異或操作后的所述處理后數(shù)據(jù)。
[0021]優(yōu)選地,所述FSM控制模塊,具體用于根據(jù)所述控制信息,開啟對應(yīng)于所述密碼流產(chǎn)生裝置、所述總線主處理模塊和所述計(jì)算模塊的時(shí)鐘,向所述密碼流產(chǎn)生裝置發(fā)送所述參數(shù)和所述第一控制信號(hào),向所述總線主處理模塊發(fā)送所述待處理數(shù)據(jù)的源地址、所述待處理數(shù)據(jù)的長度、所述處理后數(shù)據(jù)的目的地址和所述第二控制信號(hào)。
[0022]優(yōu)選地,所述FSM控制模塊,還用于在所述密碼流產(chǎn)生裝置未產(chǎn)生密碼流且所述FSM控制模塊狀態(tài)空閑時(shí),關(guān)閉對應(yīng)于所述密碼流產(chǎn)生裝置、所述總線主處理模塊和所述計(jì)算模塊的時(shí)鐘。
[0023]優(yōu)選地,所述FSM控制模塊,還用于控制所述總線主處理模塊接收外部發(fā)送的所述控制信息,向所述總線主處理模塊發(fā)送第三讀取控制信號(hào),接收所述總線主處理模塊根據(jù)所述第三讀取控制信號(hào)發(fā)送的所述參數(shù),以及,向所述密碼流產(chǎn)生裝置發(fā)送所述參數(shù)和第一控制信號(hào)。
[0024]優(yōu)選地,所述待處理數(shù)據(jù)為待加密數(shù)據(jù),所述處理后數(shù)據(jù)為加密后數(shù)據(jù),所述參數(shù)為加密參數(shù),所述密鑰為加密密鑰;或者,所述待處理數(shù)據(jù)為待解密數(shù)據(jù),所述處理后數(shù)據(jù)為解密后數(shù)據(jù),所述參數(shù)為解密參數(shù),所述密鑰為解密密鑰。
[0025]本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)加解密方法,該方法包括:
[0026]配置產(chǎn)生密碼流所需的參數(shù)和密鑰、待處理數(shù)據(jù)的源地址、待處理數(shù)據(jù)的長度以及處理后數(shù)據(jù)的目的地址;
[0027]根據(jù)所述源地址和待處理數(shù)據(jù)的長度從外部存儲(chǔ)器獲得待處理數(shù)據(jù);
[0028]根據(jù)所述參數(shù)和所述密鑰產(chǎn)生與所述待處理數(shù)據(jù)匹配的密碼流;
[0029]對所述待處理數(shù)據(jù)和所述密碼流進(jìn)行異或操作,并根據(jù)所述處理后數(shù)據(jù)的目的地址將進(jìn)行異或操作后的數(shù)據(jù)發(fā)送至所述外部存儲(chǔ)器。
[0030]優(yōu)選地,所述根據(jù)所述源地址和待處理數(shù)據(jù)的長度從外部存儲(chǔ)器獲得待處理數(shù)據(jù),包括:
[0031]根據(jù)所述源地址和待處理數(shù)據(jù)的長度將從外部存儲(chǔ)器獲得的待處理數(shù)據(jù)讀入輸入緩存中;[0032]所述對所述待處理數(shù)據(jù)和所述密碼流進(jìn)行異或操作,并根據(jù)所述處理后數(shù)據(jù)的目的地址將進(jìn)行異或操作后的數(shù)據(jù)發(fā)送至所述外部存儲(chǔ)器,包括:
[0033]以字節(jié)為單位分組對所述待處理數(shù)據(jù)和所述密碼流進(jìn)行異或操作,根據(jù)所述處理后數(shù)據(jù)的目的地址將進(jìn)行異或操作后的數(shù)據(jù)發(fā)送至輸出緩存,再從所述輸出緩存將所述數(shù)據(jù)發(fā)送至所述外部存儲(chǔ)器。
[0034]優(yōu)選地,所述待處理數(shù)據(jù)為待加密數(shù)據(jù),所述處理后數(shù)據(jù)為加密后數(shù)據(jù),所述參數(shù)為加密參數(shù),所述密鑰為加密密鑰;或者,所述待處理數(shù)據(jù)為待解密數(shù)據(jù),所述處理后數(shù)據(jù)為解密后數(shù)據(jù),所述參數(shù)為解密參數(shù),所述密鑰為解密密鑰。
[0035]上述數(shù)據(jù)加解密方法及系統(tǒng),以易實(shí)現(xiàn)的方式解決ZUC算法產(chǎn)生密碼流所需的復(fù)雜計(jì)算,同時(shí)解決了傳統(tǒng)直接內(nèi)存存取(DMA)方式存取數(shù)據(jù)較慢和不夠靈活的問題,保證加解密的效率和匹配,同時(shí)降低了功耗。
【專利附圖】

【附圖說明】
[0036]圖1是現(xiàn)有ZUC初始化階段的原理圖;
[0037]圖2是現(xiàn)有ZUC加密碼產(chǎn)生的原理圖;
[0038]圖3是現(xiàn)有ZUC加密過程的示意圖;
[0039]圖4是本發(fā)明數(shù)據(jù)加解密系統(tǒng)實(shí)施例的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0040]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文中將結(jié)合附圖對本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說明。需要說明的是,在不沖突的情況下,本申請中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。
[0041]如圖4所示,是本發(fā)明數(shù)據(jù)加解密系統(tǒng)實(shí)施例的結(jié)構(gòu)示意圖,該系統(tǒng)包括總線從處理模塊41、有限狀態(tài)機(jī)(FSM)控制模塊42、總線主處理模塊43、密碼流產(chǎn)生裝置44和計(jì)算模塊45,其中:
[0042]總線從處理模塊,用于保存來自外部的控制信息和產(chǎn)生密碼流所需的密鑰,所述控制信息包括產(chǎn)生密碼流所需的參數(shù)、待處理數(shù)據(jù)的源地址、待處理數(shù)據(jù)的長度和處理后數(shù)據(jù)的目的地址;以及,根據(jù)有限狀態(tài)機(jī)(FSM)控制模塊發(fā)送的第一讀取控制信號(hào)向所述FSM控制模塊發(fā)送所述控制信息和根據(jù)所述FSM控制模塊發(fā)送的第二讀取控制信號(hào)向密碼流產(chǎn)生裝置發(fā)送所述密鑰;
[0043]所述FSM控制模塊,用于控制所述總線從處理模塊接收外部發(fā)送的所述控制信息和所述密鑰,向所述總線從處理模塊發(fā)送所述第一讀取控制信號(hào)和所述第二讀取控制信號(hào),接收所述總線從處理模塊發(fā)送的所述控制信息;以及,向所述密碼流產(chǎn)生裝置發(fā)送所述參數(shù)和第一控制信號(hào),向所述總線主處理模塊發(fā)送所述待處理數(shù)據(jù)的源地址、待處理數(shù)據(jù)的長度、處理后數(shù)據(jù)的目的地址和第二控制信號(hào);
[0044]總線主處理模塊,用于接收所述FSM控制模塊發(fā)送的所述待處理數(shù)據(jù)的源地址、待處理數(shù)據(jù)的長度、所述處理后數(shù)據(jù)的目的地址和所述第二控制信號(hào),根據(jù)所述待處理數(shù)據(jù)的源地址、待處理數(shù)據(jù)的長度和所述第二控制信號(hào)從外部存儲(chǔ)器獲得待處理數(shù)據(jù),根據(jù)所述目的地址和所述第二控制信號(hào)將處理后數(shù)據(jù)寫到所述外部存儲(chǔ)器中;[0045]密碼流產(chǎn)生裝置,用于接收所述FSM控制模塊發(fā)送的所述參數(shù)和第一控制信號(hào)以及所述總線從處理模塊發(fā)送的所述密鑰,根據(jù)所述參數(shù)、所述密鑰和所述第一控制信號(hào)產(chǎn)生與所述待處理數(shù)據(jù)匹配的密碼流;
[0046]計(jì)算模塊,用于從所述總線主處理模塊獲得所述待處理數(shù)據(jù),從所述密碼流產(chǎn)生裝置獲得密碼流,對所述待處理數(shù)據(jù)和所述密碼流進(jìn)行異或操作,并向所述總線主處理模塊發(fā)送進(jìn)行異或操作后的所述處理后數(shù)據(jù)。
[0047]其中,所述待處理數(shù)據(jù)為待加密數(shù)據(jù),所述處理后數(shù)據(jù)為加密后數(shù)據(jù),所述參數(shù)為加密參數(shù),所述密鑰為加密密鑰;或者,所述待處理數(shù)據(jù)為待解密數(shù)據(jù),所述處理后數(shù)據(jù)為解密后數(shù)據(jù),所述參數(shù)為解密參數(shù),所述密鑰為解密密鑰。
[0048]上述總線從處理模塊采用的接ロ是AMBA2.0協(xié)議規(guī)定的AHB從接ロ。
[0049]上述FSM控制模塊是系統(tǒng)的控制中心,根據(jù)總線從處理模塊傳來的參數(shù)信息,首先打開各個(gè)模塊的時(shí)鐘,然后將密碼流產(chǎn)生裝置所需的參數(shù)傳給密碼流產(chǎn)生裝置用于產(chǎn)生密碼流;同時(shí)將數(shù)據(jù)的源/目的地址信息傳給總線主處理模塊,啟動(dòng)數(shù)據(jù)從外部存儲(chǔ)器讀入內(nèi)部的輸入緩存(buffer)。當(dāng)數(shù)據(jù)讀入輸入buffer并且密碼流已經(jīng)開始產(chǎn)生之后,由計(jì)算模塊對數(shù)據(jù)和密碼流進(jìn)行異或處理,完成加密或解密后寫入到總線主處理模塊的輸出buffer里,最后輸出到外部存儲(chǔ)器。數(shù)據(jù)從外部存儲(chǔ)器讀入輸入buffer可能會(huì)受到各種原因不能及時(shí)讀入,輸出buffer的數(shù)據(jù)也可能受各種原因不能及時(shí)寫的外部存儲(chǔ)器里,該FSM控制模塊自動(dòng)根據(jù)輸入、輸出buffer的數(shù)據(jù)空、滿情況控制加密裝置產(chǎn)生密碼流的速度,保證數(shù)據(jù)跟密碼流之間的順序是匹配的。具體地,上述第一控制信號(hào)包括加密停止信號(hào)和暫停信號(hào),上述密碼流產(chǎn)生裝置能夠根據(jù)待處理數(shù)據(jù)長度,數(shù)據(jù)讀出/寫入效率,暫停加密碼的產(chǎn)生,保證待處理數(shù)據(jù)和加密碼的順序是匹配的。當(dāng)加密完成且加密后數(shù)據(jù)已經(jīng)輸出到外部存儲(chǔ)器后,停止加密碼的產(chǎn)生。自動(dòng)關(guān)閉所有模塊的時(shí)鐘,以節(jié)省功耗。
[0050]上述總線主處理模塊包括輸入buffer和輸出buffer,負(fù)責(zé)數(shù)據(jù)從外部存儲(chǔ)器讀數(shù)據(jù)到輸入buffer和將數(shù)據(jù)從輸出buffer寫到外部存儲(chǔ)器中。當(dāng)本模塊啟動(dòng)工作后,根據(jù)FSM控制模塊過來的控制信息從外部存儲(chǔ)器將數(shù)據(jù)讀入輸入buffer中,當(dāng)數(shù)據(jù)沒有全部讀進(jìn)來且輸入buffer不滿時(shí)就不斷從外部存儲(chǔ)器讀數(shù)據(jù);當(dāng)輸出buffer有一定數(shù)據(jù)量吋,數(shù)據(jù)開始寫到外部存儲(chǔ)器里,直到所有數(shù)據(jù)都寫完為止。
[0051]總線主處理模塊采用AMBA3.0的AXI master接ロ,非常方便對外部存儲(chǔ)器進(jìn)行數(shù)據(jù)讀寫,極大提高了數(shù)據(jù)進(jìn)出本裝置的速度,也即提高了數(shù)據(jù)加密速度,是本系統(tǒng)重要改進(jìn)點(diǎn)之一。例如,在133MHz時(shí)鐘下產(chǎn)生密碼流,其吞吐率為1.42Gbps。此外,總線主處理模塊不限于使用AXI主接ロ,還可以采用其他接ロ,例如AHB主接ロ。
[0052]需要說明的是,上述控制參數(shù)也可以由所述FSM控制模塊控制所述總線主處理模塊從外部接收,然后向所述總線主處理模塊發(fā)送第三讀取控制信號(hào),接收所述總線主處理模塊根據(jù)所述第三讀取控制信號(hào)發(fā)送的所述參數(shù),以及,向所述密碼流產(chǎn)生裝置發(fā)送所述參數(shù)和第一控制信號(hào)。
[0053]另外,上述計(jì)算模塊采用多字節(jié)分組計(jì)算方法,相對于現(xiàn)有以比特為單位進(jìn)行異或計(jì)算的方法,大大提高了加解密運(yùn)算的效率。
[0054]上述系統(tǒng)適用于LTE等系統(tǒng)。
[0055]由此可見,上述數(shù)據(jù)加解密系統(tǒng)采用硬件方式實(shí)現(xiàn)了高速數(shù)據(jù)加密,提高了產(chǎn)生密碼流的速度;采用了總線主處理接ロ,高速靈活地對外部存儲(chǔ)器讀寫,提高數(shù)據(jù)進(jìn)出該密碼流產(chǎn)生裝置的速度;FSM控制模塊根據(jù)硬件狀態(tài)關(guān)閉時(shí)鐘,從而降低功耗;[0056]綜上所述,上述數(shù)據(jù)加解密系統(tǒng),采用了一種新穎的硬件架構(gòu),提高了數(shù)據(jù)從外部存儲(chǔ)器讀寫的速度和加密計(jì)算速度,進(jìn)而提高系統(tǒng)的吞吐率,采用了密碼流產(chǎn)生控制信號(hào),合理的協(xié)調(diào)了密碼流的產(chǎn)生速度,提高系統(tǒng)的適用性,采用開關(guān)時(shí)鐘的方法降低了系統(tǒng)功耗。
[0057]應(yīng)用于上述數(shù)據(jù)加解密系統(tǒng)的數(shù)據(jù)加解密方法包括:
[0058]步驟一、配置產(chǎn)生密碼流所需的參數(shù)和密鑰、待處理數(shù)據(jù)的源地址、待處理數(shù)據(jù)的長度以及處理后數(shù)據(jù)的目的地址;
[0059]步驟二、根據(jù)所述源地址和待加密數(shù)據(jù)的長度從外部存儲(chǔ)器獲得待加密數(shù)據(jù);
[0060]該步驟可以為:根據(jù)所述源地址和待加密數(shù)據(jù)的長度將從外部存儲(chǔ)器獲得的待加密數(shù)據(jù)讀入輸入緩存中;
[0061]步驟三、根據(jù)所述參數(shù)和所述密鑰產(chǎn)生與所述待處理數(shù)據(jù)匹配的密碼流;
[0062]步驟四、對所述待處理數(shù)據(jù)和所述密碼流進(jìn)行異或操作,并根據(jù)所述處理后數(shù)據(jù)的目的地址將進(jìn)行異或操作后的數(shù)據(jù)發(fā)送至所述外部存儲(chǔ)器。
[0063]該步驟可以為:以字節(jié)為單位分組對所述待處理數(shù)據(jù)和所述密碼流進(jìn)行異或操作,根據(jù)所述處理后數(shù)據(jù)的目的地址將進(jìn)行異或操作后的數(shù)據(jù)發(fā)送至輸出緩存,再從所述輸出緩存將所述數(shù)據(jù)發(fā)送至所述外部存儲(chǔ)器。
[0064]其中,所述待處理數(shù)據(jù)為待加密數(shù)據(jù),所述處理后數(shù)據(jù)為加密后數(shù)據(jù),所述參數(shù)為加密參數(shù),所述密鑰為加密密鑰;或者,所述待處理數(shù)據(jù)為待解密數(shù)據(jù),所述處理后數(shù)據(jù)為解密后數(shù)據(jù),所述參數(shù)為解密參數(shù),所述密鑰為解密密鑰。
[0065]下面以加密過程為例進(jìn)行描述,根據(jù)所述參數(shù)和密鑰與所述待加密數(shù)據(jù)匹配的密碼流的產(chǎn)生包括兩大過程:
[0066]I)初始化階段,過程如下:
[0067]11)給LFSR的16個(gè)寄存器Stl-S1J^置初值,如下所示,其中| |表示拼接,?.表示按位異或,田表示模32加,Sia為30-15位,SiL為15-0位,(al,a2,…,an) — (bl,b2,…,bn)表示a到b的賦值是并行的;
[0068]設(shè)D為240bit的常數(shù)串,由16個(gè)15bit的子串組成:
[0069]D = d0 I I dl I 1...| | dl5,
[0070]其中,
[0071]d0 = 1000100110101112,
[0072]dl = 0 1 00110 1 01111002,
[0073]d2 = 1100010011010112,
[0074]d3 = 00 1 00110 1 0111102,
[0075]d4 = 1010111100010012,
[0076]d5 = 0110 1 01111000 1 02,
[0077]d6 = 1110001001101012,
[0078]d7 = 0001001101011112,
[0079]d8 = 100110 1 011110002,[0080]d9 = 0101111000100112,
[0081]dlO = 110 1 01111000 1 002,
[0082]dll = 0011010111100012,
[0083]dl2 = 101111000 1 001102,
[0084]dl3 = 0111100010011012,
[0085]dl4 = 1111000 1 00110 1 02,
[0086]dl5 = 100011110 1 011002.[0087]當(dāng)O ≤ i ≤ 15 時(shí),Si = ki||di || ivi .ki 和 Ivi 是以字節(jié)為單位。
[0088]IV [0] = COUNT [0],IV [I] = COUNT [I],
[0089]IV [2] = COUNT [2],IV [3] = COUNT [3],
[0090]IV [4] = BEARER DIRECTION OO2,
[0091]IV [5] = IV [6] = IV [7] = 00 0 0 0 0 002,
[0092]IV[8] = IV[0], IV[9] = IV[1],
[0093]IV[10] = IV[2], IV[11] = IV[3],
[0094]IV[12] = IV[4], IV[13] = IV[5],
[0095]IV[14] = IV[6], IV[15] = IV[7];
[0096]12)R1,R2 賦初值為 O ;
[0097]13)以下過程重復(fù)32次:
[0098]首先抽取LFSR中的寄存器比特重組為Xtl-X3:
[0099]X0 — S15h I I S14l ;
[0100]X1 = s11L| |s9H;
[0101]X2 = S7l I I S5h ;
[0102]X3 = s2L| |soh.[0103]接著將Xtl-X3送入F進(jìn)行處理:
[0104]
W = (Xu十R1)田 R2;
[0105]
Wi= Ri 田 Xi;
[0106]W2= R2 十 X2;
[0107]R1 = S (L1 (ff1L I |ff2H));
[0108]R2 = S (L2 (ff2L I |ff1H));
[0109]其中,S表示S盒變換,功能是將32比特的輸入通過查找表Stl或S1變換為32比特的輸出;1^,L2是ー種線性變換,將32比特的輸入線性變換成32比特的輸出:
[0110]
Ll(X)=X ? (X<?322) 0 (X<<<32IO) ? (X?<3218)十(X<<<3224),
[0111]
L2 (X)=X 十(X?C,28)十(X?C'214)十(X?CU22)十(X?CU30).[0112]最后F產(chǎn)生的W送到LFSR初始化階段,進(jìn)行寄存器的更新:
[0113]V = 215S15+217S13+221S10+220 S4+ (1+28) S0mod (231-1);[0114]S16 = (v+u)mod(231-l);
[0115]如果S16 = 0,那么 S16 = 231-1 ;
[0116](S1, S2, , S15, S16) — (S0, S1, , S14, S15).[0117]2)初始化完成之后,開始產(chǎn)生密碼流。過程如下:
[0118]21)抽取LFSR中的寄存器比特重組為Xtl-X3 ;
[0119]X0 — S15h I I S14l ;
[0120]X1 = s11L| |s9H;
[0121]X2 = S7l I I S5h ;
[0122]X3 = S2l I I Soh;
[0123]22)將Xtl-X3送入F進(jìn)行處理,第一次運(yùn)行丟棄W進(jìn)入24),以后每次運(yùn)行保留W送到 23);
[0124]
W = (Xil十R丨)田R
[0125]
W1= Rl 田 X!;
[0126]W2= R2 十 X2;
[0127]R1 = S (L1 (ff1L I |ff2H));
[0128]R2 = S (L2 (ff2L I |W1H));
[0129]其中S表示S盒變換,功能是將32比特的輸入通過查找表Stl或S1變換為32比特的輸出;U,L2是ー種線性變換,將32比特的輸入線性變換成32比特的輸出:
[0130]
Li (X) =X 0 (X<?322) 0 (X<<<32IO) ? (X<<<32I8) ? (X?<3224),
[0131]
L2 (X)=X 十(X<<<328)十(X<?J4) ? (X?<;-222)十(X<<<;230).[0132]23)LFSR密碼流產(chǎn)生;
[0133]Z=W 十 X3
[0134]24) LRSR密碼流產(chǎn)生階段下寄存器更新;
[0135]S16 = 215S15+217S13+221S10+220S4+ (1+28) S0mod (231-1);
[0136]如果S16 = 0,那么 S16 = 231-1 ;
[0137](S1, S2, , S15, S16) — (S0, S1, , S14, S15)
[0138]重復(fù)以上步驟21)、22)、23)、24),每次都產(chǎn)生321^セ的密碼流。
[0139]本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過程序來指令相關(guān)硬件完成,上述程序可以存儲(chǔ)于計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如只讀存儲(chǔ)器、磁盤或光盤等??蛇x地,上述實(shí)施例的全部或部分步驟也可以使用ー個(gè)或多個(gè)集成電路來實(shí)現(xiàn)。相應(yīng)地,上述實(shí)施例中的各模塊/単元可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。本發(fā)明不限制于任何特定形式的硬件和軟件的結(jié)合。
[0140]以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案而非限制,僅僅參照較佳實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)說明。本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍,均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
【權(quán)利要求】
1.一種數(shù)據(jù)加解密系統(tǒng),其特征在干,該系統(tǒng)包括: 總線從處理模塊,用于保存來自外部的控制信息和產(chǎn)生密碼流所需的密鑰,所述控制信息包括產(chǎn)生密碼流所需的參數(shù)、待處理數(shù)據(jù)的源地址、待處理數(shù)據(jù)的長度和處理后數(shù)據(jù)的目的地址;以及,根據(jù)有限狀態(tài)機(jī)(FSM)控制模塊發(fā)送的第一讀取控制信號(hào)向所述FSM控制模塊發(fā)送所述控制信息和根據(jù)所述FSM控制模塊發(fā)送的第二讀取控制信號(hào)向密碼流產(chǎn)生裝置發(fā)送所述密鑰; 所述FSM控制模塊,用于控制所述總線從處理模塊接收外部發(fā)送的所述控制信息和所述密鑰,向所述總線從處理模塊發(fā)送所述第一讀取控制信號(hào)和所述第二讀取控制信號(hào),接收所述總線從處理模塊發(fā)送的所述控制信息;以及,向所述密碼流產(chǎn)生裝置發(fā)送所述參數(shù)和第一控制信號(hào),向所述總線主處理模塊發(fā)送所述待處理數(shù)據(jù)的源地址、待處理數(shù)據(jù)的長度、處理后數(shù)據(jù)的目的地址和第二控制信號(hào); 總線主處理模塊,用于接收所述FSM控制模塊發(fā)送的所述待處理數(shù)據(jù)的源地址、待處理數(shù)據(jù)的長度、所述處理后數(shù)據(jù)的目的地址和所述第二控制信號(hào),根據(jù)所述待處理數(shù)據(jù)的源地址、待處理數(shù)據(jù)的長度和所述第二控制信號(hào)從外部存儲(chǔ)器獲得待處理數(shù)據(jù),根據(jù)所述目的地址和所述第二控制信號(hào)將處理后數(shù)據(jù)寫到所述外部存儲(chǔ)器中; 密碼流產(chǎn)生裝置,用于接收所述FSM控制模塊發(fā)送的所述參數(shù)和第一控制信號(hào)以及所述總線從處理模塊發(fā)送的所述密鑰,根據(jù)所述參數(shù)、所述密鑰和所述第一控制信號(hào)產(chǎn)生與所述待處理數(shù)據(jù)匹配的密碼流; 計(jì)算模塊,用于從所述總線主處理模塊獲得所述待處理數(shù)據(jù),從所述密碼流產(chǎn)生裝置獲得密碼流,對所述待處理數(shù)據(jù)和所述密碼流進(jìn)行異或操作,并向所述總線主處理模塊發(fā)送進(jìn)行異或操作后的所述處理后數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于: 所述總線從處理模塊采用的是`高性能總線(AHB)從接ロ ;或者 所述總線主處理模塊采用的是高級(jí)可擴(kuò)展(AXI)主接ロ或AHB主接ロ。
3.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于: 所述總線主處理模塊包括輸入緩存和輸出緩存; 所述總線主處理模塊,具體用于:根據(jù)所述源地址、所述待處理數(shù)據(jù)的長度和所述第二控制信號(hào)從外部存儲(chǔ)器將所述待處理數(shù)據(jù)讀入所述輸入緩存中;根據(jù)所述目的地址和所述第二控制信號(hào)從所述輸出緩存中將所述處理后數(shù)據(jù)寫到所述外部存儲(chǔ)器中。
4.根據(jù)權(quán)利要求3所述的系統(tǒng),其特征在于: 所述計(jì)算模塊,具體用于以字節(jié)為單位分組進(jìn)行異或操作,并向所述輸出緩存發(fā)送異或操作后的所述處理后數(shù)據(jù)。
5.根據(jù)權(quán)利要求3所述的系統(tǒng),其特征在于: 所述FSM控制模塊,具體用于根據(jù)所述控制信息,開啟對應(yīng)于所述密碼流產(chǎn)生裝置、所述總線主處理模塊和所述計(jì)算模塊的時(shí)鐘,向所述密碼流產(chǎn)生裝置發(fā)送所述參數(shù)和所述第ー控制信號(hào),向所述總線主處理模塊發(fā)送所述待處理數(shù)據(jù)的源地址、所述待處理數(shù)據(jù)的長度、所述處理后數(shù)據(jù)的目的地址和所述第二控制信號(hào)。
6.根據(jù)權(quán)利要求5所述的系統(tǒng),其特征在于: 所述FSM控制模塊,還用于在所述密碼流產(chǎn)生裝置未產(chǎn)生密碼流且所述FSM控制模塊狀態(tài)空閑時(shí),關(guān)閉對應(yīng)于所述密碼流產(chǎn)生裝置、所述總線主處理模塊和所述計(jì)算模塊的時(shí)鐘。
7.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于: 所述FSM控制模塊,還用于控制所述總線主處理模塊接收外部發(fā)送的所述控制信息,向所述總線主處理模塊發(fā)送第三讀取控制信號(hào),接收所述總線主處理模塊根據(jù)所述第三讀取控制信號(hào)發(fā)送的所述參數(shù),以及,向所述密碼流產(chǎn)生裝置發(fā)送所述參數(shù)和第一控制信號(hào)。
8.根據(jù)權(quán)利要求1-7任ー權(quán)利要求所述的系統(tǒng),其特征在于: 所述待處理數(shù)據(jù)為待加密數(shù)據(jù),所述處理后數(shù)據(jù)為加密后數(shù)據(jù),所述參數(shù)為加密參數(shù),所述密鑰為加密密鑰;或者 所述待處理數(shù)據(jù)為待解密數(shù)據(jù),所述處理后數(shù)據(jù)為解密后數(shù)據(jù),所述參數(shù)為解密參數(shù),所述密鑰為解密密鑰。
9.一種數(shù)據(jù)加解密方法,其特征在于,該方法包括: 配置產(chǎn)生密碼流所需的參數(shù)和密鑰、待處理數(shù)據(jù)的源地址、待處理數(shù)據(jù)的長度以及處理后數(shù)據(jù)的目的地址; 根據(jù)所述源地址和待處理數(shù)據(jù)的長度從外部存儲(chǔ)器獲得待處理數(shù)據(jù); 根據(jù)所述參數(shù)和所述密鑰產(chǎn)生與所述待處理數(shù)據(jù)匹配的密碼流; 對所述待處理數(shù)據(jù)和所述密碼流進(jìn)行異或操作,并根據(jù)所述處理后數(shù)據(jù)的目的地址將進(jìn)行異或操作后的數(shù)據(jù)發(fā)送至所述`外部存儲(chǔ)器。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于:所述根據(jù)所述源地址和待處理數(shù)據(jù)的長度從外部存儲(chǔ)器獲得待處理數(shù)據(jù),包括: 根據(jù)所述源地址和待處理數(shù)據(jù)的長度將從外部存儲(chǔ)器獲得的待處理數(shù)據(jù)讀入輸入緩存中; 所述對所述待處理數(shù)據(jù)和所述密碼流進(jìn)行異或操作,并根據(jù)所述處理后數(shù)據(jù)的目的地址將進(jìn)行異或操作后的數(shù)據(jù)發(fā)送至所述外部存儲(chǔ)器,包括: 以字節(jié)為單位分組對所述待處理數(shù)據(jù)和所述密碼流進(jìn)行異或操作,根據(jù)所述處理后數(shù)據(jù)的目的地址將進(jìn)行異或操作后的數(shù)據(jù)發(fā)送至輸出緩存,再從所述輸出緩存將所述數(shù)據(jù)發(fā)送至所述外部存儲(chǔ)器。
11.根據(jù)權(quán)利要求9或10所述的方法,其特征在干: 所述待處理數(shù)據(jù)為待加密數(shù)據(jù),所述處理后數(shù)據(jù)為加密后數(shù)據(jù),所述參數(shù)為加密參數(shù),所述密鑰為加密密鑰;或者 所述待處理數(shù)據(jù)為待解密數(shù)據(jù),所述處理后數(shù)據(jù)為解密后數(shù)據(jù),所述參數(shù)為解密參數(shù),所述密鑰為解密密鑰。
【文檔編號(hào)】H04W12/02GK103517269SQ201210202675
【公開日】2014年1月15日 申請日期:2012年6月19日 優(yōu)先權(quán)日:2012年6月19日
【發(fā)明者】萬賢明, 馮奎景 申請人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
黑河市| 资阳市| 大城县| 丁青县| 千阳县| 外汇| 额敏县| 胶南市| 乌兰察布市| 大新县| 东明县| 临颍县| 炎陵县| 邛崃市| 泌阳县| 镇赉县| 中阳县| 广元市| 山西省| 九龙坡区| 渑池县| 西平县| 营口市| 屏东市| 兴义市| 丹阳市| 呼和浩特市| 商河县| 博乐市| 临泉县| 白玉县| 丽江市| 疏勒县| 龙川县| 深州市| 孟州市| 武隆县| 潜江市| 宁阳县| 富蕴县| 浮梁县|