TWI386005B - 資料變換器、資料安全性元件、產生資料變換之方法及增強資料之安全性之方法 - Google Patents

資料變換器、資料安全性元件、產生資料變換之方法及增強資料之安全性之方法 Download PDF

Info

Publication number
TWI386005B
TWI386005B TW094127160A TW94127160A TWI386005B TW I386005 B TWI386005 B TW I386005B TW 094127160 A TW094127160 A TW 094127160A TW 94127160 A TW94127160 A TW 94127160A TW I386005 B TWI386005 B TW I386005B
Authority
TW
Taiwan
Prior art keywords
segment
data
groups
group
key
Prior art date
Application number
TW094127160A
Other languages
English (en)
Other versions
TW200620943A (en
Inventor
Ivan Bjerre Damgaard
Torben Pryds Pedersen
Vincent Rijmen
Original Assignee
Cmla Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cmla Llc filed Critical Cmla Llc
Publication of TW200620943A publication Critical patent/TW200620943A/zh
Application granted granted Critical
Publication of TWI386005B publication Critical patent/TWI386005B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/20Manipulating the length of blocks of bits, e.g. padding or block truncation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

資料變換器、資料安全性元件、產生資料變換之方法及增強資料之安全性之方法 相關申請案之交互參照
本案係有關共同審查中之美國專利申請案第10/918,103號,名稱「用以增強安全性之指數型資料變換技術」,該案係與本案一起提出申請;以及本案係有關共同審查中之美國專利申請案第10/918,718號,名稱「用以增強安全性之金鑰導出函數」,二案皆共同讓與本案受讓人。
發明領域
本發明係關於資料安全性,特別係關於用以增強安全性之置換資料變換技術。
發明背景
數千年以來人們已知需要保守機密。但歷史上大部分的保守機密技術發展皆緩慢。凱撒位移密碼相信係由朱利亞凱撒(Julius Caesar)自己使用,該密碼係涉及取一個字母,將該字母向前位移通過字母表來隱藏訊息。如此「A」變成「D」、「B」變成「E」等等。雖然凱撒位移密碼通常被視為極為脆弱的加密技術,但直到數百年後仍極少發展出更優良的加密演繹法則。
兩次世界大戰期間加密技術變成密集研究的注意力焦點。許多努力係用在發展出敵人無法破解的密碼,以及努力花在學習如何來讀取敵軍的加密郵件。設計機械裝置來輔助加密。此等機器中最出名之一為德國伊尼革瑪(Enigma) 機器,但伊尼革瑪絕非該年代的唯一機械加密機器。
電腦的發明已經大為改變加密的景觀。不再需要複雜的機器或數個小時的人工勞力,電腦可以高速、以極微薄的成本來加密訊息與解密訊息。對電腦的基本數學的瞭解也促成新的加密演繹法則的問世。Diffie及Hellman的研究工作結果導致一種使用質數之指數型算術按模運算來交換私鑰的方式,該演繹法則係仰賴於運算上無法算出提供給公開資訊的共享金鑰。而普及的RSA演繹法則(係遵照其發明人:R.Rivest、A.Shamir、及L.Adleman命名)係仰賴將大數目求出因數在運算上也不可行,因而無法解密已加密的資料。Diffie及Hellman之研究工作及RSA演繹法則理論上可被破解,但破解此等演繹法則係仰賴解出尚未能被解出的數學題(附帶一提),RSA演繹法則也屬於第一公鑰密碼系統之一,RSA演繹法則使用與用來加密的金鑰不同的金鑰來解密。如此可公開分配一金鑰而不會喪失其安全性。
但並無任何加密演繹法則有無限期壽命。例如DES(資料加密標準)最初係於1976年發行。政府原先估計DES的有用壽命為10年。但DES持續的時間遠比原先估計的壽命更長,但因其金鑰相當短,故認為DES尚不夠理想。從此DES由AES(先進加密標準)取代來作為政府標準,但DES仍相當廣泛使用。DES有多項改良,但此等改良無法讓DES永久安全。最後DES普遍被視為不安全。
仍然需要來增強現有加密演繹法則的安全性。
發明概要
本發明為一種置換資料變換技術用之方法及裝置。資料被劃分為二片段。第一片段之位元控制置換函數之應用之第二片段之位元組群。已變換的資料包括第一片段及第二片段之已變換的組群。
前述及其它本發明之特色、目的及優點由後文詳細說明,參照附圖進行將更顯然易明。
圖式簡單說明
第1圖顯示由一主鑰產生導出鑰之一種安全雜散演繹法則之一般實作。
第2圖顯示第1圖之安全雜散演繹法則之典型操作。
第3圖顯示一種通用雜散演繹法則之典型操作。
第4圖顯示根據本發明之一具體例,將第1圖之安全雜散演繹法則與通用雜散演繹法則組合來產生更安全的導出鑰之多種不同方式。
第5圖顯示根據本發明之一具體例,可執行資料變換、金鑰產生、金鑰包裹及資料加密之一種伺服器及元件。
第6圖顯示根據本發明之一具體例,經由使用一資料變換器組合一金鑰包裹器、一金鑰導出器、或一加密函數而可操作來增強安全性之一種資料安全性元件。
第7A-7B圖顯示根據本發明之一具體例,使用第6圖之資料安全性元件之流程圖。
第8圖顯示根據本發明之一具體例,第5圖及第6圖之資 料變換器之細節。
第9圖顯示根據本發明之一具體例,第5圖及第6圖之資料變換器之細節。
第10A-10C圖顯示根據本發明之一具體例,使用第8圖之資料變換器之流程圖。
第11圖顯示根據本發明之一具體例,使用第9圖之資料變換器之流程圖。
第12圖顯示根據本發明之一具體例,第5圖及第6圖之金鑰導出函數之細節。
第13圖顯示根據本發明之另一具體例,第5圖及第6圖之金鑰導出函數之細節。
第14圖顯示根據本發明之一具體例,使用第12圖之金鑰導出函數之流程圖。
第15圖顯示根據本發明之一具體例,使用第13圖之金鑰導出函數之流程圖。
第16圖顯示根據本發明之一具體例,使用一金鑰導出函數於第5圖之資料安全性元件之流程圖。
較佳實施例之詳細說明
第1圖顯示由一主鑰產生導出鑰之一種安全雜散演繹法則之一般實作。概略構想為主鑰105被輸入安全雜散演繹法則110。安全雜散演繹法則之一實例為SHA-1(安全雜散演繹法則1)。結果為導出鑰115-1。安全雜散演繹法則110可使用多次。依據安全雜散演繹法則110之實作決定,主鑰105可 經修改或未經修改,重複用作為安全雜散演繹法則110之輸入。例如,若安全雜散演繹法則110使用一時脈來控制其輸出,則主鑰105可未經修改而用來產生導出鑰115-2及115-3。否則,主鑰105可以某種方式組合計數值來充分修改主鑰105,俾區別導出鑰115-2及115-3與導出鑰115-1。若安全雜散演繹法則110經過適當實作,則改變主鑰105中少至單一位元也可能導致導出鑰115-2及115-3與導出鑰115-1全然無關。
第2圖顯示第1圖之安全雜散演繹法則之典型操作。如圖所示一雜散演繹法則將輸入映射至雜散值。第2圖中,對某些n值,雜散值介於0至n間變換。雜散演繹法則之輸出可稱作為籃;第2圖顯示籃205、210、215等至籃220。
不似一般雜散演繹法則,其使用任何預定映射圖來將輸入映射至籃,安全雜散演繹法則係無法預測(偶爾也稱作為無碰撞):知曉一輸入產生一特定輸出,未能提供任何資訊有關如何找出可產生相同輸出的另一個輸入。舉例言之,知曉輸入「5」係映射至籃215,並未能輔助來找出也映射至籃215之任何其它輸入值。實際上對於某些特定雜散演繹法則,並無任何其它輸入可映射至籃215。因而讓安全雜散演繹法則110變「安全」,不容易找出另一個輸入可映射至一預定輸出。唯一找出匹配一特定輸出之另一輸入之方式,係經由使用不同的輸入進行實驗,期望能找出映射該期望輸出之另一數值。
安全雜散演繹法則之弱點為籃可能並非全部被均等映 射。換言之可能只有一個輸入係映射至籃215,但有100個輸入映射至籃205。以及如前文說明,某些籃可能並無任何輸入映射至該籃。
一通用雜散演繹法則提供分配特點,該特點為安全雜散演繹法則所缺如的特點。如第3圖所示,通用雜散演繹法則305也映射輸入至籃310、315、320直到325。但不似第2圖之安全雜散演繹法則,通用雜散演繹法則305將其輸入均勻跨各籃分配。如此籃310被映射的次數與籃315、320、325等相同。
通用雜散演繹法則之缺點為其典型容易找出映射同一籃的其它輸入。例如考慮通用雜散演繹法則映射至10籃,10籃編號0至9,經由選擇與輸入之最末一個位數相對應之籃來映射。容易瞭解此種雜散演繹法則係將其輸出跨全部各籃均勻分配。但也容易得知如何找出映射至同一籃作為指定輸入的另一輸入。例如,1、11、21、31等全部皆映射至籃315。
如此顯然安全雜散演繹法則及通用雜散演繹法則各有優缺點。由安全性觀點,最佳解決之道係略為組合安全雜散演繹法則與通用雜散演繹法則二者之優點。第4圖顯示根據本發明之一具體例,如何將第1-2圖之安全雜散演繹法則與第3圖之通用雜散演繹法則組合來產生更安全的導出鑰。於程序405,主鑰105首先送至安全雜散演繹法則110。然後安全雜散演繹法則110之結果用作為通用雜散演繹法則305之輸入,由該通用雜散演繹法則305之結果可產生導 出鑰115-1。
雖然程序405顯示安全雜散演繹法則110係於通用雜散演繹法則305之前使用,但程序410則逆轉此種排序。如此主鑰105係用作為通用雜散演繹法則305之輸入。然後通用雜散演繹法則305之結果係用作為安全雜散演繹法則110之輸入,由該結果可產生導出鑰115-1。
安全雜散演繹法則110及通用雜散演繹法則305可以任一種期望形式實作。舉例言之,安全雜散演繹法則110及通用雜散演繹法則305可以唯讀記憶體(ROM)、韌體、或儲存於記憶體之軟體中之任何一種形式實作,來作為安全雜散演繹法則110及通用雜散演繹法則305藉通用處理器執行時之若干實作範例。實作也包括專用元件:例如一處理器可特別設計來實作安全雜散演繹法則110及通用雜散演繹法則305。如此舉另一實例,計算器可設計來實作安全雜散演繹法則110或通用雜散演繹法則305。熟諳技藝人士瞭解可實作安全雜散演繹法則110及通用雜散演繹法則305之其它方式。
第5圖顯示根據本發明之一具體例,可執行資料變換、金鑰產生、金鑰包裝及資料加密之一種伺服器及元件。第5圖中顯示伺服器505。伺服器505包括資料變換器510、金鑰導出函數515、金鑰包裝函數520、及加密函數525。資料變換器510係負責執行資料變換。將於後文參照第8-9、10A-10C及11圖討論,資料變換雖然本質上並不安全,但資料變換可藉讓資料變亂序來增加編碼資料的複雜度,因而 讓密碼的分析變困難。如此資料變換可遮罩存在於已經編碼資料但尚未被變換資料的型樣。
金鑰導出函數515係負責來導出供加密資料用之金鑰。雖然實際上任何金鑰皆可用來加密資料,但使用愈特殊的金鑰,則金鑰愈可能使用加密分析來測定。如此某些系統係仰賴主鑰來產生導出鑰,隨後導出鑰用來加密資料。視情況需要,可產生新的導出鑰;任何只使用導出鑰加密的資料隨後對於破解使用新的導出鑰加密的訊息上毫無價值。存在有既有之金鑰導出函數;後文將參照第12-13圖及第15-16圖說明三種新穎金鑰導出函數。
金鑰包裝函數520係附著包裝變換用之金鑰。金鑰之包裝典型係藉將變換資料加密來達成。舉例言之,可使用RSA來加密(換言之包裝)金鑰。金鑰現在已經充分安全,金鑰甚至可透過不安全的連結來傳輸至其它機器,於該機器上金鑰可被打開包裝(解密),以及用於資料的加密/解密。
經常,已包裝的金鑰是用於私鑰或對稱性密碼系統之金鑰,該金鑰或使用公鑰或非對稱性密碼系統包裝。私鑰密碼系統與公鑰密碼系統相反,後者使用不同金鑰來加密與解密,而私鑰密碼系統係使用相同金鑰來加密與解密。例如,DES及AES為私鑰密碼系統;RSA為公鑰密碼系統。雖然公鑰密碼系統可安全分配金鑰(無需擔憂金鑰可能被攔截且被第三方用來解密私密訊息),但公鑰密碼系統經常於實作上較慢,結果導致比私鑰密碼系統更長的訊息。顯然,為了使用公鑰密碼系統來包裝金鑰,伺服器505需要瞭解已 包裝之金鑰欲與其通訊之該元件之公鑰。但熟諳技藝人士瞭解任何加密演繹法則皆可用來包裝金鑰,瞭解欲包裝的金鑰可用於任一種密碼系統。
加密函數525用來加密資料。典型地,資料係使用已經使用金鑰包裝函數520包裝之金鑰來加密,但熟諳技藝人士瞭解任何金鑰皆可用來加密資料,資料可為任何欲加密的資料,任何預定加密函數皆可使用。
第5圖也顯示根據本發明之一具體例,可執行資料變換、金鑰包裝及資料加密之元件530。儘管元件530類似個人數位助理器(PDA),但熟諳技藝人士瞭解元件530及伺服器505可為任一種使用安全性演繹法則之元件。如此,例如元件530為電腦(例如桌上型電腦或筆記型電腦),與伺服器505(可能為尋常電腦而本身並非伺服器)交換檔案。或元件530可為數位媒體元件:例如呈現數位內容給使用者,伺服器505提供內容給元件530。另外,元件530可接收來自任何合法來源的內容,伺服器505規定就該內容而言授與該元件530的權利。或元件530可為軟體來實作若干儲存於媒體之功能,該媒體將用於通用機器諸如電腦。於此變化例中,讓元件530構成第5圖所示系統之一部分係與元件530之硬體較無相依性,而與藉元件530執行之軟體較為相關。熟諳技藝人士瞭解軟體可實作任何預定功能,軟體可儲存於任何適當媒體上,諸如軟碟、多種雷射光碟(CD)或數位視訊光碟(DVD,偶爾也稱作為數位影音光碟)、磁帶媒體或通用串列匯流排(USB)鑰,只舉出較為普遍之可能中之少數實 例。或,元件530可為行動電話及伺服器505基地台,此處行動電話與基地台係以加密方式通訊。熟諳技藝人士瞭解元件530與伺服器505之其它變化,也瞭解伺服器505與元件530可以任一種通訊頻道方式通訊:例如有線通訊、無線通訊或任何其它形式之通訊。
元件530係類似第5圖之伺服器505,元件530也包括資料變換器510、金鑰包裝函數520、及加密函數525。注意不似第5圖之伺服器505,元件530不包括金鑰導出函數515。原因在於金鑰的導出通常只有伺服器505才需要。若有一種方式可與其它元件通訊,則只需要一個元件來產生導出鑰。當然若沒有其它方式可安全地通訊導出鑰,反而二元件可準確產生相同的導出鑰,則元件530可包括金鑰導出函數515(但此時元件530無需金鑰包裝函數520)。
第6圖顯示根據本發明之一具體例,經由使用一資料變換器組合一金鑰包裝器、金鑰導出器、或一加密函數,可操作來增強安全性之一種資料安全性元件。資料安全性元件605可為第5圖之伺服器505或元件530之一部分,可視需要修改來增刪組成元件。於伺服器505,輸入埠610負責接收資料。資料可為主鑰,由該主鑰來產生導出鑰、欲包裝之金鑰、或欲加密之資料等多種其它可能。除法器615係負責將資料劃分成為多個區塊。如後文參照第12-13圖及第14-16圖討論,偶爾該等函數對資料之多個部分應用資料變換技術;除法器615將資料分解成為具有預定大小之多個區塊,因而讓資料變換器510可應用至各個區塊。資料變換器 510係負責進行資料的變換,將於後文參照第12-13圖及第14-16圖討論。組合器620係負責於資料變換之後,將多個區塊共同組合用來應用適當的安全性函數。多種可使用的安全性函數包括金鑰導出函數515、金鑰包裝函數520或加密函數525。最後輸出埠625將變換後及/或應用安全性函數後的資料輸出。
值得注意者,雖然典型地除法器615將資料分解成為多個符合資料變換演繹法則的大小,但此點並非必要。如此金鑰導出函數515可將資料分解成為比預期輸入至資料變換器510的大小更小或更大的區塊。若除法器615將資料分解成為小於資料變換器510所預期的區塊,則資料可經過填補來讓資料變夠大;若除法器615將資料分解成為大於資料變換器510所預期的區塊,則資料變換器510可對資料變換器510所需要的多個資料位元應用資料變換。舉例言之,若資料變換器510係如第10圖之具體例所述實作,則資料變換器510係於8位元組輸入操作。若資料變換器510接收到大於8個位元組,則資料變換器510只能應用8位元組輸入。此8位元組可以是資料內部的任何8位元組:例如最初8位元組、最末8位元組或任何其它期望的組合。
也值得注意任何資料皆可經過變換。如此,欲變換的資料可為主鑰,此處變換後之主鑰用來產生導出鑰。或資料可為於變換前欲被包裝之導出鑰。或資料可為欲使用一加密演繹法則實作來加密之資料。熟諳技藝人士瞭解可變換其它型別之資料。
第7A-7B圖顯示根據本發明之一具體例,使用第6圖之資料安全性元件之流程圖。第7A圖中,於方塊705,資料被劃分成為多個區塊。於方塊710,各個區塊係使用資料變換技術來變換。各個區塊可視需要而獨立進行資料的變換;換言之,某些區塊可經變換,而其它區塊則否。於方塊715,各個區塊可被重新組繹。如虛線720所示,方塊705、715為選擇性,若不需要時可被跳過。
第7B圖中,資料安全性元件可以不同方式使用。於方塊725,金鑰包裝演繹法則可應用至資料。於方塊730,金鑰導出演繹法則可應用至資料。以及於方塊735,資料加密演繹法則可應用至資料。
第8圖顯示根據本發明之一具體例,第5圖及第6圖之資料變換器之細節。於第8圖所示資料變換器510中,資料變換器510係經由使用置換函數來置換位元組群而操作。資料變換器510包括輸入埠805來接收欲變換的資料、除法器810、填補器815、置換器820、及輸出埠825來輸出已變換的資料。除法器810負責將輸入資料劃分成為應用置換函數用之位元組群。實際上,除法器810係始於將資料劃分成為二片段。第一片段包括用來控制置換函數應用於位元組群之位元,該等位元組群為來自第二片段之一部分。一具體例中,資料包括64位元;第一片段包括8位元,第二片段包括8個7位元組群。熟請技藝人士瞭解資料可為任一種長度,資料可被劃分成為具有任何預定長度之組群,甚至不同組群可有不同長度。最後,若個別組群經常性置換,則 包括控制置換組群的應用之該第一片段可被刪除。
若資料變換器510支援接收具有無法預測大小(而非假設該資料經常具有固定大小)之資料,則除法器810可能無法將資料適當劃分為位元組群。可使用填補器815來以額外位元填補該資料,讓資料具有適當長度而可被妥當劃分。
一具體例中,置換函數之應用係由第一片段之位元來控制:若設定相應於第一片段之位元,則一位元組群係使用一特定置換函數來置換。舉例言之,若相應位元具有數值1,則該相應組群係使用適當置換函數置換;若相應位元具有數值0,則相應組群則未經置換。另外,若相應位元具有值0,則相應位元組群可視為已經使用身分置換函數來置換。置換函數也可經過檢索;若置換函數的號碼匹配第二片段之位元組群號碼(因而也匹配第一片段之位元號碼),則單一索引即可識別三個相應的元素:於第一片段之一位元、第二片段之一位元組群、及應用至該位元組群之一置換函數。
置換器820係負責控制第二片段之位元組群之置換。於一具體例中,置換器820係根據下表1所示之函數來實作置換,但熟諳技藝人士瞭解可使用任何置換函數。
表1所示置換有某些令人感興趣之特色。首先,各個置換函數為置換函數P1 之一次冪。如此P2 =P1 ○P1 ,P3 =P2 ○P1 (=P1 ○P1 ○P1 )等,因P6 ○P1 ,將再度獲得P1 ,故選用P7 及P8 來重複P1 的早期次冪。如此表示資料變換器510只須瞭解一種置換函數之實作;而其餘置換函數可由該基本置換函數導出。第二,表1之置換並未於資料中導入任何結構,其係類似於加密函數如RSA、DES、AES、SHA-1等所見之結構。
由於置換函數為可反相,故經由應用表1之置換函數所得之資料變換容易逆轉。表2顯示為表1之置換函數之反相之該等置換函數。
如此,為了反相應用表1之置換函數之資料變換,只須使用表2之置換函數來應用第二次資料變換。為了讓此種逆轉之變換變成可能,輸出埠825直接輸出第一片段之位元連同已置換之組群一起輸出;否則,已變換資料之接收器將不瞭解何者位元組群已經經過置換。
如同表1之置換函數,表2之全部置換函數可由單一基本函數而導出:此種情況下為P5 -1 =P6 -1 ○P6 -1 ,P4 -1 =P5 -1 ○P6 -1 (=P6 -1 ○P6 -1 ○P6 -1 )等。
第9圖顯示根據本發明之一具體例,第5圖及第6圖之資料變換器之細節。第9圖中,輸入埠905及輸出埠910係以類似第8圖之資料變換器510之相同方式操作。但並非使用置換函數來置換資料,第9圖之資料變換器510係經由對資料進行指數型置換來運算:此項計算係藉計算器915進行。一具體例中,資料變換器510係於長3位元組之資料輸入進 行。第一片段用來計算最末二位元組被升標的該次冪。然後該結果被用於一模數之按模運算。例如一具體例運算資料變換為Y=((B+1)(2A+1) mod 65537)-1,此處A為資料輸入之第一位元組,而B為資料輸入之最末二位元組。則已變換資料包括A及Y,且長3位元組。但熟諳技藝人士瞭解輸入可具有不同長度,可應用不同之指數型置換函數。
前述指數型置換函數有若干優點。第一,抽象代數顯示若指數與模數(減1)互質,則函數循環通過1與該模數間的全部可能數值,表示指數型置換函數為一種置換。經由選擇65537作為質數,比65537少一為65536,65536為2的次冪。如此,與A值無關,(2A+1)為奇數,因此(2A+1)係與65536互質。第二,若A為0,則資料輸出不變。最後,如同第8圖之置換資料變換器,第9圖之資料變換器510之結構係使用不存在於密碼術演繹法則諸如RSA、DES、AES、SHA-1等之結構。
若資料變換器510支援接收非可預測大小之資料(而非假設該資料經常性為固定大小),則除法器920無法將資料劃分成為適當大小的片段。如同第8圖之資料變換器的填補器815,可使用填補器925來以額外位元填補該資料,讓該資料具有可做適當劃分的適當長度。
如同第8圖之置換資料變換器,第9圖之資料變換器510為可逆。為了讓其可逆轉資料變換,輸出埠910輸出未改變的A及Y。然後為了逆轉指數型置換,計算器915運算2A+1與65536(亦即65537-1)按模運算的倒數。若將此倒數稱作為 e,則倒數指數變換為((Y+1)e mod 65537)-1。此計算結果回復原先位元組B。如此,單純經由應用第二資料變換,改變資料變換器的指數,可逆轉指數型置換。
現在呈現第8圖及第9圖之裝置,可瞭解其使用方法。第10A-10C圖顯示根據本發明之一具體例,使用第8圖之資料變換器之流程圖。第10A圖中,於方塊1005,接收資料。於方塊1010,資料被劃分為二片段(假設位元組群之置換係由第一片段之位元所控制)。於方塊1015,資料變換器檢查第二資料片段是否可被均勻劃分成為多個組群。若否,則於方塊1020,資料經填補來支援第二片段劃分成為均勻大小的組群(如此假設資料變換器試圖將資料輸入劃分成為均勻大小的組群;若資料變換器無需將輸入資料劃分成為均勻大小的組群,則可刪除方塊1015及1020。
於方塊1025(第10B圖),第二片段被劃分成為多個位元組群。雖然方塊1025係描述第二片段被劃分成為具有相等大小的多個組群,但如前文說明,若資料變換器可支援,則可劃分成為不等大小的多個組群。於方塊1030,各個組群係關聯第一片段之一位元。於方塊1035,定義基本置換函數。於方塊1040,定義其它置換函數作為基本置換函數的次冪。(再度,不要求置換為基本置換函數的次冪;各個置換函數可彼此無關,該種情況下,方塊1035及1040可經修改/刪除。於方塊1045,置換函數係經過檢索。
於方塊1050(第10C圖),資料變換器檢查第一片段的任何位元(其控制置換函數的應用至第二片段之位元組群)是 否尚未經過檢查。若有未經檢查的位元,則於方塊1055,資料變換器檢查該位元瞭解其是否已經被設定。若該位元經過設定,則於方塊1060,藉位元檢索的置換函數經過識別,於方塊1065,經識別的置換應用至相關聯的置換組群。然後控制返回方塊1050,瞭解第一片段是否有任何進一步未經檢查的位元。於第一片段的全部位元都經過檢查後,然後於方塊1070,資料變換器由第一片段及已置換的位元組群來組成資料變換。
第11圖顯示根據本發明之一具體例,使用第9圖之資料變換器之流程圖。於方塊1105,資料變換器接收該資料。於方塊1110,資料變換器將該資料劃分成為二片段。於方塊1115,第一片段用來組成一次冪,該次冪係與所選的模數互質。於方塊1120,第二片段被升至所運算的次冪。於方塊1125,其餘部分使用該模數按模計算結果來運算。最後於方塊1130,資料的變換係從第一片段及其餘部分組成。
如前文參照第5圖討論,存在有既有之金鑰導出函數。但既有之金鑰導出函數並未提供如前文參照第4圖說明之安全雜散函數及通用雜散函數二者的優點。第12圖顯示一種金鑰導出函數的細節,該金鑰導出函數組合安全雜散函數及通用雜散函數之功能。第12圖中,金鑰導出函數515包括輸入埠1205及輸出埠1210,分別係用來提供輸入至該金鑰導出函數及輸出所導出的金鑰。金鑰導出函數515也包括除法器1215、一組合器1220、一雜散函數1225、一判定器1230、一計算器1235、及一位元選擇器1240。
除法器1215將主鑰劃分成為兩部分。組合器將主鑰的第一部分與一計數值組合,其可構成輸入資料的一部分。一種組合主鑰與計數值之方式係將主鑰的第一部分與計數值連鎖並置,計數值可具有任何大小(例如4位元組)。此種連鎖並置可以任一種順序進行:換言之,主鑰的第一部分或計數值可位在組合的前方。然後此種組合結果使用雜散函數1225雜散,雜散函數1225可為安全雜散函數。(本具體例中,雜散函數1225可替代第4圖之程序405中之安全雜散演繹法則110)。
判定器1230用來判定來自主鑰的第二部分的兩個數目。一具體例中,此二數目a及b係判定為主鑰的第二部分與質數p按模計算之第一及最後32位元組。藉此方式選擇a及b,要求主鑰有足夠長度來讓主鑰的第二部分長64位元組。但熟諳技藝人士瞭解主鑰無需具有此種長度。舉例言之,若a及b與p按模計算,此種運算足夠變更a及b之位元,則a及b可選擇其原先位元係於主鑰第二部分重疊。
質數之一項特定選擇可為p192 =2192 -264 -1,雖然熟諳技藝人士瞭解也可選用其它質數。然後計算器1235實作ax+b mod p之通用雜散函數,此處x為雜散函數1225的結果。(此種通用雜散函數可替代第4圖之程序405中之通用雜散演繹法則305)。最後位元選擇器1240從通用雜散函數結果選出導出鑰的位元,然後被輸出。例如,位元選擇器1240可選擇通用雜散函數之結果中之最低有效位元作為導出鑰。
第13圖顯示根據本發明之一具體例,第5圖及第6圖之金 鑰導出函數之細節。與第12圖所示之本發明之具體例相反,第12圖實作根據第4圖之程序405之金鑰導出函數,第13圖之金鑰導出函數515於安全雜散演繹法則之後並未應用通用雜散演繹法則。反而,第13圖所示本發明之具體例係對安全雜散演繹法則之輸入應用線性映射。
如同第12圖之金鑰導出函數515,第13圖之金鑰導出函數515包括輸入埠1305及輸出埠1310,其分別接收主鑰作輸入,及輸出導出鑰。第13圖之金鑰導出函數515也包括一除法器1315、一編碼器1320、一組合器1325、一雜散函數1330、及一位元選擇器1335。
如同第12圖之除法器1215,除法器1315將該主鑰劃分成為二部分。然後編碼器1320編碼一計數值。編碼器1320可以任何期望之方式操作。例如編碼器1320可藉重複計數值來延伸至主鑰的第一部分之長度來操作。如此例如若主鑰之第一部分長64位元組,而計數值使用4位元組表示,則編碼器1320可重複該等4位元組六次,來將計數值延長至長64位元組。然後組合器1325將已編碼的計數值分開與主鑰之各部分組合。舉例言之,組合器1325可於位元層面組合主鑰之各部分與一編碼之計數值。一具體例使用XOR二進制函數來組合主鑰各部分與已編碼之計數值。但熟諳技藝人士瞭解組合器1325可使用任何逐位元之二進制函數,或實際上任何函數來組合主鑰之各部分與已編碼之計數值。然後組合器1325將主鑰之二部分(於與已編碼計數值組合後)共同重組:例如二部分可共同連鎖並置(但熟諳技藝人士瞭 解組合器1325可以其它方式來重組主鑰之該二部分)。組合器1325也將重組後之主鑰各部分與已編碼之計數值再一次連鎖並置。
雜散函數1330取組合器1325之輸出且將其雜湊。雜散函數1330也可為安全雜散函數。如同第12圖之位元選擇器1240,位元選擇器1335隨後可從雜散函數1330的結果選出位元作為導出鑰。
現在已經呈現第12圖及第13圖之裝置,可瞭解其使用方法。第14圖顯示根據本發明之一具體例,使用第12圖之金鑰導出函數之流程圖。於方塊1405,主鑰被劃分為多個片段,於方塊1410,第一片段係與一已編碼計數值組合。如前文參照第12圖之說明,此種組合可為第一片段與已編碼計數值的連鎖並置。於方塊1415,已組合的第一片段經過雜湊。
於方塊1420,從第二片段判定二數目。如前文參照第12圖之討論,此二數目係相關一模數來判定。於方塊1425,使用該二判定數目及模數來定義通用雜散函數。於方塊1430,雜湊結果應用至通用雜散函數。於方塊1435,從通用雜散演繹法則結果選出位元來作為導出鑰。
第15圖顯示根據本發明之一具體例,使用第13圖之金鑰導出函數之流程圖。於方塊1505,主鑰被劃分成為多個片段。於方塊1510,各片段係與一已編碼計數值組合。如前文參照第13圖所述,如此可經由將XOR位元函數應用至個別帶有已編碼計數值的各個片段來進行。於方塊1515,組 合後之區塊隨後經重組以及(如前文參照第13圖之討論)也可再度與已編碼之計數值組合。於方塊1520,此種經修改之主鑰隨後經雜湊;以及於方塊1525,從雜湊結果選出位元來作為導出鑰。
第12-15圖所示金鑰導出函數只是其中二實例。其它金鑰導出函數也可使用,而組合安全雜散演繹法則與通用雜散演繹法則之優點。第16圖顯示根據本發明之一具體例,第5圖之資料安全性元件中之又另一金鑰導出函數之流程圖。於方塊1605,主鑰被劃分為多個片段。於方塊1610,該等片段使用資料變換而經變換。因片段典型係大於資料變換器可使用之片段,故只使用該等片段之一子集:例如只有資料變換所需的第一位元組。於方塊1615,已變換之片段經組合,且與已編碼之計數值組合:例如已變換之片段及已編碼之計數值可共同連鎖並置。於方塊1620,結果經過雜湊;以及於方塊1625,從雜湊結果選出位元來作為導出鑰。
雖然第12-13圖之裝置及第14-16圖之流程圖係顯示從一主鑰產生一單一導出鑰,但值得注意者為本發明之具體例容易調整適合產生重複的導出鑰。此等額外導出鑰可以多種方式產生。例如第14-16圖之流程圖全部包括計數值。對所需之各個額外導出鑰,可遞增計數值。如此,為了導出第一鑰,計數值可使用數值1;為了導出第二鑰,計數值可使用數值2等等。
於另一變化例中,替代使用第12圖之位元選擇器1240或 第13圖之位元選擇器1335來選擇導出鑰之位元,一次可產生足夠結果來從組合結果中選出位元用於全部導出鑰。舉例言之,假設期望u個金鑰,各個金鑰長k位元,以及進一步假設第12-13圖之裝置及/或第14-16圖之流程圖結果於位元選擇前可產生l位元。若金鑰導出函數應用m次,故m*lu*k,則u個導出鑰可全部同時從m*l所得位元中選出。例如,m*l所得位元可全部共同連鎖並置;第一鑰選用作為第一k位元,第二鑰選用作為第二k位元等等,直到全部u個金鑰都被選定為止。
後文討論意圖簡單一般性說明可實作本發明之某些態樣之適當機器。典型地,機器包括一系統匯流排,於該系統匯流排連結處理器、記憶體例如隨機存取記憶體(RAM)、唯讀記憶體(ROM)或其它狀態保留媒體、儲存元件、視訊介面及輸入/輸出介面埠。機器至少部分係藉來自習知輸入元件如鍵盤、滑鼠等的輸入控制,以及機器可藉接收自另一機器的指令、與虛擬實際(VR)環境的互動、生物量測的回授或其它輸入信號的指示來控制。如此處使用,「機器」一詞則廣義涵蓋單一機器或共同操作之通訊耦接機器或元件之系統。機器實例包括運算元件諸如個人電腦、工作站、伺服器、可攜式電腦、掌上型電腦、電話、平板電腦等以及運輸元件諸如私人運輸或大眾運輸諸如汽車、火車、計程車等。
機器可包括埋設式控制器,諸如可規劃的或非可規劃的邏輯元件或邏輯陣列。特殊應用積體電路、埋設式電腦、 晶片卡等。機器可經由諸如網路介面、數據機、或其它通訊耦接,來利用一或多種連結至一或多個遠端機器。機器可藉實體網路及/或邏輯網路互連,網路諸如企業網路、網際網路、區域網路、廣域網路等。熟諳技藝人士瞭解網路通訊可利用多種有線及/或無線短範圍或長範圍之載波及/或協定,包括射頻(RF)、衛星、微波、美國電氣及電子工程師協會(IEEE)802.11、藍芽、光波、紅外光、纜線、雷射等。
本發明可參照或結合相關資料說明,該等資料包括函數、程序、資料結構、應用程式等,該等資料當由機器存取時將導致機器執行任務或定義摘要資料型別或低階硬體內文。相關資料例如可儲存於依電性記憶體及/或非依電性記憶體例如RAM、ROM等,或相關資料可儲存於其它儲存元件及其相關儲存媒體,包括硬碟、軟碟、光學儲存元件、磁帶、快閃記憶體、記憶體棒、數位影音光碟、生物儲存元件等。相關資料可以封包、串列資料、並列資料、傳播信號等形式透過包括實體網路及/或邏輯網路之傳輸環境輸送,且可以壓縮格式或加密格式使用。相關資料可用於分散式環境,相關資料可於本地儲存及/或遠端儲存來供機器存取。
已經參照具體實施例舉例說明本發明之原理,須瞭解所述具體例可未悖離此等原理而就配置及細節上作修改。此外,雖然前文討論的注意力係集中在特定具體例,但其它組配結構預期也涵蓋於本發明之範圍。特別,即使於此處 使用諸如「於一個具體例中」等之表示法,但此等表達方式係概略述及具體例之可能性,而非意圖囿限本發明於特定具體例之組配結構。如此處使用,此等術語可表示相同具體例或不同具體例可組合成為其它具體例。
結果鑑於對此處所述具體例之寬廣多種置換變化,本詳細說明及附圖僅供舉例說明之用,而非視為限制本發明之範圍。因此本發明所請求之範圍為落入如下申請專利範圍及其相當範圍之範圍及精髓以內之全部此等修改。
105‧‧‧主鑰
110‧‧‧安全雜散演繹法則
115‧‧‧導出鑰
205、210、215、220‧‧‧籃
305‧‧‧通用雜散演繹法則
310、315、320、325‧‧‧籃
405‧‧‧程序
410‧‧‧程序
505‧‧‧伺服器
510‧‧‧資料變換器
515‧‧‧金鑰導出函數
520‧‧‧金鑰包裝函數
525‧‧‧加密函數
530‧‧‧元件
605‧‧‧資料安全性元件
610‧‧‧輸入埠
615‧‧‧除法器
620‧‧‧組合器
625‧‧‧輸出埠
705、710、715‧‧‧方塊
720‧‧‧虛線
725、730、735‧‧‧方塊
805‧‧‧輸入埠
810‧‧‧除法器
815‧‧‧填補器
820‧‧‧置換器
825‧‧‧輸出埠
905‧‧‧輸入埠
910‧‧‧輸出埠
915‧‧‧計算器
920‧‧‧除法器
925‧‧‧填補器
1005-1130‧‧‧方塊
1205‧‧‧輸入埠
1210‧‧‧輸出埠
1215‧‧‧除法器
1220‧‧‧組合器
1225‧‧‧雜散函數
1230‧‧‧判定器
1235‧‧‧計算器
1240‧‧‧位元選擇器
1305‧‧‧輸入埠
1310‧‧‧輸出埠
1315‧‧‧除法器
1320‧‧‧編碼器
1325‧‧‧組合器
1330‧‧‧雜散函數
1335‧‧‧位元選擇器
1405-1435、1505-1525、1605-1625 ‧‧‧方塊
第1圖顯示由一主鑰產生導出鑰之一種安全雜散演繹法則之一般實作。
第2圖顯示第1圖之安全雜散演繹法則之典型操作。
第3圖顯示一種通用雜散演繹法則之典型操作。
第4圖顯示根據本發明之一具體例,將第1圖之安全雜散演繹法則與通用雜散演繹法則組合來產生更安全的導出鑰之多種不同方式。
第5圖顯示根據本發明之一具體例,可執行資料變換、金鑰產生、金鑰包裹及資料加密之一種伺服器及元件。
第6圖顯示根據本發明之一具體例,經由使用一資料變換器組合一金鑰包裹器、一金鑰導出器、或一加密函數而可操作來增強安全性之一種資料安全性元件。
第7A-7B圖顯示根據本發明之一具體例,使用第6圖之資料安全性元件之流程圖。
第8圖顯示根據本發明之一具體例,第5圖及第6圖之資 料變換器之細節。
第9圖顯示根據本發明之一具體例,第5圖及第6圖之資料變換器之細節。
第10A-10C圖顯示根據本發明之一具體例,使用第8圖之資料變換器之流程圖。
第11圖顯示根據本發明之一具體例,使用第9圖之資料變換器之流程圖。
第12圖顯示根據本發明之一具體例,第5圖及第6圖之金鑰導出函數之細節。
第13圖顯示根據本發明之另一具體例,第5圖及第6圖之金鑰導出函數之細節。
第14圖顯示根據本發明之一具體例,使用第12圖之金鑰導出函數之流程圖。
第15圖顯示根據本發明之一具體例,使用第13圖之金鑰導出函數之流程圖。
第16圖顯示根據本發明之一具體例,使用一金鑰導出函數於第5圖之資料安全性元件之流程圖。
105‧‧‧主鑰
110‧‧‧安全雜散演繹法則
115-1‧‧‧導出鑰
305‧‧‧通用雜散演繹法則
405‧‧‧程序
410‧‧‧程序

Claims (71)

  1. 一種資料變換器,包含:一輸入埠來接收資料;一除法器來將該資料劃分成為一第一片段及一第二片段,且將該第二片段劃分成為至少一個組群;一置換器其包括一置換函數之實作,來根據該第一片段中之一相應位元而將該等組群中之至少一者置換成為一已置換之組群;以及一輸出埠來輸出該第一片段及至少該已置換組群作為已變換之資料。
  2. 如申請專利範圍第1項之資料變換器,其中該除法器可操作來將該第二片段劃分成為多個組群,讓該第二片段中之該等組群數目係等於該第一片段中之位元數目。
  3. 如申請專利範圍第1項之資料變換器,其中該除法器可操作來將該第二片段劃分成為該等組群,該等組群各自具有一預定大小。
  4. 如申請專利範圍第3項之資料變換器,其中該除法器包括一填補器來填補該第二片段,讓各個組群具有該預定大小。
  5. 如申請專利範圍第1項之資料變換器,其中該置換器包括至少二置換函數之實作。
  6. 如申請專利範圍第5項之資料變換器,其中置換函數之數目係等於該第二片段中之該等組群之數目。
  7. 如申請專利範圍第6項之資料變換器,其中該置換器可 操作來根據該第一片段中之該相應位元,使用該等置換函數中之一者來置換各別組群。
  8. 如申請專利範圍第5項之資料變換器,其中該置換函數之實作包括:一基本置換函數之實作;以及該基本置換函數之次冪之實作。
  9. 如申請專利範圍第1項之資料變換器,其中該已置換組群具有一第一大小,係與該至少一個組群的一第二大小相等。
  10. 如申請專利範圍第2項之資料變換器,其中該第二片段的各個組群具有在該第一片段中的一獨特相應位元。
  11. 如申請專利範圍第10項之資料變換器,其中該第一組群包括至少兩個位元,並且該除法器可操作來將該第二片段劃分成至少兩個組群。
  12. 如申請專利範圍第11項之資料變換器,其中該輸出埠可操作來輸出該第一片段、該等已置換組群以及任何還未被置換的組群來作為已變換之資料。
  13. 如申請專利範圍第10項之資料變換器,其中若該第一片段中的該獨特相應位元被設定,該置換器可操作以置換該第二片段的各個組群,以及若該第一片段中的該獨特相應位元未被設定,該置換器可操作成不要置換該第二片段的各個組群。
  14. 如申請專利範圍第1項之資料變換器,其中該等組群各自包括多個位元。
  15. 如申請專利範圍第2項之資料變換器,其中該第二片段中之該等組群數目係大於二。
  16. 一種資料安全性元件,包含:一資料變換器,包括:一輸入埠來接收資料;一除法器來將該資料劃分成一第一片段及一第二片段,且將該第二片段劃分成為至少兩個組群,各個組群具有一預定大小,讓該第二片段中之組群數目係等於該第一片段中之位元數目;一置換器包括一置換函數之實作,來根據於該第一片段之一相應位元而將該等組群中之至少一者置換成為一已置換之組群;以及一輸出埠來輸出該第一片段及至少該已置換組群作為已變換資料;以及一安全性演繹法則之實作來確保該已變換資料之安全。
  17. 如申請專利範圍第16項之資料安全性元件,其中:該資料包括一主鑰;以及一安全性演繹法則之實作包括一金鑰導出函數之實作,來使用該已變換之資料而產生該主鑰之一導出鑰。
  18. 如申請專利範圍第16項之資料安全性元件,其中:該資料包括一欲被包裝之金鑰;以及該安全性演繹法則之實作包括一金鑰包裝函數之 實作來包裝該已變換之資料。
  19. 如申請專利範圍第18項之資料安全性元件,其中該金鑰包裝函數之實作包括RSA之實作來包裝該已變換之資料。
  20. 如申請專利範圍第16項之資料安全性元件,其中該安全性演繹法則之實作包括一加密演繹法則之實作,來使用該已變換之資料來加密該資料。
  21. 如申請專利範圍第20項之資料安全性元件,其中該安全性演繹法則之實作包括AES之實作,來使用該已變換之資料來加密該資料。
  22. 如申請專利範圍第16項之資料安全性元件,進一步包含一第二除法器來將一輸入劃分成至少二區塊,該資料變換器可於各個區塊上分開操作。
  23. 如申請專利範圍第22項之資料安全性元件,進一步包括一組合器來將該資料變換器於各個區塊所得結果組合成為一單一已變換資料,該單一已變換資料係藉該安全性演繹法則之實作來獲得安全性。
  24. 如申請專利範圍第16項之資料安全性元件,其中該置換器包括至少兩個置換函數之實作,該等置換函數之數目係等於該第二片段中之該等組群之數目。
  25. 如申請專利範圍第24項之資料安全性元件,其中該置換器可操作來根據該第一片段中之該相應位元,使用該等置換函數之一者來置換各別組群。
  26. 如申請專利範圍第24項之資料安全性元件,其中該等置 換函數之實作包括:一基本置換函數之實作;以及該基本置換函數之次冪之實作。
  27. 如申請專利範圍第17項之資料安全性元件,進一步包含一加密演繹法則之實作,使用該已變換資料來使用該導出鑰來加密一第二資料。
  28. 如申請專利範圍第16項之資料安全性元件,其中該已置換組群具有一第一大小,係與該至少一個組群的一第二大小相等。
  29. 如申請專利範圍第16項之資料安全性元件,其中該第二片段的各個組群具有在該第一片段中的一獨特相應位元。
  30. 如申請專利範圍第29項之資料安全性元件,其中該第一組群包括至少兩個位元,並且該除法器可操作來將該第二片段劃分成至少兩個組群。
  31. 如申請專利範圍第30項之資料安全性元件,其中該輸出埠可操作來輸出該第一片段、該等已置換組群以及任何還未被置換的組群來作為已變換之資料。
  32. 如申請專利範圍第29項之資料安全性元件,其中若該第一片段中的該獨特相應位元被設定,該置換器可操作以置換該第二片段的各個組群,以及若該第一片段中的該獨特相應位元未被設定,該置換器可操作成不要置換該第二片段的各個組群。
  33. 如申請專利範圍第16項之資料安全性元件,其中該等組 群各自包括多個位元。
  34. 如申請專利範圍第16項之資料安全性元件,其中該第二片段中之該等組群數目係大於二。
  35. 一種產生一資料變換之方法,包含:接收資料;將該資料劃分成為一第一片段及一第二片段,該第一第一片段及該第二片段各自包括至少一個位元;將該第二片段中之該等位元組織成為至少一個組群;使各個組群與該第一片段中之一位元相關聯;根據該第一片段中之該相關聯位元來應用一置換函數至該等組群中之至少一者;以及由該第一片段及至少該等已置換之組群來組構該資料變換。
  36. 如申請專利範圍第35項之方法,其中組織該第二片段中之該等位元包括將該第二片段中之該等位元組織成為一數目之多個組群,該組群數目係等於該第一片段中之位元數目。
  37. 如申請專利範圍第35項之方法,其中組織該等位元包括將該第二片段中之該等位元組織成至少二組群,各組群具有相同位元數目。
  38. 如申請專利範圍第37項之方法,其中組織該等位元包括填補資料,讓該第二片段可被組織成為該等組群,各個組群具有相等位元數目。
  39. 如申請專利範圍第35項之方法,進一步包含定義該置換函數。
  40. 如申請專利範圍第39項之方法,其中定義該置換函數包括定義一數目之多個置換函數,該置換函數數目係等於該等組群之數目。
  41. 如申請專利範圍第40項之方法,其中應用一置換函數包括根據該第一片段中之相應位元,應用一不同的置換函數至各個組群。
  42. 如申請專利範圍第41項之方法,其中:定義一數目之多個置換函數包括分配一索引給各個置換函數;以及應用一不同置換函數包括選擇該置換函數,其具有索引係對應至與該組群相關聯之該第一片段中之該位元的一數字。
  43. 如申請專利範圍第40項之方法,其中定義一數目之置換函數包括:定義一基本置換函數;以及定義其餘置換函數各自呈該基本置換函數之一次冪。
  44. 如申請專利範圍第35項之方法,其中應用一置換函數包括根據該第一片段中之該相關聯位元來應用該置換函數至該等組群中之至少一者,該等已置換組群各具有一第一大小,係與該等組群中之該至少一者的一第二大小相等。
  45. 如申請專利範圍第36項之方法,其中使各個組群與該第一片段中之一位元相關聯包括使各個組群與該第一片段中的一獨特相應位元相關聯。
  46. 如申請專利範圍第45項之方法,其中:將該資料劃分成為一第一片段及一第二片段包括將該資料劃分成為該第一片段及該第二片段,該第一片段包括包括至少兩個位元;以及將該第二片段中之該等位元組織成為至少一個組群包括將該第二片段中之該等位元組織成為至少兩個組群。
  47. 如申請專利範圍第46項之方法,其中組構該資料變換包括由該第一片段、該等已置換組群以及任何還未被置換的組群來組構該資料變換。
  48. 如申請專利範圍第45項之方法,其中應用一置換函數至該等組群中之至少一者包括若該第一片段中的該獨特相應位元被設定,則應用該置換函數至該第二片段的各個組群,以及若該第一片段中的該獨特相應位元未被設定,則不要應用該置換函數至該第二片段的各個組群。
  49. 如申請專利範圍第35項之方法,其中將該第二片段中之該等位元組織成為至少一個組群包括將該第二片段中之該等位元組織成為至少一個組群,各個組群包括多個位元。
  50. 如申請專利範圍第36項之方法,其中將該第二片段中之該等位元組織成為一數目之多個組群,該組群數目係等於該第一片段中之位元數目包括:將該第二片段中之該 等位元組織成為該數目之多個組群,該組群數目係大於二。
  51. 一種增強資料之安全性之方法,包含:變換該資料包括:接收該資料;將該資料劃分成為一第一片段及一第二片段,該第一片段及該第二片段各自包括至少一個位元;將該第二片段中之該等位元組織成為一數目之多個組群,該組群數目係等於該第一片段中之位元數目;使各個組群與該第一片段中之一位元相關聯;根據該第一片段中之該相關聯位元,應用一置換函數至該等組群中之至少一者;以及由該第一片段及至少該等已置換之組群來組構該資料變換;以及應用一安全性演繹法則之實作至該資料變換來獲得該資料變換之安全性。
  52. 如申請專利範圍第51項之方法,其中:接收該資料包括接收一主鑰,由該主鑰來產生一導出鑰;以及應用一安全性演繹法則之實作包括應用一金鑰導出函數之實作至該資料變換,來產生該主鑰之該導出鑰。
  53. 如申請專利範圍第52項之方法,其中應用一金鑰導出函數之實作包括: 組合該已變換之資料與一已編碼計數值來產生一組合結果;安全地雜湊該組合結果來產生一雜湊;以及選擇該雜湊中之一位元子集作為該導出鑰。
  54. 如申請專利範圍第52項之方法,其中:變換該資料進一步包括組合該主鑰與一計數值來產生該資料;以及應用一金鑰導出函數之實作包括:安全地雜湊該已變換之資料來產生一雜湊;以及選擇該雜湊中之一位元子集作為該導出鑰。
  55. 如申請專利範圍第51項之方法,其中:接收該資料包括接收一欲包裝作為該資料之金鑰;以及應用一安全性演繹法則之實作包括應用一金鑰包裝函數之實作至該資料變換來包裝該金鑰。
  56. 如申請專利範圍第55項之方法,其中應用一金鑰包裝函數之實作包括應用一RSA實作至該資料變換來包裝該金鑰。
  57. 如申請專利範圍第51項之方法,其中應用一安全性演繹法則之實作包括應用一使用該資料變換作為加密該資料之金鑰的加密演繹法則之實作。
  58. 如申請專利範圍第57項之方法,其中應用一加密演繹法則之實作包括應用一使用該資料變換作為欲加密該資料之金鑰的AES之實作。
  59. 如申請專利範圍第51項之方法,其中組織該等位元包括將該第二片段中之該等位元組織成為該數目之多個組群,該組群數目係等於該第一片段中之位元數目,各個組群具有相等數目之位元。
  60. 如申請專利範圍第51項之方法,進一步包含定義該置換函數。
  61. 如申請專利範圍第60項之方法,其中定義該置換函數包括定義一數目之多個置換函數,該置換函數數目係等於該組群數目。
  62. 如申請專利範圍第61項之方法,其中定義一數目之多個置換函數包括:定義一基本置換函數;以及定義其餘置換函數各自呈該基本置換函數之一次冪。
  63. 如申請專利範圍第51項之方法,進一步包含:將一輸入劃分成為至少二區塊,分開變換各區塊;以及組合於各區塊進行之資料變換結果成為一單一已變換資料,該單一已變換資料係藉應用該安全性演繹法則之實作來獲得安全性。
  64. 如申請專利範圍第52項之方法,進一步包含應用一使用該導出鑰作為加密一第二資料之金鑰的加密演繹法則之實作。
  65. 如申請專利範圍第51項之方法,其中應用一置換函數包 括根據該第一片段中之該相關聯位元,應用該置換函數至該等組群中之該至少一者,該等已置換組群各具有一第一大小,係與該等組群中之該至少一者的一第二大小相等。
  66. 如申請專利範圍第51項之方法,其中使各個組群與該第一片段中之一位元相關聯包括使各個組群與該第一片段中的一獨特相應位元相關聯。
  67. 如申請專利範圍第66項之方法,其中:將該資料劃分成為一第一片段及一第二片段包括將該資料劃分成為該第一片段及該第二片段,該第一片段包括包括至少兩個位元;以及將該第二片段中之該等位元組織成為一數目之多個組群包括將該第二片段中之該等位元組織成為至少兩個組群。
  68. 如申請專利範圍第67項之方法,其中組構該資料變換包括由該第一片段、該等已置換組群以及任何還未被置換的組群來組構該資料變換。
  69. 如申請專利範圍第66項之方法,應用一置換函數至該等組群中之至少一者包括若該第一片段中的該獨特相應位元被設定,則應用該置換函數至該第二片段的各個組群,以及若該第一片段中的該獨特相應位元未被設定,則不要應用該置換函數至該第二片段的各個組群。
  70. 如申請專利範圍第51項之方法,其中將該第二片段中之該等位元組織成為一數目之多個組群包括將該第二片 段中之該等位元組織成為該數目之多個組群,各個組群包括多個位元。
  71. 如申請專利範圍第51項之方法,將該第二片段中之該等位元組織成為一數目之多個組群,該組群數目係等於該第一片段中之位元數目包括:將該第二片段中之該等位元組織成為該數目之多個組群,該組群數目係大於二。
TW094127160A 2004-08-12 2005-08-10 資料變換器、資料安全性元件、產生資料變換之方法及增強資料之安全性之方法 TWI386005B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/918,717 US8077861B2 (en) 2004-08-12 2004-08-12 Permutation data transform to enhance security

Publications (2)

Publication Number Publication Date
TW200620943A TW200620943A (en) 2006-06-16
TWI386005B true TWI386005B (zh) 2013-02-11

Family

ID=35799981

Family Applications (1)

Application Number Title Priority Date Filing Date
TW094127160A TWI386005B (zh) 2004-08-12 2005-08-10 資料變換器、資料安全性元件、產生資料變換之方法及增強資料之安全性之方法

Country Status (4)

Country Link
US (1) US8077861B2 (zh)
CN (1) CN101040474B (zh)
TN (1) TNSN07055A1 (zh)
TW (1) TWI386005B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007127468A2 (en) * 2006-04-28 2007-11-08 Barclays Capital Inc. Method and system for implementing portal
CN101882192B (zh) * 2009-05-08 2012-08-22 晨星软件研发(深圳)有限公司 电路保护装置、电路保护方法及电路保护层
WO2011013125A1 (en) 2009-07-27 2011-02-03 Storwize Ltd. Method and system for transformation of logical data objects for storage
US8644500B2 (en) * 2010-08-20 2014-02-04 Apple Inc. Apparatus and method for block cipher process for insecure environments
US8538939B2 (en) 2011-05-31 2013-09-17 International Business Machines Corporation Parsing optional block data
US20120307998A1 (en) * 2011-05-31 2012-12-06 International Business Machines Corporation Building optional blocks
US20120311324A1 (en) * 2011-05-31 2012-12-06 International Business Machines Corporation Method of mapping key information
US20140156679A1 (en) * 2012-06-17 2014-06-05 Openeye Scientific Software, Inc. Secure molecular similarity calculations
US10594687B2 (en) 2013-05-14 2020-03-17 Kara Partners Llc Technologies for enhancing computer security
US10057250B2 (en) 2013-05-14 2018-08-21 Kara Partners Llc Technologies for enhancing computer security
US9270647B2 (en) 2013-12-06 2016-02-23 Shape Security, Inc. Client/server security by an intermediary rendering modified in-memory objects
US8954583B1 (en) 2014-01-20 2015-02-10 Shape Security, Inc. Intercepting and supervising calls to transformed operations and objects
US9858440B1 (en) * 2014-05-23 2018-01-02 Shape Security, Inc. Encoding of sensitive data
US9003511B1 (en) 2014-07-22 2015-04-07 Shape Security, Inc. Polymorphic security policy action
US9602543B2 (en) 2014-09-09 2017-03-21 Shape Security, Inc. Client/server polymorphism using polymorphic hooks
US9438625B1 (en) 2014-09-09 2016-09-06 Shape Security, Inc. Mitigating scripted attacks using dynamic polymorphism

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5003596A (en) * 1989-08-17 1991-03-26 Cryptech, Inc. Method of cryptographically transforming electronic digital data from one form to another
US5123045A (en) * 1989-08-18 1992-06-16 Massachusetts Institute Of Technology Comprehensive software protection system
US20010038347A1 (en) * 2000-01-03 2001-11-08 N. Caleb Avery Efficient and lossless conversion for transmission or storage of data
US20020051534A1 (en) * 2000-04-20 2002-05-02 Matchett Noel D. Cryptographic system with enhanced encryption function and cipher key for data encryption standard
US20020118827A1 (en) * 1997-09-17 2002-08-29 Luyster Frank C. Block cipher method

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4316055A (en) 1976-12-30 1982-02-16 International Business Machines Corporation Stream/block cipher crytographic system
US4310720A (en) 1978-03-31 1982-01-12 Pitney Bowes Inc. Computer accessing system
US4814943A (en) * 1986-06-04 1989-03-21 Oki Electric Industry Co., Ltd. Printed circuit devices using thermoplastic resin cover plate
US4841570A (en) 1987-05-11 1989-06-20 The United States Of America As Represented By The United States Department Of Energy One-way transformation of information
JPH0227389A (ja) 1988-07-15 1990-01-30 Sony Corp 暗号化方法及び該暗号方法を用いた暗号化装置/復号化装置
RU2091983C1 (ru) 1993-02-09 1997-09-27 Геннадий Николаевич Чижухин Способ шифрования двоичной информации и устройство для его осуществления
NZ277128A (en) 1993-12-01 1998-04-27 William Michael Raike Public key encryption system and mixture generator
US5481613A (en) 1994-04-15 1996-01-02 Northern Telecom Limited Computer network cryptographic key distribution system
CA2149067A1 (en) 1994-06-22 1995-12-23 Joseph Anton Bednar Jr. User-identification and verification of data integrity in a wireless communication system
US6125182A (en) 1994-11-09 2000-09-26 Channel One Communications, Inc. Cryptographic engine using logic and base conversions
EP0768774A3 (en) 1995-10-16 1999-08-04 Sony Corporation Method and apparatus for data encryption using a key generation hierarchy
US5699431A (en) 1995-11-13 1997-12-16 Northern Telecom Limited Method for efficient management of certificate revocation lists and update information
US5608801A (en) 1995-11-16 1997-03-04 Bell Communications Research, Inc. Efficient cryptographic hash functions and methods for amplifying the security of hash functions and pseudo-random functions
US5838794A (en) * 1996-01-11 1998-11-17 Teledyne Electronic Technologies Method and apparatus for inter-round mixing in iterated block substitution systems
US5949884A (en) 1996-11-07 1999-09-07 Entrust Technologies, Ltd. Design principles of the shade cipher
JPH10171350A (ja) 1996-12-10 1998-06-26 Hitachi Ltd ハッシュ値生成方法および装置
US6226629B1 (en) 1997-02-28 2001-05-01 Compaq Computer Corporation Method and apparatus determining and using hash functions and hash values
CA2294170A1 (en) 1997-03-10 1998-10-22 Paul N. Alito Bilateral authentication and encryption system
US5995624A (en) 1997-03-10 1999-11-30 The Pacid Group Bilateral authentication and information encryption token system and method
JP2001514834A (ja) 1997-03-10 2001-09-11 ガイ・エル・フィールダー 安全決定性暗号鍵発生システムおよび方法
WO1998047259A2 (en) 1997-03-10 1998-10-22 Fielder Guy L File encryption method and system
JPH10271104A (ja) 1997-03-24 1998-10-09 Hitachi Inf Syst Ltd 暗号化方法及び復号化方法
US6012160A (en) 1997-10-03 2000-01-04 Ericsson Inc. Method for protecting important data bits using less important data bits
JPH11122240A (ja) 1997-10-17 1999-04-30 Fuji Xerox Co Ltd 復号装置および方法ならびにアクセス資格認証装置および方法
US5935200A (en) 1997-11-21 1999-08-10 Unisys Corporation Exponential functional relationship generator method and system for implementation in digital logic
RU2141729C1 (ru) 1998-01-19 1999-11-20 Государственное унитарное предприятие Специализированный центр программных систем "Спектр" Способ криптографического преобразования блоков двоичных данных
US6304890B1 (en) 1998-02-04 2001-10-16 Matsushita Electric Industrial Co., Ltd. Exponential calculation device and decoding device
US6567914B1 (en) * 1998-07-22 2003-05-20 Entrust Technologies Limited Apparatus and method for reducing transmission bandwidth and storage requirements in a cryptographic security system
JP3679936B2 (ja) 1998-11-27 2005-08-03 東芝ソリューション株式会社 暗復号装置及び記憶媒体
EP1193666B1 (en) * 1999-01-28 2006-06-14 Yutaka Yasukura Method for securing safety of electronic information
CN1109423C (zh) 1999-02-10 2003-05-21 河北工业大学 排列码加密解密方法及其排列码加密解密器
US7743412B1 (en) 1999-02-26 2010-06-22 Intel Corporation Computer system identification
US6609223B1 (en) * 1999-04-06 2003-08-19 Kencast, Inc. Method for packet-level fec encoding, in which on a source packet-by-source packet basis, the error correction contributions of a source packet to a plurality of wildcard packets are computed, and the source packet is transmitted thereafter
DE69939254D1 (de) 1999-06-22 2008-09-18 Hitachi Ltd Kryptografisches Gerät und Verfahren
TW556111B (en) 1999-08-31 2003-10-01 Toshiba Corp Extended key generator, encryption/decryption unit, extended key generation method, and storage medium
US20010031050A1 (en) 2000-02-14 2001-10-18 Lateca Computer Inc. N.V. Key generator
WO2001089098A2 (en) * 2000-05-05 2001-11-22 Lee Ruby B A method and system for performing permutations with bit permutation instructions
KR100889465B1 (ko) * 2000-07-04 2009-03-20 코닌클리케 필립스 일렉트로닉스 엔.브이. 대칭-키 암호들을 위한 치환-박스
JP2002185443A (ja) 2000-12-11 2002-06-28 Hitachi Ltd 秘密鍵管理方法
DE60133266T2 (de) 2001-05-03 2009-04-23 Telefonaktiebolaget Lm Ericsson (Publ) Verfahren und Vorrichtung zum Schutz der Datenintegrität
AU2002332671A1 (en) 2001-08-13 2003-03-03 Board Of Trustees Of The Leland Stanford Junior University Systems and methods for identity-based encryption and related cryptographic techniques
JP2003143120A (ja) 2001-11-07 2003-05-16 Matsushita Electric Ind Co Ltd データ攪拌回路とデータ攪拌方法
JP2003187190A (ja) * 2001-12-19 2003-07-04 Hitachi Ltd Icカード管理システム
US7236592B2 (en) * 2002-02-01 2007-06-26 International Business Machines Corporation Efficient stream cipher system and method
JP4218256B2 (ja) * 2002-05-02 2009-02-04 富士ゼロックス株式会社 データ転送方法及びシステム
US7464265B2 (en) 2002-05-03 2008-12-09 Microsoft Corporation Methods for iteratively deriving security keys for communications sessions
US7131003B2 (en) * 2003-02-20 2006-10-31 America Online, Inc. Secure instant messaging system
KR20040068499A (ko) 2003-01-24 2004-07-31 마쯔시다덴기산교 가부시키가이샤 공유키 교환방법과 통신기기
JP2005004048A (ja) 2003-06-13 2005-01-06 Oki Electric Ind Co Ltd 鍵拡張装置、鍵拡張方法および鍵拡張プログラム
US20050147244A1 (en) 2003-12-30 2005-07-07 Alexander Moldovyan Method for cryptographic transformation of binary data blocks
US7447233B2 (en) * 2004-09-29 2008-11-04 Intel Corporation Packet aggregation protocol for advanced switching

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5003596A (en) * 1989-08-17 1991-03-26 Cryptech, Inc. Method of cryptographically transforming electronic digital data from one form to another
US5123045A (en) * 1989-08-18 1992-06-16 Massachusetts Institute Of Technology Comprehensive software protection system
US20020118827A1 (en) * 1997-09-17 2002-08-29 Luyster Frank C. Block cipher method
US20010038347A1 (en) * 2000-01-03 2001-11-08 N. Caleb Avery Efficient and lossless conversion for transmission or storage of data
US20020051534A1 (en) * 2000-04-20 2002-05-02 Matchett Noel D. Cryptographic system with enhanced encryption function and cipher key for data encryption standard

Also Published As

Publication number Publication date
US8077861B2 (en) 2011-12-13
TW200620943A (en) 2006-06-16
US20060034455A1 (en) 2006-02-16
TNSN07055A1 (en) 2008-06-02
CN101040474B (zh) 2013-08-14
CN101040474A (zh) 2007-09-19

Similar Documents

Publication Publication Date Title
TWI406549B (zh) 用以增強安全性之金鑰導出函數
TWI386005B (zh) 資料變換器、資料安全性元件、產生資料變換之方法及增強資料之安全性之方法
TWI374650B (en) Exponential data transform to enhance security
AU2005277664B2 (en) Permutation data transform to enhance security

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees