欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

加密方法、程序和系統(tǒng)與流程

文檔序號:11852587閱讀:474來源:國知局
加密方法、程序和系統(tǒng)與流程

本發(fā)明涉及一種用于加密的計(jì)算機(jī)執(zhí)行的方法,特別是安全抵御已知明文攻擊的方法。



背景技術(shù):

加密技術(shù)在當(dāng)今的信息技術(shù)中是非常重要的。對于加密技術(shù)來說,需要安全抵御各種類型的攻擊;如果不知道加密密鑰,就不可能在合理的時間內(nèi)將加密的文本進(jìn)行解密。

一種類型的攻擊是已知明文攻擊(KPA)。在可以獲得對應(yīng)于已知明文的密文時,KPA是有效的攻擊。當(dāng)明文的開頭是固定數(shù)據(jù)、序列號或時間戳(例如,為了符合通信協(xié)議標(biāo)準(zhǔn)),更容易推斷出對應(yīng)于所述密文的明文。因此,安全抵御KPA對于加密方法來說是重要的要求。

如果僅僅增加加密密鑰大小,在技術(shù)標(biāo)準(zhǔn)符合性和計(jì)算復(fù)雜性方面可能會存在問題。當(dāng)符合標(biāo)準(zhǔn)的加密規(guī)范時,安全抵御KPA是優(yōu)選的。

編碼速率也必須良好,這意味著密文不應(yīng)該明顯大于相應(yīng)的明文。

此外,在當(dāng)今的信息技術(shù)環(huán)境中,為了對可變長度的數(shù)據(jù)進(jìn)行加密,例如數(shù)字化電話語音,加密方法應(yīng)該不僅可用于塊加密,而且可用于流加密。

為了增加KPA的計(jì)算復(fù)雜性而使用多個明文/密文對,通過使用不依賴于明文、初始化向量和加密密鑰的秘密信息,可能對明文進(jìn)行預(yù)處理。

例如,在US20030191950中公開了一種使用基于明文中的所有比特的秘密信息對明文進(jìn)行預(yù)處理的方法。

然而,當(dāng)這種方法被應(yīng)用到流加密時,產(chǎn)生了一個問題,因?yàn)檎麄€明文必須被掃描兩次來緩存,顯著地增加了所需的存儲器空間。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明將要解決的問題

提供一種編碼速率良好,適用于流加密并且安全抵御已知明文攻擊的加密方法、系統(tǒng)和程序。

用于解決所述問題的方法

本發(fā)明通過提供一種用于對文本進(jìn)行加密的方法解決了上述問題,所述方法包括:產(chǎn)生隨機(jī)數(shù),基于所述隨機(jī)數(shù),從彼此長度不同的一組獨(dú)立隨機(jī)數(shù)序列中選擇隨機(jī)數(shù)序列,基于所選擇的隨機(jī)數(shù)序列,通過使用第一變換方法將第一明文變換,將所述隨機(jī)數(shù)和所述經(jīng)過變換的第一明文拼接成第二明文,以及,通過使用第二變換方法將所述第二明文變換。

本發(fā)明根據(jù)前面的段落,通過提供一種用于對文本進(jìn)行加密的方法解決了上述問題,其中:所述第一變換方法包括:重復(fù)所選擇的隨機(jī)數(shù)序列,以及對所重復(fù)選擇的隨機(jī)數(shù)序列和所述第一明文應(yīng)用異或操作。

本發(fā)明通過提供一種用于對文本進(jìn)行加密的計(jì)算機(jī)程序解決了上述問題,所述計(jì)算機(jī)程序包括計(jì)算機(jī)可執(zhí)行的指令,所述指令用于:產(chǎn)生隨機(jī)數(shù),基于所述隨機(jī)數(shù),從彼此長度不同的一組獨(dú)立隨機(jī)數(shù)序列中選擇隨機(jī)數(shù)序列,基于所選擇的隨機(jī)數(shù)序列,通過使用第一變換指令將第一明文變換,將所述隨機(jī)數(shù)和所述經(jīng)過變換的第一明文拼接成第二明文,以及,通過使用第二變換指令將所述第二明文變換。

本發(fā)明根據(jù)前面的段落,通過提供一種用于對文本進(jìn)行加密的計(jì)算機(jī)程序解決了上述問題,其中:所述第一變換方法包括:重復(fù)所選擇的隨機(jī)數(shù)序列,以及對所重復(fù)選擇的隨機(jī)數(shù)序列和所述第一明文應(yīng)用異或操作。

本發(fā)明通過提供一種用于對文本進(jìn)行加密的計(jì)算機(jī)系統(tǒng)解決了上述問題,所述計(jì)算機(jī)系統(tǒng)包括指令,所述指令用于:隨機(jī)數(shù)生成器;選擇器,其基于所述隨機(jī)數(shù),從彼此長度不同的一組獨(dú)立隨機(jī)數(shù)序列中選擇隨機(jī)數(shù)序列;第一變換器,其基于所選擇的隨機(jī)數(shù)序列,通過使用第一變換方法將第一明文變換;拼接器,其將所述隨機(jī)數(shù)和所述經(jīng)過變換的第一明文拼接成第二明文;以及,第二變換器,其通過使用第二變換方法將所述第二明文變換。

根據(jù)前面的段落的一種用于對文本進(jìn)行加密的計(jì)算機(jī)系統(tǒng),其中所述第一變換器還包括:第三變換器,其重復(fù)所選擇的隨機(jī)數(shù)序列;以及,第四變換器,其對所重復(fù)選擇的隨機(jī)數(shù)序列和所述第一明文應(yīng)用異或操作。

本發(fā)明的有益效果

提供了一種編碼速率良好,與傳統(tǒng)加密方法結(jié)合,適用于流加密并且安全抵御已知明文攻擊的加密方法、系統(tǒng)和程序。

附圖說明

圖1是在本發(fā)明的一個實(shí)施例中使用的示例性信息系統(tǒng)的概覽結(jié)構(gòu)圖。

圖2是在本發(fā)明的一個實(shí)施例中使用的示例性的隨機(jī)數(shù)序列矩陣。

圖3是在本發(fā)明的一個實(shí)施例中的加密和解密處理的示例性概覽流程圖。

圖4是在本發(fā)明的一個實(shí)施例中的加密預(yù)處理的示例性概覽流程圖。

圖5是在本發(fā)明的一個實(shí)施例中的解密后處理的示例性概覽流程圖。

具體實(shí)施方式

在下文中將參考附圖描述本發(fā)明的一個實(shí)施例。

圖1是在本發(fā)明的一個實(shí)施例中使用的示例性信息系統(tǒng)101的功能概覽圖。信息系統(tǒng)101可以由物理計(jì)算機(jī)組成,也可以由例如云基礎(chǔ)架構(gòu)服務(wù)提供的虛擬計(jì)算資源組成。

加密預(yù)處理102是在傳統(tǒng)加密103之前變換明文的功能。其細(xì)節(jié)在圖4中示出并在后面描述。

傳統(tǒng)加密103是使用例如數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)的眾所周知的加密方法,來執(zhí)行加密(將明文變換到密文)的功能。它是公知的并且不需加以說明的,因此將不再進(jìn)行進(jìn)一步討論。

傳統(tǒng)解密104是使用例如數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)的眾所周知的加密方法,來執(zhí)行解密(將密文變換到明文)的功能。它是公知的并且不需加以說明的,因此將不再進(jìn)行進(jìn)一步討論。

解密后處理105是在傳統(tǒng)解密105之后變換明文的功能。其細(xì)節(jié)在圖5中示出并在后面描述。

在本發(fā)明中,明文106是輸入到解密處理的數(shù)據(jù),并且是從加密處理輸出的數(shù)據(jù)。明文可以存儲在例如硬盤驅(qū)動器的非易失性存儲器中,也可以存儲在位于主存儲器中的臨時存儲器中。這可以從本發(fā)明中信息系統(tǒng)101的外部提供。

在本發(fā)明中,密文107是從解密處理輸出的數(shù)據(jù),并且是輸入到加密處理的數(shù)據(jù)。密文可以存儲在例如硬盤驅(qū)動器的非易失性存儲器中,也可以存儲在位于主存儲器中的臨時存儲器中。這可以被提供到本發(fā)明中信息系統(tǒng)101的外部系統(tǒng)。

隨機(jī)數(shù)序列矩陣108是存儲隨機(jī)數(shù)序列的手段,所述隨機(jī)數(shù)序列作為由加密預(yù)處理102和解密后處理105使用的參數(shù)。隨機(jī)數(shù)序列矩陣108可以存儲在非易失性存儲器中,也可以存儲在位于主存儲器中的臨時存儲器中。這可以從本發(fā)明中的信息系統(tǒng)101的外部提供。隨機(jī)數(shù)序列矩陣108在圖2中示出并且將在后面詳細(xì)描述。

圖2是本發(fā)明的一個實(shí)施例中的隨機(jī)數(shù)序列矩陣108的示例。其是如預(yù)定規(guī)范確定的2^n階的隨機(jī)數(shù)(2的n次冪,其中n是自然數(shù))。此規(guī)范可以是任何人都可以使用的開放標(biāo)準(zhǔn),或是通信雙方在進(jìn)行通信之前可更換的規(guī)范。規(guī)范可以通過指定隨機(jī)數(shù)序列索引來指定隨機(jī)數(shù)序列矩陣108中的一個隨機(jī)數(shù)。

優(yōu)選地,隨機(jī)數(shù)序列矩陣108中的每個隨機(jī)數(shù)的長度不同并且是互質(zhì)的,因?yàn)槿绻L度是固定的,隨機(jī)性效果可能受到影響。

圖3是本發(fā)明中加密和解密處理的示例性概覽流程圖。每個處理步驟如中間的矩形中所描繪的,到每個步驟的輸入在圖3的左側(cè)示出,以及來自每個步驟的輸出在圖3的右側(cè)示出。在本發(fā)明中的所述加密處理結(jié)合了加密預(yù)處理(S301)和傳統(tǒng)加密(S302)(例如DES)。在本發(fā)明中的所述解密處理結(jié)合了解密后處理(S301)和傳統(tǒng)解密(S302)(例如DES)。

圖4是本發(fā)明中加密預(yù)處理的示例性概覽流程圖。下面將解釋每個步驟。

(S401)

確定n比特隨機(jī)數(shù),其獨(dú)立于例如所述明文本身、所述初始化矢量、所述加密密鑰或所述時刻的信息。因此,完全隨機(jī)地確定此隨機(jī)數(shù),產(chǎn)生了將與2^-n誤匹配的可能性。此隨機(jī)數(shù)可通過物理隨機(jī)數(shù)生成器來產(chǎn)生。此隨機(jī)數(shù)臨時保存為隨機(jī)數(shù)序列索引。

(S402)

使用S401中的所述隨機(jī)數(shù)序列索引,從隨機(jī)數(shù)序列矩陣108中獲得隨機(jī)數(shù)序列并臨時保存。

(S403)

使用S402中的隨機(jī)數(shù)序列,將所述明文變換為偽裝明文。優(yōu)選地,此變換應(yīng)當(dāng)易于逆變換并且不應(yīng)當(dāng)增加數(shù)據(jù)大小。例如,通過重發(fā)匹配所述明文的長度的隨機(jī)數(shù)序列,并且通過應(yīng)用XOR(“異或”)操作,這兩個條件可被滿足。

(S404)

通過拼接S403中的所述偽裝明文和所述隨機(jī)數(shù)索引,可獲得經(jīng)預(yù)處理的明文,其是輸入到傳統(tǒng)加密步驟(S302)的數(shù)據(jù)。這里“拼接”包括在所述偽裝明文的前面拼接所述隨機(jī)數(shù)索引,在所述偽裝明文的末端拼接所述隨機(jī)數(shù)索引,或?qū)⑺鲭S機(jī)數(shù)索引嵌入到所述偽裝明文的預(yù)定位置。雖然所述經(jīng)預(yù)處理的明文略微大于所述原始的明文,所述大小差異受限于所述隨機(jī)數(shù)序列索引的比特寬度,不顯著影響編碼速率。

圖5是本發(fā)明中解密后處理304的示例性概覽流程圖。下面將解釋每個處理步驟。

(S501)

將來自例如DES的傳統(tǒng)解密方法的輸出分成隨機(jī)數(shù)序列索引和偽裝明文。因?yàn)樗鲭S機(jī)數(shù)序列索引的長度和插入位置被認(rèn)為是雙方商定的規(guī)范,所以此處理是明確的。

(S502)

使用S501中的所述隨機(jī)數(shù)序列索引,從隨機(jī)數(shù)序列矩陣108中獲得隨機(jī)數(shù)序列并臨時保存。

(S503)

使用S502中的隨機(jī)數(shù)序列,將所述偽裝明文變換為明文。這是在S403中進(jìn)行處理的逆變換。例如,如果必要時對重發(fā)的所述隨機(jī)數(shù)序列進(jìn)行XOR操作,在S503中的逆處理將是相應(yīng)的操作。

(本發(fā)明中加密方法的安全性的證明)

在下文中,將解釋本發(fā)明中加密方法的安全性。

所述隨機(jī)數(shù)序列索引從所述系統(tǒng)中的獨(dú)立源中產(chǎn)生。它的保密性由加密來確保。人們不能假設(shè)或?qū)嵤⒁褂玫碾S機(jī)數(shù)序列索引。在下文的解釋中,n是隨機(jī)數(shù)序列索引的比特寬度,m是KPA中所需的明文/密文對的數(shù)量,L是加密中使用的密鑰的比特寬度。

即使KPA攻擊者具有多于一個的明文/密文對,每一對都是與獨(dú)立隨機(jī)數(shù)序列索引相關(guān)的。因此,在KPA中需要(2^n)^m=2^(n*m)次試驗(yàn)。另一方面,窮舉搜索(蠻干攻擊)處理需要2^L次試驗(yàn)。

在所述蠻干攻擊中,每次試驗(yàn)都需要唯一的解密和匹配處理。另一方面,在KPA中,每次試驗(yàn)都需要使用明文/密文對,查找所述密鑰的附加處理。因此,假設(shè)T1為用于所述蠻干攻擊中的一次試驗(yàn)的時間,假設(shè)T2為用于KPA中的一次試驗(yàn)的時間,T1小于或等于T2(T1<=T2)。

如果KPA可比所述蠻干攻擊更快地查找到密鑰,那么KPA可以說是成功的。因?yàn)榭傆?jì)算量等于試驗(yàn)時間長度乘以試驗(yàn)的次數(shù),對于將要成功的KPA,必須滿足T1*2^L>T2*2^(n*m)的條件。

因?yàn)門1<=T2,所以,T1*2^L>T2*2^(n*m)可通過以下步驟變形為2^L>2^(n*m):

T1*2^L>T2*2^(n*m)

→T1/T2*2^L>2^(n*m)

→(因?yàn)?>=T1/T2,所以)1*2^L>=T1/T2*2^L>2^(n*m)

→2^L>2^(n*m)

若剔除m這個條件,則得到L/n>m不等式關(guān)系:

2^L>2^(n*m)

→(因?yàn)長>0,n>0,m>0,所以)Log(2^L)>Log(2^(n*m))

→L*Log(2)>n*m*Log(2)

→L>n*m

→L/n>m

例如,在本發(fā)明中的具有8比特隨機(jī)數(shù)序列索引的加密方法中,對于將要成功的KPA,當(dāng)所述密鑰長度為256比特時,必須查找到具有少于32個明文/密文對的密鑰;以及,當(dāng)所述密鑰長度為56比特時,必須查找到具有少于7個明文/密文對的密鑰。

在當(dāng)今的KPA攻擊中,明文/密文對的數(shù)量被認(rèn)為獨(dú)立于計(jì)算復(fù)雜度。然而,本發(fā)明是有用的,在于其可以限制所需的明文/密文對的數(shù)量。

(本發(fā)明技術(shù)上的有益效果)

本發(fā)明的加密方法易于與傳統(tǒng)加密方法結(jié)合來實(shí)施,同時編碼速率良好,并且不需要多次掃描明文(更容易適用于流加密)。此外,即使受限于要遵循標(biāo)準(zhǔn),而且添加本發(fā)明的方法不能增加、限制加密密鑰的長度,仍然可以改進(jìn)整體安全性,特別是安全抵御KPA的整體安全性。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
临朐县| 隆安县| 沿河| 湘乡市| 米泉市| 保亭| 壤塘县| 华容县| 西宁市| 天津市| 五原县| 涿鹿县| 大方县| 南江县| 江安县| 林周县| 桦南县| 三原县| 建德市| 吉林市| 喀喇| 镶黄旗| 潞城市| 新蔡县| 特克斯县| 永新县| 无极县| 仙游县| 商洛市| 丹寨县| 邓州市| 开化县| 盱眙县| 峨边| 穆棱市| 恩平市| 海城市| 封开县| 阿拉善盟| 伊金霍洛旗| 晴隆县|