麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

加密裝置及方法與流程

文檔序號:11147418閱讀:1222來源:國知局
本發明的實施例涉及一種加密技術。
背景技術
::現有的白盒密碼算法的實現方式可以根據成為基礎的對稱密鑰密碼算法的內部特征而不同,并且因為依靠基礎算法,所以很難提供普適性,并且為了保護基礎算法的密鑰而需要插入較多的額外運算,所以相比于基礎算法,導致降低幾十倍的效率。并且,現有的白盒密碼算法無法提供與設計者的初衷相匹配的足夠的安全性,且實時暴露于密鑰復原攻擊下。現有技術文獻專利文獻(專利文獻0001)韓國公開專利第10-2012-0030335號(2012.03.28)技術實現要素:本發明的實施例的目的在于提供一種加密裝置以及方法。根據本發明的一實施例的加密裝置,包括:密鑰表生成部,用于生成從種子值導出的任意值,并生成包含所生成的所述任意值的密鑰表;以及加密部,使所生成的所述密鑰表和置換函數交叉地反復結合而生成加密算法,并利用所生成的所述加密算法而對明文數據塊進行加密。所述種子值可以是能夠用比特串表示的初始輸入值。所述種子值可以是密鑰、計數器值以及初始化向量中的一個。所述密鑰表生成部可以基于用于加密的可用存儲器的大小確定所述任意值的大小。所述加密部可以基于密鑰值被所述密鑰表代替的艾文-曼蘇爾方案來使所述密鑰表和所述置換函數交叉地反復結合。所述加密部可以使r+1個(其中,r為r≥1的整數)密鑰表和r個置換函數交叉地反復結合而生成所述加密算法。所述r+1個密鑰表可以全部相同。所述r+1個密鑰表可以均不相同。所述r+1個密鑰表中可以部分密鑰表不相同。所述r個置換函數可以全部相同。所述r個置換函數可以均不相同。所述r個置換函數中可以部分置換函數不相同。所述置換函數可以是塊加密算法。根據本發明的一實施例的加密方法,包括如下步驟:生成由種子值導出的任意值;生成包含所生成的所述任意值的密鑰表;使所生成的所述密鑰表和置換函數交叉地反復結合而生成加密算法;利用所生成的所述塊加密算法而對明文數據塊進行加密。所述種子值可以是能夠用比特串表示的初始輸入值。所述種子值可以是密鑰、計數器值以及初始化向量中的一個。在所述生成任意值的步驟中,可以基于用于加密的可用存儲器的大小來確定所述任意值的大小。在生成所述塊加密算法的步驟中,可以基于密鑰值被所述密鑰表代替的艾文-曼蘇爾方案來使所述密鑰表和所述置換函數交叉地反復結合。在所述生成加密算法的步驟中,可以交叉地反復結合r+1個密鑰表和r個置換函數。所述r+1個密鑰表可以全部相同。所述r+1個密鑰表可以均不相同。所述r+1個密鑰表中可以部分密鑰表不相同。所述r個置換函數可以全部相同。所述r個置換函數可以均不相同。所述r個置換函數中可以部分置換函數不相同。所述置換函數可以是塊加密算法。根據本發明的一實施例的儲存于計算機可讀存儲介質的計算機應用程序,該應用程序與硬件結合以執行如下步驟:生成由種子值導出的任意值;生成包含所生成的所述任意值的密鑰表;使所生成的所述密鑰表和置換函數交叉 地反復結合而生成加密算法;利用所生成的所述塊加密算法加密明文數據塊。根據本發明的實施例,可以不進行現有的為了保護密鑰而伴隨的多個額外運算過程,而在基礎函數的效率性上只增加密鑰表的接近(access)速度,并且可以與應用環境內的所要保護的數據的大小無關而可變地進行設計,因此與現有的白盒實現方式相比可以提高效率性。附圖說明圖1為根據本發明的一實施例的加密裝置的構成圖。圖2為示出由加密部生成的加密算法的構成的示例圖。圖3為示出利用置換函數生成AES算法的加密算法的構成的示例圖。圖4為根據本發明的一實施例的密鑰表生成部的詳細構成圖。圖5為例示出運算部中使用的輪函數的例子的圖。圖6為根據本發明的一實施例的加密方法的流程圖。符號說明100:加密裝置110:密鑰表生成部111:密鑰生成部113:運算部130:加密部具體實施方式以下,將參照附圖而對本發明的具體實施形態進行說明。以下的詳細的說明是為幫助包括對本說明書中描述的方法、裝置以及/或者系統的理解而提供的。然而這僅僅為示例,本發明并不局限于此。在說明本發明的實施例時,如果判斷為對與本發明相關的公知技術進行的具體說明會給本發明的主旨帶來不必要的混亂,則將省略對其的詳細說明。并且,下述的術語為考慮到本發明中的作用而給出定義的術語,其可以根據用戶、適用者的意圖或者習慣等而不同。所以,其需要基于本說明書的整體內容來做出定義。在詳細的說明中使用的術語只是用于敘述本發明的實施例的,而并不具有限制作用。在沒有明確的反例時,單數形態的表現形式包括復數形態的含義。本說明書中,要理解“包括”或者“具有”等表述指某些特征、數字、步驟、操作、要素以及它們的部分或者組合,不能理解成排除 所敘述的之外的一個或以上的其他特征、數字、步驟、操作、要素以及它們的部分或者組合的存在或者可能性。圖1為根據本發明的一實施例的加密裝置的構成圖。參考圖1,根據本發明的一實施例的加密裝置100包括密鑰表生成部110以及加密部130。密鑰表生成部110利用種子值(seedvalue)生成從種子值導出的任意值,并生成包含生成的任意值的密鑰表(Keytable)。此時,密鑰表可以是由種子值導出的任意值組成的查找表(lookuptable)。并且,種子值可意指能夠用比特串(bitstring)表示的初始輸入值。例如,種子值可以包括密鑰、塊加密(BlockCipher)的操作作業模式中使用的計數器值、由任意比特串組成的初始化向量等。另外,根據本發明的一實施例,由密鑰表生成部110生成的密鑰表的各個任意值的大小可根據在應用加密裝置100的計算環境內可為加密而得到利用的可用存儲器的大小而確定。加密部130可以通過交叉地反復結合由密鑰表生成部110生成的密鑰表和置換函數而生成加密算法,并且可以利用所生成的加密算法而對明文數據塊進行加密。此時,置換函數指將輸入的值輸出為相同長度的不同值的、在密碼學角度上安全的所有形態的函數。例如,置換函數可以是AES(高級加密標準:AdvancedEncryptionStandard)算法、DES(數據加密標準:DataEncryptionStandard)算法、IDEA(國際數據加密技術:InternationalDataEncryption)算法、Blowfish算法等塊加密算法。另外,根據本發明的一實施例,加密部130在如下述的數學式1的艾文-曼蘇爾方案(Even-Mansourscheme)中,可以基于由在密鑰表110中生成的密鑰表代替密鑰值的艾文-曼蘇爾方案而將密鑰表和置換函數交叉地反復結合。【數學式1】E(P)=F(P+k0)+k1其中,P為明文數據、F為置換函數、k0以及k1指密鑰值。具體地,加密部130可以基于所述艾文-曼蘇爾方案來將r+1個密鑰表和r個置換函數交叉地反復結合,從而生成加密算法(其中,r為r≥1的整數)。 此時,r可以根據所要求的安全強度而確定。更具體地,圖2為示出由加密部130生成的加密算法的構成的示例圖。如圖2所示的示例,加密部130可以通過以下方式生成加密算法:使r個密鑰表和r個置換函數交叉地反復結合,以使密鑰表的結果值輸入到置換函數,并且使置換函數的結果值再次輸入到密鑰表,然后在最后再結合一個密鑰表。另外,如圖2所示的例中,對相同的r+1個密鑰表和相同的r個密鑰表進行結合,然而并不局限于此。例如,不同于圖2所圖示的例,r+1個密鑰表可以均不相同或者部分不相同。此時,在使用不同的r+1個密鑰表的情況下,密鑰表生成部110可以由接收到的種子值生成r+1個不同的密鑰表。并且,例如,在使用不同的兩種r+1個密鑰表的情況下,密鑰表生成部110可以由接收到的種子值生成不同的兩個密鑰表。另外,與密鑰表相同地,不同于圖2所圖示的例,r個置換函數可以均不相同或者部分不相同。圖3為示出將AES算法利用為置換函數而生成的加密算法的構成的示例圖。圖3中,加密算法通過由三個密鑰表和由5輪(round)組成的兩個相同的AES算法交叉地反復結合而生成。并且,在各AES算法中,構成為使加密密鑰利用固定的值。另外,在圖示的例中,示出了反復結合的密鑰表和AES算法相同的情況,然而如上文所述,三個密鑰表可以使用互不相同的密鑰表或者使用兩個相同的密鑰表和一個不同的密鑰表,并可以利用一個AES算法和一個其他置換函數。圖4為根據本發明的一實施例的密鑰表生成部110的詳細構成圖。參照圖4,密鑰表生成部110可以包括:密鑰生成部111,用于由種子值生成多個子密鑰;運算部113,利用所生成的各個子密鑰生成密鑰表。具體而言,密鑰生成部111在接收種子值并生成子密鑰后,可以由前一個所生成的子密鑰反復生成新的子密鑰。例如,假設生成三個子密鑰時,密鑰生成部111可以從輸入的種子值生成隨機數而生成第一個子密鑰。之后,密鑰生成部111可以由所生成的第一個子密鑰生成隨機數,從而生成第二個 子密鑰,并且可以由所生成的第二個子密鑰生成隨機數,從而生成第三個子密鑰。運算部113由從密鑰生成部111生成的各個子密鑰生成用于構成密鑰表的任意值,并可以生成包含所生成的任意值的密鑰表。具體而言,運算部113可以利用用于由所輸入的子密鑰來生成任意值的輪函數,從而可以通過在每一輪均將各子密鑰應用于輪函數而生成任意值。具體而言,圖5為示出運算部113中應用的輪函數的例子的圖。參照圖5,如圖示的例子那樣,運算部113可以對在密鑰生成部111中生成的子密鑰ki以及具有與子密鑰ki相同大小的任意的值a進行XOR運算(異或運算),之后將XOR運算結果分成兩個部分并將其分別應用于S盒(S-box)。之后,運算部113可以對兩個S盒的輸出結果值進行矩陣運算而產生任意值ri。此時,矩陣運算例如可以利用使用MDS(MaximumDistanceSeparable)矩陣的矩陣運算等具有能夠使針對輸入值的擴散效果最大化的性質的多種形態的矩陣運算。另外,由密鑰表生成部110進行的密鑰表的生成并不一定要局限于圖4以及圖5中示出的例子。例如,除了圖4以及圖5中示出的例子之外,密鑰表生成部110還可以在利用具有單向特性的多種方式而由種子值生成任意值之后生成包含所生成的任意值的密鑰表。另外,在一實施例中,如圖1所示的密鑰表生成部110以及加密部130可以在包括一個以上的處理器以及與該處理器連接的計算機可讀記錄介質的,一個以上的計算裝置上實現。計算機可讀記錄介質可以位于處理器的內部或者外部,并且可以通過公知的多種手段連接到處理器。計算裝置內的處理器可以使各個計算裝置照著本說明書中記載的示例性的實施例運轉。例如,處理器可以執行計算機可讀記錄介質中儲存的指令,計算機可讀記錄介質中儲存的指令在由處理器執行時,可以使計算裝置執行根據本說明書中記載的示例性的實施例的操作。圖6為根據本發明的一實施例的加密方法的流程圖。圖6中示出的方法例如可以由圖1中示出的加密裝置100來執行。參考圖6,加密裝置100生成從種子值導出的任意值(610)。之后,加密裝置100生成包含所生成的任意值的密鑰表(620)。此時,構成密鑰表的任意值的大小可以根據可用存儲器的大小而確定。之后,加密裝置100通過交叉地反復結合所生成的密鑰表和置換函數而生成加密算法(630)。具體而言,加密裝置100例如可以基于由密鑰表來代替密鑰值的艾文-曼蘇爾方案而使r+1個密鑰表和r個置換函數交叉地反復結合,從而生成加密算法。此時,r的值可以根據所要求的安全強度而確定。另外,r+1個密鑰表可以全部相同,但是并不局限于此,r+1個密鑰表根據實施例而可以全部都不相同或者部分不相同。同樣,r個置換函數可以全部相同,但并不局限于此,r個置換函數根據實施例而可全部都不相同或者部分不相同。之后,加密裝置100利用所生成的加密算法對明文數據塊進行加密(640)。另外,在如圖6所示的流程圖中將所述方法分成了多個步驟而進行了圖示,然而還可以由如下的方式來執行:交換至少一部分步驟而執行;與其他步驟結合而一起執行;省略或分為細分的步驟而執行;或者附加未圖示的一個以上的步驟而執行。另外,本發明的一實施例可以包括計算機可讀記錄介質,其包括用于在計算機上執行本說明書中記載的方法的程序。所述計算機可讀記錄介質可以單獨地或者組合地包括程序命令、本地數據文件、本地數據結構等。所述介質可以是為本發明而特別地設計并構成的介質,或者可以是在計算機軟件領域中通常被使用的介質。計算機可解碼記錄介質的示例包括:磁介質,如硬盤、軟盤以及磁帶等;光記錄介質,如CD-ROM、DVD等;磁-光介質,軟盤等;以及ROM、RAM、閃存等為了儲存命令并執行程序命令而特別構成的硬件裝置。作為程序命令的例,不僅包括如利用編譯器制作的計算機語音代碼,還可以包括可利用翻譯器等由計算機執行的高級語言代碼。以上,對本發明的具有代表性的實施例進行了詳細的說明,然而在本發明所屬的
技術領域
:中具有基本知識的人員可以理解對上述的實施例可在不脫離本發明的范圍的限度內進行多種變形。因此,本發明的權利范圍并不局限于上述的實施例,本發明的權利范圍需要根據權利要求書的范圍以及與該權利要求書均等的范圍來確定。當前第1頁1 2 3 當前第1頁1 2 3 
當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 札达县| 冕宁县| 徐闻县| 泰兴市| 和硕县| 志丹县| 宜兰县| 内乡县| 清河县| 龙门县| 蛟河市| 韩城市| 厦门市| 蓝山县| 交城县| 惠来县| 昌黎县| 库尔勒市| 莱阳市| 和平区| 丰城市| 洛隆县| 台中市| 福海县| 锡林浩特市| 阳谷县| 南木林县| 台南市| 白水县| 仲巴县| 阿克苏市| 吉木萨尔县| 图木舒克市| 淮安市| 永兴县| 含山县| 太康县| 分宜县| 和平县| 普陀区| 连江县|