两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

加密裝置及方法與流程

文檔序號(hào):11147345閱讀:1104來源:國知局
本發(fā)明的實(shí)施例涉及一種加密技術(shù)。
背景技術(shù)
::現(xiàn)有的白盒密碼算法的實(shí)現(xiàn)方式根據(jù)成為基礎(chǔ)的對(duì)稱密鑰密碼算法的內(nèi)部特征而不同,并且因?yàn)橐揽炕A(chǔ)算法所以難以提供普適性,并且為了保護(hù)基礎(chǔ)算法的密鑰而需要插入較多的額外運(yùn)算,所以于相比基礎(chǔ)算法,而導(dǎo)致降低幾十倍的效率。另外,現(xiàn)有的白盒密碼算法無法提供與設(shè)計(jì)者的初衷相匹配的足夠的安全性,并且實(shí)時(shí)暴露于密鑰復(fù)原攻擊下?,F(xiàn)有技術(shù)文獻(xiàn)專利文獻(xiàn)(專利文獻(xiàn)0001)韓國公開專利第10-2012-0030335號(hào)(2012.03.28)技術(shù)實(shí)現(xiàn)要素:本發(fā)明的實(shí)施例用于提供一種加密裝置以及方法。根據(jù)本發(fā)明的一實(shí)施例的加密裝置包括:密鑰表生成部,生成由種子值導(dǎo)出的任意值,并生成包含所生成的所述任意值的密鑰表(Keytable);以及加密部,生成具有輪函數(shù)的菲斯特爾結(jié)構(gòu)(Feistel)的塊加密算法,并利用所生成的所述塊加密算法而對(duì)明文數(shù)據(jù)塊進(jìn)行加密,所述輪函數(shù)應(yīng)用所生成的所述密鑰表。所述種子值可以是能夠用比特串表示的初始輸入值。所述種子值可以是密鑰、計(jì)算器值以及初始化向量中的一個(gè)。所述密鑰表生成部可以基于用于加密的可用存儲(chǔ)器的大小來確定所述任意值的大小。所述加密部可以基于所述明文數(shù)據(jù)塊的大小以及所述任意值的大小來確定所述菲斯特爾結(jié)構(gòu)的分支數(shù),并且生成具有所確定的所述分支數(shù)的菲斯特爾結(jié)構(gòu)的塊加密算法。所述加密部可以利用如下的數(shù)學(xué)式確定所述分支數(shù):(其中,b為分支數(shù),n為所述明文數(shù)據(jù)塊的大小,k所述任意值的大小)。所述加密部可以基于安全強(qiáng)度來確定所述菲斯特爾結(jié)構(gòu)的輪數(shù),并且可以生成具有所確定的所述輪數(shù)的菲斯特爾結(jié)構(gòu)的塊加密算法。根據(jù)本發(fā)明的一實(shí)施例的加密方法,包括如下步驟:生成由種子值導(dǎo)出的任意值;生成包含所生成的所述任意值的密鑰表;生成具有輪函數(shù)的菲斯特爾結(jié)構(gòu)的塊加密算法,該輪函數(shù)應(yīng)用所生成的所述密鑰表;利用生成的所述塊加密算法加密明文數(shù)據(jù)塊。所述種子值可以是可以用比特串表示的初始輸入值。所述種子值可以是密鑰、計(jì)算器值以及初始化向量中的一個(gè)。生成所述任意值的步驟可以包括以下步驟:基于用于加密的可用存儲(chǔ)器的大小來確定所述任意值的大??;生成具有所確定的所述任意值的大小的任意值。生成所述塊加密算法的步驟可以包括以下步驟:基于所述明文數(shù)據(jù)塊的大小以及所述任意值的大小來確定所述菲斯特爾結(jié)構(gòu)的分支數(shù);以及生成具有所確定的所述分支數(shù)的菲斯特爾結(jié)構(gòu)的塊加密算法。在所述確定分支數(shù)的步驟中,可以利用如下的數(shù)學(xué)式而確定所述分支數(shù):(其中,b為分支數(shù),n為所述明文數(shù)據(jù)塊的大小,k為所述任意值的大小)。生成所述塊加密算法的步驟可以包括如下的步驟:基于安全強(qiáng)度來確定所述菲斯特爾結(jié)構(gòu)的輪數(shù);以及生成具有所確定的所述輪數(shù)的菲斯特爾結(jié)構(gòu)的塊加密算法。根據(jù)本發(fā)明的一實(shí)施例的儲(chǔ)存于計(jì)算機(jī)可讀記錄介質(zhì)的計(jì)算機(jī)應(yīng)用程序,該應(yīng)用程序與硬件結(jié)合以執(zhí)行以下步驟:生成從種子值導(dǎo)出的任意值;生成包含所生成的所述任意值的密鑰表;生成具有輪函數(shù)的菲斯特爾結(jié)構(gòu)的塊加密算法,該輪函數(shù)應(yīng)用所生成的所述密鑰表;利用所生成的所述塊加密算法而對(duì)明文數(shù)據(jù)塊進(jìn)行加密。根據(jù)本發(fā)明的實(shí)施例,通過利用可以在白盒環(huán)境內(nèi)保護(hù)密鑰的密鑰表應(yīng)用于輪函數(shù)的菲斯特爾結(jié)構(gòu)的加密算法,可以沒有用于保護(hù)密鑰的額外運(yùn)算步驟的情況下在白盒環(huán)境下實(shí)現(xiàn)安全的數(shù)據(jù)加密。并且,使密鑰表大小以及菲斯特爾結(jié)構(gòu)的分支數(shù)和輪數(shù)可以根據(jù)加密應(yīng)用環(huán)境而被可變地調(diào)整,從而可以構(gòu)成對(duì)應(yīng)用環(huán)境最優(yōu)的加密算法。附圖說明圖1為根據(jù)本發(fā)明的一實(shí)施例的加密裝置的構(gòu)成圖。圖2為根據(jù)本發(fā)明的一實(shí)施例的密鑰表生成部的詳細(xì)構(gòu)成圖。圖3為示出運(yùn)算部中使用的輪函數(shù)的例子的圖。圖4為示出根據(jù)本發(fā)明的一實(shí)施例而生成的塊加密算法的菲斯特爾(Feistel)結(jié)構(gòu)的圖。圖5為根據(jù)本發(fā)明的一實(shí)施例的加密方法的流程圖。圖6為示出根據(jù)本發(fā)明的一實(shí)施例的塊加密算法的生成步驟的流程圖。符號(hào)說明100:加密裝置110:密鑰表生成部111:密鑰生成部113:運(yùn)算部130:加密部具體實(shí)施方式以下,將參考附圖而對(duì)本發(fā)明的具體實(shí)施形態(tài)進(jìn)行說明。以下的詳細(xì)的說明是為幫助包括對(duì)本說明書中描述的方法、裝置以及/或者系統(tǒng)的理解而提供的。然而這僅僅為示例,本發(fā)明并不局限于此。在說明本發(fā)明的實(shí)施例時(shí),如果判斷為對(duì)與本發(fā)明相關(guān)的公知技術(shù)進(jìn)行的具體說明會(huì)給本發(fā)明的主旨帶來不必要的混亂,則將省略對(duì)其的詳細(xì)說明。并且,下述的術(shù)語為考慮到本發(fā)明中的作用而給出定義的術(shù)語,其可以根據(jù)用戶、適用者的意圖或者習(xí)慣等而不同。所以,其需要基于本說明書的整體內(nèi)容來做出定義。在詳細(xì)的說明中使用的術(shù)語只是用于敘述本發(fā)明的實(shí)施例的,而并不具有限制作用。在沒有明確的反例時(shí),單數(shù)形態(tài)的表現(xiàn)形式包括復(fù)數(shù)形態(tài)的含義。本說明書中,要理解“包括”或者“具有”等表述指某些特征、數(shù)字、步驟、操作、要素以及它們的部分或者組合,不能理解成排除所敘述的之外的一個(gè)或以上的其他特征、數(shù)字、步驟、操作、要素以及它們的部分或者組合的存在或者可能性。圖1為根據(jù)本發(fā)明的一實(shí)施例的加密裝置的構(gòu)成圖。參考圖1,根據(jù)本發(fā)明的一實(shí)施例的加密裝置100包括密鑰表生成部110以及加密部130。密鑰表生成部110利用種子值(seedvalue)生成由種子值導(dǎo)出的任意值,并生成包含所生成的任意值的密鑰表(Keytable)。此時(shí),密鑰表可以是以由種子值導(dǎo)出的任意值組成的查找表(lookuptable)。并且,種子值可意指能夠用比特串(bitstring)表示的初始輸入值。例如,種子值可以包括密鑰、塊加密(BlockCipher)的操作模式中使用的計(jì)數(shù)器值、由任意比特串組成的初始化向量等。另外,根據(jù)本發(fā)明的一實(shí)施例,由密鑰表生成部110生成的密鑰表的各個(gè)任意值的大小可根據(jù)在應(yīng)用加密裝置100的計(jì)算環(huán)境內(nèi)可為加密而得到利用的可用存儲(chǔ)器的大小來確定。加密部130生成包含輪函數(shù)的菲斯特爾(Feistel)結(jié)構(gòu)的塊加密算法,并且可以利用所生成的塊加密算法而對(duì)明文數(shù)據(jù)塊進(jìn)行加密,其中輪函數(shù)應(yīng)用由密鑰表生成部110生成的密鑰表。具體地,加密部130確定菲斯特爾結(jié)構(gòu)的分支(branch)數(shù)以及輪數(shù),并且可以將密鑰表應(yīng)用于菲斯特爾結(jié)構(gòu)的各個(gè)輪函數(shù)而生成塊加密算法。此時(shí),根據(jù)本發(fā)明的一實(shí)施例,由加密部130構(gòu)成的塊加密算法可以基于具有菲斯特爾結(jié)構(gòu)的現(xiàn)有的塊加密算法(例如,DES算法)來生成。例如,加密部130可以基于DES算法來將密鑰表應(yīng)用于DES算法的菲斯特爾結(jié)構(gòu)的各個(gè)輪函數(shù),并且改變菲斯特爾結(jié)構(gòu)的分支數(shù)和輪數(shù),據(jù)此生成塊加密算法。另外,根據(jù)本發(fā)明的一實(shí)施例,菲斯特爾結(jié)構(gòu)的分支數(shù)可以根據(jù)將被加密的明文數(shù)據(jù)塊的大小以及構(gòu)成密鑰表的任意值的大小而確定。具體地,加密部130例如可以基于如下的數(shù)學(xué)式1來確定菲斯特爾結(jié)構(gòu)的分支數(shù)b。【數(shù)學(xué)式1】數(shù)學(xué)式1中,b指分支數(shù),n指所要加密的明文數(shù)據(jù)塊的大小(bit),k指構(gòu)成密鑰表的任意值的大小(bit)。另外,根據(jù)本發(fā)明的一實(shí)施例,菲斯特爾結(jié)構(gòu)的輪數(shù)可以根據(jù)應(yīng)用加密裝置100的環(huán)境內(nèi)的安全強(qiáng)度而確定。圖2為根據(jù)本發(fā)明的一實(shí)施例的密鑰表生成部110的詳細(xì)構(gòu)成圖。參考圖2,密鑰表生成部110可以包括:密鑰生成部111,由種子值生成多個(gè)子密鑰;運(yùn)算部113,利用所生成的各個(gè)子密鑰生成密鑰表。具體地,密鑰生成部111接收種子值并生成子密鑰后,可以由前一個(gè)所生成的子密鑰重復(fù)生成新的子密鑰。例如,如果假設(shè)生成三個(gè)子密鑰,則密鑰生成部111可以由所接收到的種子值生成隨機(jī)數(shù)而生成第一個(gè)子密鑰。之后,密鑰生成部111由所生成的第一個(gè)子密鑰生成隨機(jī)數(shù)而生成第二個(gè)子密鑰,并且由所生成的第二個(gè)子密鑰生成隨機(jī)數(shù)而生成第三個(gè)子密鑰。運(yùn)算部113由在密鑰生成部111中生成的各個(gè)子密鑰生成用于構(gòu)成密鑰表的任意值,并可生成包含所生成的任意值的密鑰表。具體地,運(yùn)算部113可以利用用于由所輸入的子密鑰生成任意值的輪函數(shù)而在每一輪均將各個(gè)子密鑰應(yīng)用于輪函數(shù),由此生成任意值。具體地,圖3為示出運(yùn)算部113中應(yīng)用的輪函數(shù)的例子的圖。參照?qǐng)D3,如圖示的例子那樣,運(yùn)算部113可以對(duì)密鑰生成部111中生成的子密鑰ki以及具有與子密鑰ki相同大小的任意的值a進(jìn)行XOR運(yùn)算(異或運(yùn)算),然后將XOR運(yùn)算結(jié)果分成兩個(gè)部分并將其分別應(yīng)用于S盒S-box。之后,運(yùn)算部113可以對(duì)兩個(gè)S盒S-box的輸出結(jié)果值進(jìn)行矩陣運(yùn)算Matrix而產(chǎn)生任意值ri。此時(shí),矩陣運(yùn)算可以使用例如,利用MDS(MaximumDistanceSeparable)矩陣的矩陣運(yùn)算等具有能夠使針對(duì)輸入值的擴(kuò)散效果最大化的性質(zhì)的多種形態(tài)的矩陣運(yùn)算。另外,密鑰表生成部110中進(jìn)行的密鑰表的生成并不一定要局限于圖2以及圖3中示出的例子。例如,密鑰表生成部110除了圖2以及圖3中示出的例子之外,還可以利用具有單向特性的多種方式而從種子值生成任意值后,生成包含所生成的任意值的密鑰表。圖4為示出根據(jù)本發(fā)明的一實(shí)施例而生成的塊加密算法的菲斯特爾結(jié)構(gòu)的圖。圖4中,假設(shè)所要加密的明文數(shù)據(jù)塊的大小和構(gòu)成密鑰表的任意值的大小分別為64bit和16bit。加密部130例如可以如根據(jù)所述數(shù)學(xué)式1而示出的例子,具有四個(gè)分支,并且構(gòu)成將密鑰表作為輪函數(shù)利用的四輪的基本結(jié)構(gòu),并且根據(jù)基于安全強(qiáng)度來確定的輪數(shù)(圖示的例子中為32輪)而構(gòu)成菲斯特爾結(jié)構(gòu),以使四輪的基本結(jié)構(gòu)重復(fù)執(zhí)行。另外,在示出的基本結(jié)構(gòu)中,在第一輪中以左側(cè)為基準(zhǔn),向第一個(gè)分支輸入的塊的值被轉(zhuǎn)換成密鑰表中對(duì)應(yīng)的任意值,并且轉(zhuǎn)換的任意值通過XOR運(yùn)算而與向第二個(gè)分支輸入的的塊的值結(jié)合。之后,在第二輪中通過第一輪而生成的值被轉(zhuǎn)換為密鑰表中對(duì)應(yīng)的任意值,并且所轉(zhuǎn)換的任意值通過XOR運(yùn)算而與向第三個(gè)分支輸入的塊的值結(jié)合。之后,通過相同的方式進(jìn)行第三輪和第四輪,并且在第四輪中,通過密鑰表轉(zhuǎn)換的任意值通過XOR運(yùn)算而與向第一個(gè)分支輸入的塊的值結(jié)合。另外,圖4中示出的菲斯特爾結(jié)構(gòu)為示例性的結(jié)構(gòu),所以需要注意根據(jù)本發(fā)明的一實(shí)施例的菲斯特爾結(jié)構(gòu)不局限于圖4中示出的例子。即,根據(jù)本發(fā)明的實(shí)施例的菲斯特爾結(jié)構(gòu)可以根據(jù)成為基礎(chǔ)的塊密碼算法而具有不同的形態(tài)。并且,在圖4中示出的例子中,例示為菲斯特爾結(jié)構(gòu)的各輪的輪函數(shù)利用密鑰表的情形,但是并不限于此。例如,各輪的輪函數(shù)可以是將成為基礎(chǔ)的塊密碼算法中利用的輪函數(shù)的一部分轉(zhuǎn)換為密鑰表的函數(shù)。另外,在一實(shí)施例中,圖1中示出的密鑰表生成部110以及加密部130可以在包括一個(gè)以上的處理器以及與該處理器連接的計(jì)算機(jī)可讀記錄介質(zhì)的一個(gè)以上的計(jì)算裝置上實(shí)現(xiàn)。計(jì)算機(jī)可讀記錄介質(zhì)可以位于處理器的內(nèi)部或者外部,并且可以通過公知的多種手段而連接到處理器。計(jì)算裝置內(nèi)的處理器可以使各個(gè)計(jì)算裝置照著本說明書中記載的示例性的實(shí)施例運(yùn)轉(zhuǎn)。例如,處理器可以執(zhí)行計(jì)算機(jī)可讀記錄介質(zhì)中儲(chǔ)存的指令,計(jì)算機(jī)可讀記錄介質(zhì)中儲(chǔ)存的指令在由處理器執(zhí)行時(shí),可以使計(jì)算裝置執(zhí)行根據(jù)本說明書中敘述的示例性的實(shí)施例的操作。圖5為根據(jù)本發(fā)明的一實(shí)施例的加密方法的流程圖。圖5中示出的方法例如可以借助于圖1中示出的加密裝置100而執(zhí)行。參考圖5,加密裝置100生成由種子值導(dǎo)出的任意值(510)。之后,加密裝置100生成包含所生成的任意值的密鑰表(520)。此時(shí),構(gòu)成密鑰表的任意值的大小可以根據(jù)可用存儲(chǔ)器的大小而確定。之后,加密裝置100生成包含應(yīng)用所生成的密鑰表的輪函數(shù)的菲斯特爾結(jié)構(gòu)的塊加密算法(530)。之后,加密裝置100利用所生成的塊加密算法對(duì)明文數(shù)據(jù)塊進(jìn)行加密(540)。圖6為示出根據(jù)本發(fā)明的一實(shí)施例的塊加密算法生成步驟的流程圖。參考圖6,加密裝置100基于明文數(shù)據(jù)塊的大小以及構(gòu)成密鑰表的任意值的大小來確定菲斯特爾結(jié)構(gòu)的分支數(shù)(610)。之后,加密裝置100基于加密安全強(qiáng)度來確定菲斯特爾結(jié)構(gòu)的輪數(shù)(620)。之后,加密裝置100生成具有所確定的分支數(shù)以及輪數(shù)的菲斯特爾結(jié)構(gòu)的塊加密算法(630)。另外,在如圖5以及圖6所示的流程圖中將所述方法分成了多個(gè)步驟而進(jìn)行了圖示,然而還可以由如下的方式來執(zhí)行:交換至少一部分步驟而執(zhí)行;與其他步驟結(jié)合而一起執(zhí)行;省略或分為細(xì)分的步驟而執(zhí)行;或者附加未圖示的一個(gè)以上的步驟而執(zhí)行。另外,本發(fā)明的一實(shí)施例可以包括計(jì)算機(jī)可讀記錄介質(zhì),其包括用于在計(jì)算機(jī)上執(zhí)行本說明書中記載的方法的程序。所述計(jì)算機(jī)可讀記錄介質(zhì)可以單獨(dú)地或者組合地包括程序命令、本地?cái)?shù)據(jù)文件、本地?cái)?shù)據(jù)結(jié)構(gòu)等。所述介質(zhì)可以是為本發(fā)明而特別地設(shè)計(jì)并構(gòu)成的介質(zhì),或者可以是在計(jì)算機(jī)軟件領(lǐng)域中通常被使用的介質(zhì)。計(jì)算機(jī)可解碼存儲(chǔ)介質(zhì)的示例包括:磁介質(zhì),如硬盤、軟盤以及磁帶等;光記錄介質(zhì),如CD-ROM、DVD等;磁-光介質(zhì),軟盤等;以及ROM、RAM、閃存等為了儲(chǔ)存命令并執(zhí)行程序命令而特別構(gòu)成的硬件裝置。作為程序命令的例,不僅包括如利用編譯器制作的計(jì)算機(jī)語音代碼,還可以包括可利用翻譯器等由計(jì)算機(jī)執(zhí)行的高級(jí)語言代碼。以上,對(duì)本發(fā)明的具有代表性的實(shí)施例進(jìn)行了詳細(xì)的說明,然而在本發(fā)明所屬的
技術(shù)領(lǐng)域
:中具有基本知識(shí)的人員可以理解對(duì)上述的實(shí)施例可在不脫離本發(fā)明的范圍的限度內(nèi)進(jìn)行多種變形。因此,本發(fā)明的權(quán)利范圍并不局限于上述的實(shí)施例,本發(fā)明的權(quán)利范圍需要根據(jù)權(quán)利要求書的范圍以及與該權(quán)利要求書均等的范圍來確定。當(dāng)前第1頁1 2 3 當(dāng)前第1頁1 2 3 
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
南汇区| 寿阳县| 玛纳斯县| 绍兴市| 江永县| 贵州省| 尼玛县| 蒙城县| 长乐市| 武川县| 大冶市| 大足县| 西乡县| 江孜县| 新乐市| 长春市| 永修县| 揭西县| 濉溪县| 曲阳县| 昌都县| 高平市| 宜兴市| 贞丰县| 边坝县| 裕民县| 尚义县| 延长县| 元氏县| 西昌市| 麟游县| 衡山县| 昭通市| 揭阳市| 岳西县| 曲沃县| 高雄县| 郴州市| 东平县| 清镇市| 武陟县|