[發(fā)明專利]一種面向字節(jié)的密鑰流生成方法及加密方法有效
| 申請(qǐng)?zhí)枺?/td> | 201010177963.0 | 申請(qǐng)日: | 2010-05-14 |
| 公開(公告)號(hào): | CN101826959A | 公開(公告)日: | 2010-09-08 |
| 發(fā)明(設(shè)計(jì))人: | 馮登國(guó);馮秀濤;張文濤;范修斌;武傳坤 | 申請(qǐng)(專利權(quán))人: | 中國(guó)科學(xué)院軟件研究所 |
| 主分類號(hào): | H04L9/06 | 分類號(hào): | H04L9/06 |
| 代理公司: | 北京君尚知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11200 | 代理人: | 余長(zhǎng)江 |
| 地址: | 100190*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 面向 字節(jié) 密鑰 生成 方法 加密 | ||
技術(shù)領(lǐng)域
本發(fā)明主要應(yīng)用于信息安全傳輸領(lǐng)域,具體涉及一種用于產(chǎn)生加密用密鑰流序列的密鑰流生成方法及加密方法。
背景技術(shù)
密碼技術(shù)歷史悠久,最初用于保護(hù)軍事和外交通信安全。但是,隨著通信網(wǎng)絡(luò)和計(jì)算機(jī)網(wǎng)絡(luò)的普及,現(xiàn)代密碼學(xué)的應(yīng)用不再局限于政治、軍事和外交,其商業(yè)價(jià)值和社會(huì)價(jià)值得到了廣泛的認(rèn)同。保密是密碼學(xué)的核心,而加密是獲得信息保密的實(shí)用工具?,F(xiàn)代加密技術(shù)就是一些數(shù)學(xué)變換(算法),在加密者擁有的秘密信息(加密密鑰)控制下,將要加密的信息(明文)變換成難于理解和與隨機(jī)信息難于區(qū)分的信息(密文),通過不安全的信道傳送給接收者。而解密操作,就是在接收者擁有的秘密信息(解密密鑰)的控制下,將密文恢復(fù)成明文。根據(jù)加、解密者擁有的密鑰是否相同,可以把加密算法分為公鑰密碼算法和私鑰密碼算法。公鑰密碼算法的加、解密密鑰不同,加密密鑰一般是公開的,解密密鑰為消息接收者私有。私鑰密碼算法的加、解密密鑰一般是相同的,均是保密的。而且加、解密的變換一般也是相同或相似的。
私鑰密碼算法又分為分組密碼算法和流密碼算法。分組密碼算法一般對(duì)消息進(jìn)行分塊加密,算法運(yùn)行一次加密一個(gè)較大的消息塊。流密碼算法一般用一個(gè)短的密鑰,用特定的密鑰流生成算法,生成與要加密的消息長(zhǎng)度相當(dāng)?shù)拿荑€流序列,將密鑰流序列與明文按位異或達(dá)到加密的目的。而解密方生成同樣的密鑰流序列,與密文異或,即可得到明文。所以,流密碼算法的關(guān)鍵是設(shè)計(jì)安全快速的密鑰流生成算法。
流密碼一直是各國(guó)爭(zhēng)相研究的熱門課題。因?yàn)樗哂袑?shí)現(xiàn)簡(jiǎn)單,加密速度快(比分組密碼快5到10倍)、無或只有有限的錯(cuò)誤傳播等特點(diǎn)。隨著通信網(wǎng)絡(luò)和計(jì)算機(jī)網(wǎng)絡(luò)的高速發(fā)展,傳統(tǒng)的運(yùn)行一次生成一個(gè)比特的密鑰流生成方法已經(jīng)不能滿足實(shí)現(xiàn)速度上的需要,尤其是軟件實(shí)現(xiàn)方面,一些面向字的密鑰流生成方法逐漸被設(shè)計(jì)出來,即運(yùn)行一次生成若干比特的密鑰字,由密鑰字組成密鑰流序列。例如SNOW?3G算法、Rabbit算法。
在此背景下,需要一種面向字,尤其是面向字節(jié)的密鑰流生成方法及加密的方法,適合軟硬件實(shí)現(xiàn)并且安全性高。
本發(fā)明的目的在于提供一種面向單字節(jié)(8比特)的密鑰流生成方法,以初始密鑰和初始向量作為輸入,產(chǎn)生一定長(zhǎng)度的密鑰流序列。本方法能夠在軟、硬件上快速實(shí)現(xiàn),生成的密鑰流序列有良好的隨機(jī)性和非線性性。本發(fā)明的另一目的在于提供一種加密方法,利用本發(fā)明提供的密鑰流生成方法產(chǎn)生的密鑰流序列對(duì)消息進(jìn)行加密。
為了達(dá)到上述發(fā)明目的,本發(fā)明的技術(shù)方案概述如下:
一種面向字節(jié)的密鑰流生成方法,包括以下步驟,
1)生成步驟,利用線性反饋移位寄存器生成一個(gè)源序列;
2)混淆步驟,采用非線性函數(shù)F和BOMM函數(shù)兩部分順序構(gòu)成,所述非線性函數(shù)F將源序列中的若干字節(jié)進(jìn)行非線性壓縮變換,產(chǎn)生一個(gè)字節(jié)的輸出,所述BOMM函數(shù)接收非線性函數(shù)F的輸出作為輸入;
3)輸出步驟,BOMM的輸出和源序列的一個(gè)字節(jié)按位異或得到密鑰流。
所述非線性函數(shù)F部分,輸入為源序列的4個(gè)字節(jié),輸出為一個(gè)字節(jié),包含一個(gè)32比特的記憶單元,具體步驟為:
A、計(jì)算F函數(shù)輸出:取32比特記憶單元的8位作為F函數(shù)的輸出;
B、更新記憶單元:將源序列的4個(gè)字節(jié)并置成一個(gè)32比特的字,與記憶單元的值異或,異或后的32比特輸入4個(gè)并列的8進(jìn)8出的S盒,4個(gè)S盒的輸出進(jìn)入一個(gè)線性變換,線性變換的輸出更新寄存器的值;
BOMM函數(shù)部分,輸入、輸出均為一個(gè)8比特字節(jié)。此處將F函數(shù)的輸出作為BOMM的輸入。BOMM函數(shù)結(jié)構(gòu)包含16個(gè)記憶單元,每個(gè)記憶單元存放一個(gè)字節(jié),還包含2個(gè)8進(jìn)8出的S盒,具體步驟為:
A、計(jì)算BOMM輸出:取輸入字節(jié)的高4比特的值作為h,用第h個(gè)(從零開始計(jì)數(shù))記憶單元的內(nèi)容與輸入字節(jié)異或后作為BOMM的輸出;
B、更新記憶單元:取輸入字節(jié)的低4比特值作為1,將輸入字節(jié)經(jīng)過S盒運(yùn)算后的結(jié)果與第1個(gè)記憶單元的值異或,用于更新第1個(gè)記憶單元的值;
將已更新過的第1個(gè)記憶單元的值經(jīng)過S盒的變換后與第h個(gè)記憶單元的值異或,用于更新第h個(gè)記憶單元的值;
所述生成步驟采用有限域上的本原多項(xiàng)式作為線性反饋移位寄存器的反饋多項(xiàng)式。
為了達(dá)到上述另一發(fā)明目的,本發(fā)明的技術(shù)方案概述如下:
一種加密方法,其步驟包括:
1)將加密密鑰和初始向量利用密鑰擴(kuò)展算法裝入線性反饋移位寄存器,并進(jìn)行初始化操作;
2)生成一個(gè)字節(jié)的密鑰流,方法如下:
2-1)運(yùn)行非線性函數(shù)F,具體包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國(guó)科學(xué)院軟件研究所,未經(jīng)中國(guó)科學(xué)院軟件研究所許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010177963.0/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 光傳送網(wǎng)信號(hào)調(diào)度方法和裝置
- 跨平臺(tái)的字節(jié)序處理方法、裝置和字節(jié)碼運(yùn)行平臺(tái)
- 用于提高Java處理器取指令帶寬的字節(jié)碼緩沖裝置
- 用于基于圖塊的3D計(jì)算機(jī)圖形系統(tǒng)的可隨機(jī)訪問的無損參數(shù)數(shù)據(jù)壓縮
- 一種服務(wù)集群
- 針對(duì)主控芯片PS2251的數(shù)據(jù)加密方法
- 存儲(chǔ)器的修復(fù)方法
- 一種對(duì)字節(jié)數(shù)組進(jìn)行校驗(yàn)修正的方法和智能設(shè)備
- 循環(huán)移位處理裝置及方法
- 一種基于Unicode編碼的信息嵌入與提取方法





