一種數(shù)據(jù)加解密系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及信息科學(xué)技術(shù)領(lǐng)域,特別是涉及一種數(shù)據(jù)加解密系統(tǒng)及方法。
【背景技術(shù)】
[0002] 在信息存儲(chǔ)領(lǐng)域,針對(duì)硬盤數(shù)據(jù)進(jìn)行加解密的實(shí)現(xiàn)方法可分為軟加密和硬加密兩 大類。硬加密即是通過(guò)專用的處理芯片配合相應(yīng)的軟件,來(lái)實(shí)現(xiàn)對(duì)硬盤數(shù)據(jù)的加解密過(guò)程。 與不需要額外硬件的軟加密相比,硬加密具有速度快、占用系統(tǒng)資源少、加密強(qiáng)度高等特 點(diǎn)。
[0003] 上【背景技術(shù)】?jī)?nèi)容的公開(kāi)僅用于輔助理解本發(fā)明的發(fā)明構(gòu)思及技術(shù)方案,其并不必 然屬于本專利申請(qǐng)的現(xiàn)有技術(shù),在沒(méi)有明確的證據(jù)表明上述內(nèi)容在本專利申請(qǐng)的申請(qǐng)日已 經(jīng)公開(kāi)的情況下,上述【背景技術(shù)】不應(yīng)當(dāng)用于評(píng)價(jià)本申請(qǐng)的新穎性和創(chuàng)造性。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明(主要)目的在于提出一種一種數(shù)據(jù)加解密系統(tǒng)及方法,以解決上述現(xiàn)有 技術(shù)存在的加密速度慢的技術(shù)問(wèn)題。
[0005] 為此,本發(fā)明提出一種數(shù)據(jù)加解密系統(tǒng),包括輸入數(shù)據(jù)緩沖模塊、主控模塊、調(diào)整 值生成模塊、主加解密模塊、密鑰擴(kuò)展模塊、密文竊取模塊、密文竊取寄存器模塊和數(shù)據(jù)輸 出模塊;所述輸入數(shù)據(jù)緩沖模塊暫存外部輸入的數(shù)據(jù);所述主控模塊控制輸入數(shù)據(jù)緩沖模 塊、調(diào)整值生成模塊、主加解密模塊、密鑰擴(kuò)展模塊、密文竊取模塊、密文竊取寄存器模塊和 數(shù)據(jù)輸出模塊;所述調(diào)整值生成模塊生成XTS加密模式需要的調(diào)整值;所述主加解密模塊 對(duì)所述數(shù)據(jù)的狀態(tài)矩陣進(jìn)行加密或解密的輪運(yùn)算操作,所述密鑰擴(kuò)展模塊將初始密鑰擴(kuò)展 成所述主加解密模塊所需的輪密鑰;所述密文竊取模塊實(shí)現(xiàn)XTS加密模式中的密文竊取; 所述密文竊取寄存器模塊暫存密文竊取所需要的中間加解密數(shù)據(jù);所述數(shù)據(jù)輸出模塊向外 部輸出加密或解密結(jié)果。
[0006] -種數(shù)據(jù)加解密方法,包括如下步驟:主控模塊進(jìn)行初始化設(shè)置,根據(jù)外部輸入的 信號(hào),啟動(dòng)加解密功能;設(shè)置主加解密模塊和調(diào)整值生成模塊用到的S盒;設(shè)置密鑰擴(kuò)展模 塊用到的S盒;密鑰擴(kuò)展模塊根據(jù)主控模塊傳來(lái)的數(shù)據(jù)和信號(hào),產(chǎn)生主加解密模塊中使用 的輪密鑰,產(chǎn)生調(diào)整值生成模塊中使用的輪密鑰;輸入數(shù)據(jù)緩沖模塊將外部輸入數(shù)據(jù)暫存, 并根據(jù)主控模塊發(fā)出的信號(hào),將暫存的數(shù)據(jù)輸入密文竊取模塊中;所述主控模塊將接收到 的邏輯位置值送入調(diào)整值生成模塊;密文竊取模塊根據(jù)主控模塊的信號(hào),選擇啟用或不啟 用密文竊取模式;主加密模塊和調(diào)整值生成模塊在主控模塊的控制下,分別從密鑰擴(kuò)展模 塊調(diào)用相應(yīng)的輪密鑰,調(diào)整值生成模塊將輸入的調(diào)柄加密生成調(diào)整值,并將其送入主加密 模塊,主加解密模塊從密文竊取模塊中獲取數(shù)據(jù),執(zhí)行流水線并行加解密操作,將處理后的 數(shù)據(jù)送入數(shù)據(jù)輸出模塊中。
[0007] 本發(fā)明與現(xiàn)有技術(shù)對(duì)比的有益效果包括:本發(fā)明采用了適應(yīng)流水線操作的XTS加 解密模式,使得安全性和效率均優(yōu)于傳統(tǒng)的加解密模式。
【附圖說(shuō)明】
[0008] 圖1是發(fā)明的總體結(jié)構(gòu)圖;
[0009] 圖2是本發(fā)明的調(diào)整值生成模塊的框圖;
[0010] 圖3是本發(fā)明的主加解密模塊的框圖;
[0011] 圖4是密鑰擴(kuò)展模塊原理圖;
[0012] 圖5是密鑰擴(kuò)展模塊的結(jié)構(gòu)框圖;
[0013] 圖6是復(fù)合S盒模塊的結(jié)構(gòu)框圖;
[0014] 圖7是行移位列混淆模塊的結(jié)構(gòu)框圖;
[0015] 圖8是密文竊取模塊的原理圖;
[0016] 圖9是密文竊取模塊的結(jié)構(gòu)框圖;
[0017] 圖10是寄存器模塊的結(jié)構(gòu)框圖;
[0018] 圖11是數(shù)據(jù)加解密系統(tǒng)的狀態(tài)轉(zhuǎn)移圖;
[0019] 圖12是本發(fā)明的工作流程圖。
【具體實(shí)施方式】
[0020] 下面結(jié)合【具體實(shí)施方式】并對(duì)照附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。應(yīng)該強(qiáng)調(diào)的是, 下述說(shuō)明僅僅是示例性的,而不是為了限制本發(fā)明的范圍及其應(yīng)用。
[0021] 參照以下附圖,將描述非限制性和非排他性的實(shí)施例,其中相同的附圖標(biāo)記表示 相同的部件,除非另外特別說(shuō)明。
[0022] 本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,對(duì)以上描述做出眾多變通是可能的,所以實(shí)施例僅是 用來(lái)描述一個(gè)或多個(gè)特定實(shí)施方式。
[0023] 如圖1所示,一種數(shù)據(jù)加解密系統(tǒng)包括輸入數(shù)據(jù)緩沖模塊、主控模塊、調(diào)整值生成 模塊、主加解密模塊、密鑰擴(kuò)展模塊、密文竊取模塊、密文竊取寄存器模塊和數(shù)據(jù)輸出模塊。 輸入數(shù)據(jù)緩沖模塊用于暫存外部總線輸入的數(shù)據(jù)。主控模塊用于轉(zhuǎn)換輪運(yùn)算模塊的加解密 模式、協(xié)調(diào)密鑰擴(kuò)展模塊、調(diào)整值生成模塊和主加解密模塊工作、為密鑰擴(kuò)展模塊提供必要 的數(shù)據(jù)、控制密文竊取流程和輸入輸出流程。調(diào)整值生成模塊用于生成XTS加密模式需要 的調(diào)整值。主加解密模塊負(fù)責(zé)對(duì)數(shù)據(jù)的狀態(tài)矩陣進(jìn)行加密或解密的輪運(yùn)算操作,輪運(yùn)算操 作包括字節(jié)代換、逆字節(jié)代換、行移位、逆行移位、列混淆、逆列混淆、輪密鑰加等子操作。密 鑰擴(kuò)展模塊用于將初始密鑰擴(kuò)展成主加解密模塊所需的輪密鑰。密文竊取模塊用于實(shí)現(xiàn) XTS加密模式中的密文竊取功能。密文竊取寄存器模塊用于暫存密文竊取所需要的中間加 解密數(shù)據(jù)。數(shù)據(jù)輸出模塊用于向外部輸出加密或解密結(jié)果。圖1中的各信號(hào)名稱說(shuō)明如表 1所示:
[0024] 表1各外部信號(hào)名稱說(shuō)明 [0025]
【主權(quán)項(xiàng)】
1. 一種數(shù)據(jù)加解密系統(tǒng),其特征在于:包括輸入數(shù)據(jù)緩沖模塊、主控模塊、調(diào)整值生成 模塊、主加解密模塊、密鑰擴(kuò)展模塊、密文竊取模塊、密文竊取寄存器模塊和數(shù)據(jù)輸出模塊; 所述輸入數(shù)據(jù)緩沖模塊暫存外部輸入的數(shù)據(jù);所述主控模塊控制輸入數(shù)據(jù)緩沖模塊、調(diào)整 值生成模塊、主加解密模塊、密鑰擴(kuò)展模塊、密文竊取模塊、密文竊取寄存器模塊和數(shù)據(jù)輸 出模塊;所述調(diào)整值生成模塊生成XTS加密模式需要的調(diào)整值;所述主加解密模塊對(duì)所述 數(shù)據(jù)的狀態(tài)矩陣進(jìn)行加密或解密的輪運(yùn)算操作,所述密鑰擴(kuò)展模塊將初始密鑰擴(kuò)展成所述 主加解密模塊所需的輪密鑰;所述密文竊取模塊實(shí)現(xiàn)XTS加密模式中的密文竊?。凰雒?文竊取寄存器模塊暫存密文竊取所需要的中間加解密數(shù)據(jù);所述數(shù)據(jù)輸出模塊向外部輸出 加密或解密結(jié)果。
2. 如權(quán)利要求1所述的數(shù)據(jù)加解密系統(tǒng),其特征在于:所述調(diào)整值生成模塊包括首輪 輪密鑰加模塊、多個(gè)調(diào)整值字節(jié)代