成優(yōu)化的矩陣乘法轉(zhuǎn)換步驟,該擴(kuò)展查找表是 基于對(duì)原始查找表進(jìn)行擴(kuò)展而生成,最后再進(jìn)行密鑰二元加步驟,完成加密密鑰流一輪的 計(jì)算。
[0031] 本發(fā)明實(shí)施例提供的基于AES算法的加密密鑰流產(chǎn)生方法,直接對(duì)固定系數(shù)矩陣 中的各元素與待計(jì)算的字節(jié)矩陣中對(duì)應(yīng)的元素進(jìn)行點(diǎn)乘,獲得各點(diǎn)乘積,通過(guò)一個(gè)步驟即 可同時(shí)實(shí)現(xiàn)行位移和列混合運(yùn)算,在硬件實(shí)現(xiàn)上面,不用單獨(dú)進(jìn)行行位移,也無(wú)需對(duì)行位移 后的矩陣元素進(jìn)行緩存,有效的提高了處理效率,同時(shí)減少了硬件成本。
[0032] 在本發(fā)明的優(yōu)選方案中,通過(guò)預(yù)先設(shè)置擴(kuò)展查找表的方式,將所述矩陣乘法轉(zhuǎn)換 步驟用查表方式替代,無(wú)需進(jìn)行所述點(diǎn)乘計(jì)算,進(jìn)一步提高了處理效率。
[003引圖2為本發(fā)明實(shí)施例的基于AES算法的加密密鑰流產(chǎn)生方法的流程圖。如圖2所 示,該方法包括:
[0034] 步驟S200,在進(jìn)行加密密鑰流計(jì)算之前,基于原始查找表生成擴(kuò)展查找表。
[0035] 在現(xiàn)有的計(jì)算密鑰流的第一步矩陣乘法轉(zhuǎn)換的計(jì)算中,AES算法協(xié)議會(huì)給出一個(gè) 矩陣乘法轉(zhuǎn)換的查找表,即原始查找表,如下表所示:
[0036] 表 1
[0037]
【主權(quán)項(xiàng)】
1. 一種基于AES算法的加密密鑰流產(chǎn)生方法,其特征在于,包括: 獲取與待計(jì)算的字節(jié)矩陣的各元素對(duì)應(yīng)的新元素的表達(dá)式; 對(duì)所述各新元素的表達(dá)式分別進(jìn)行計(jì)算,以得到第一字節(jié)矩陣;以及 對(duì)所述第一字節(jié)矩陣進(jìn)行密鑰二元加計(jì)算。
2. 根據(jù)權(quán)利要求1的基于AES算法的加密密鑰流產(chǎn)生方法,其中所述與待計(jì)算的字節(jié) 矩陣的各元素對(duì)應(yīng)的新元素的表達(dá)式為:
其中,i表示所述新元素的行號(hào),j表示所述新元素的列號(hào),I表示所述待計(jì)算的字節(jié)矩 陣的總行數(shù),J表示所述待計(jì)算的字節(jié)矩陣的總列數(shù),Xu為與所述待計(jì)算的字節(jié)矩陣相乘 的字節(jié)矩陣中的元素,表示不同的點(diǎn)乘系數(shù),所述點(diǎn)乘系數(shù)包括:第一預(yù)設(shè)系數(shù),第二預(yù)設(shè) 系數(shù),及第三預(yù)設(shè)系數(shù)。
3. 根據(jù)權(quán)利要求2的基于AES算法的加密密鑰流產(chǎn)生方法,其中第一預(yù)設(shè)系數(shù)為 0x01,第二預(yù)設(shè)系數(shù)為0x02,及第三預(yù)設(shè)系數(shù)為0x03。
4. 根據(jù)權(quán)利要求2的基于AES算法的加密密鑰流產(chǎn)生方法,其中對(duì)所述各新元素的表 達(dá)式分別進(jìn)行計(jì)算包括:通過(guò)查找擴(kuò)展查找表進(jìn)行計(jì)算。
5. 根據(jù)權(quán)利要求4的基于AES算法的加密密鑰流產(chǎn)生方法,其中在所述獲取與待計(jì)算 的字節(jié)矩陣的各元素對(duì)應(yīng)的新元素的表達(dá)式之前,還包括:基于原始查找表生成所述擴(kuò)展 查找表。
6. 根據(jù)權(quán)利要求5的基于AES算法的加密密鑰流產(chǎn)生方法,其中所述基于原始查找表 生成所述擴(kuò)展查找表包括:依次對(duì)所述原始查找表中的每一個(gè)元素進(jìn)行如下處理,以得到 所述擴(kuò)展查找表中的對(duì)應(yīng)元素: 以所述原始查找表中的元素作為基礎(chǔ)元素,判斷所述基礎(chǔ)元素的最高位是否為1,如果 為1,則左移一位,再與一預(yù)設(shè)元素進(jìn)行異或,得到所述擴(kuò)展查找表中的對(duì)應(yīng)元素的一次擴(kuò) 展元素;否則,僅左移一位,得到所述擴(kuò)展查找表中的對(duì)應(yīng)元素的一次擴(kuò)展元素; 將所述一次擴(kuò)展元素與所述原始查找表中的元素進(jìn)行異或,得到所述擴(kuò)展查找表中的 對(duì)應(yīng)元素的二次擴(kuò)展元素;以及 拼接所述二次擴(kuò)展元素、一次擴(kuò)展元素及基礎(chǔ)元素,得到所述擴(kuò)展查找表中的對(duì)應(yīng)元 素。
7. 根據(jù)權(quán)利要求6的基于AES算法的加密密鑰流產(chǎn)生方法,其中所述通過(guò)查找擴(kuò)展查 找表進(jìn)行計(jì)算包括:查找所述擴(kuò)展查找表,對(duì)所述各新元素依次進(jìn)行如下計(jì)算,以得到對(duì)應(yīng) 的所述第一字節(jié)矩陣: 如果構(gòu)成所述新元素的待計(jì)算的字節(jié)矩陣元素的點(diǎn)乘系數(shù)為所述第一預(yù)設(shè)系數(shù),則在 所述擴(kuò)展查找表中,查詢(xún)出與所述待計(jì)算的字節(jié)矩陣元素對(duì)應(yīng)位置的元素的基礎(chǔ)元素,用 所述基礎(chǔ)元素替代所述待計(jì)算的字節(jié)矩陣元素與所述點(diǎn)乘系數(shù)的乘積; 如果構(gòu)成所述新元素的待計(jì)算的字節(jié)矩陣元素的點(diǎn)乘系數(shù)為所述第二預(yù)設(shè)系數(shù),則 在所述擴(kuò)展查找表中,查詢(xún)出與所述待計(jì)算的字節(jié)矩陣元素對(duì)應(yīng)位置的元素的一次擴(kuò)展元 素,用所述一次擴(kuò)展元素替代所述待計(jì)算的字節(jié)矩陣元素與所述點(diǎn)乘系數(shù)的乘積; 如果構(gòu)成所述新元素的待計(jì)算的字節(jié)矩陣元素的點(diǎn)乘系數(shù)為所述第三預(yù)設(shè)系數(shù),則 在所述擴(kuò)展查找表中,查詢(xún)出與所述待計(jì)算的字節(jié)矩陣元素對(duì)應(yīng)位置的元素的二次擴(kuò)展元 素,用所述二次擴(kuò)展元素替代所述待計(jì)算的字節(jié)矩陣元素與所述點(diǎn)乘系數(shù)的乘積;以及 將替代后的各元素進(jìn)行異或,得到對(duì)應(yīng)的所述第一字節(jié)矩陣中的相應(yīng)元素。
8. 根據(jù)權(quán)利要求7的基于AES算法的加密密鑰流產(chǎn)生方法,其中在所述擴(kuò)展查找表中, 與所述待計(jì)算的字節(jié)矩陣元素對(duì)應(yīng)位置的元素的X、y坐標(biāo)值分別為:所述待計(jì)算的字節(jié)矩 陣元素的高位4個(gè)比特的值,及所述待計(jì)算的字節(jié)矩陣元素的低位4個(gè)比特的值。
9. 根據(jù)權(quán)利要求2的基于AES算法的加密密鑰流產(chǎn)生方法,其中對(duì)所述各新元素的表 達(dá)式分別進(jìn)行計(jì)算包括: 如果構(gòu)成所述新元素的待計(jì)算的字節(jié)矩陣元素的點(diǎn)乘系數(shù)為所述第一預(yù)設(shè)系數(shù),則在 原始查找表中,查詢(xún)出與所述待計(jì)算的字節(jié)矩陣元素對(duì)應(yīng)位置的元素,用所述對(duì)應(yīng)位置的 元素替代所述待計(jì)算的字節(jié)矩陣元素與所述點(diǎn)乘系數(shù)的乘積; 如果構(gòu)成所述新元素的待計(jì)算的字節(jié)矩陣元素的點(diǎn)乘系數(shù)為所述第二預(yù)設(shè)系數(shù),則在 原始查找表中,查詢(xún)出與所述待計(jì)算的字節(jié)矩陣元素對(duì)應(yīng)位置的元素,對(duì)所述對(duì)應(yīng)位置的 元素進(jìn)行移位操作,得到移位操作后的元素,用所述移位操作后的元素替代所述待計(jì)算的 字節(jié)矩陣元素與所述點(diǎn)乘系數(shù)的乘積; 如果構(gòu)成所述新元素的待計(jì)算的字節(jié)矩陣元素的點(diǎn)乘系數(shù)為所述第三預(yù)設(shè)系數(shù),則在 原始查找表中,查詢(xún)出與所述待計(jì)算的字節(jié)矩陣元素對(duì)應(yīng)位置的元素,對(duì)所述對(duì)應(yīng)位置的 元素進(jìn)行移位操作,得到移位操作后的元素,再將所述移位操作后的元素與所述對(duì)應(yīng)位置 的元素進(jìn)行異或,得到異或后的元素,用所述異或后的元素替代所述待計(jì)算的字節(jié)矩陣元 素與所述點(diǎn)乘系數(shù)的乘積;以及 將替代后的各元素進(jìn)行異或,得到對(duì)應(yīng)的所述第一字節(jié)矩陣中的相應(yīng)元素。
10. 根據(jù)權(quán)利要求9的基于AES算法的加密密鑰流產(chǎn)生方法,其中所述移位操作包括: 判斷待移位操作的元素的最高位是否為1,如果為1,則左移一位,再與一預(yù)設(shè)元素進(jìn)行異 或;否則,僅左移一位。
【專(zhuān)利摘要】本發(fā)明提供了一種基于AES算法的加密密鑰流產(chǎn)生方法,包括:獲取與待計(jì)算的字節(jié)矩陣的各元素對(duì)應(yīng)的新元素的表達(dá)式;對(duì)各新元素的表達(dá)式分別進(jìn)行計(jì)算,以得到第一字節(jié)矩陣;以及對(duì)第一字節(jié)矩陣進(jìn)行密鑰二元加計(jì)算。以達(dá)到降低AES算法復(fù)雜度,提升處理效率的效果。
【IPC分類(lèi)】H04L9-06
【公開(kāi)號(hào)】CN104753662
【申請(qǐng)?zhí)枴緾N201310737971
【發(fā)明人】劉欣, 袁艷, 金渝, 吳付利
【申請(qǐng)人】重慶重郵信科通信技術(shù)有限公司
【公開(kāi)日】2015年7月1日
【申請(qǐng)日】2013年12月27日