TWI673992B - 纏繞式加密及錯誤校正技術 - Google Patents

纏繞式加密及錯誤校正技術 Download PDF

Info

Publication number
TWI673992B
TWI673992B TW107121339A TW107121339A TWI673992B TW I673992 B TWI673992 B TW I673992B TW 107121339 A TW107121339 A TW 107121339A TW 107121339 A TW107121339 A TW 107121339A TW I673992 B TWI673992 B TW I673992B
Authority
TW
Taiwan
Prior art keywords
data
encrypted
transformed
polynomial
polynomials
Prior art date
Application number
TW107121339A
Other languages
English (en)
Other versions
TW201909594A (zh
Inventor
比沙拉 夏米
史蒂芬 R. 威金森
安娜 M. 強斯頓
Original Assignee
美商雷神公司
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 美商雷神公司 filed Critical 美商雷神公司
Publication of TW201909594A publication Critical patent/TW201909594A/zh
Application granted granted Critical
Publication of TWI673992B publication Critical patent/TWI673992B/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/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • 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
    • 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
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3026Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to polynomials generation, e.g. generation of irreducible polynomials
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3033Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to pseudo-prime or prime number generation, e.g. primality test
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
    • 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/34Encoding or coding, e.g. Huffman coding or error correction
    • 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/46Secure multiparty computation, e.g. millionaire problem

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Error Detection And Correction (AREA)
  • Storage Device Security (AREA)

Abstract

一般而言,本文中論述用於纏繞式加密及錯誤校正及/或錯誤偵測之系統、裝置及方法。一種纏繞式密碼編譯編碼裝置可包括:一記憶體,其包括指示互質不可約多項式之一集合的資料,該等互質不可約多項式被儲存於該記憶體上且被編索引;纏繞式加密編碼電路系統,其接收資料,將該資料變換成資料整數之一集合對表示儲存於該記憶體上之多項式中之各別多項式的各別多項式整數作取模操作之模數,且基於所接收編密資料對經變換資料執行一Da Yen編織並將已編織之經變換資料提供至一媒體。

Description

纏繞式加密及錯誤校正技術
發明領域
本文中所論述之實施例關於用於加密及編碼資料之裝置、系統及方法。一或多個實施例可包括錯誤校正及/或資料驗證能力。
發明背景
加密資料會混淆至實體之資料,該實體截獲該資料。預期資訊一般被稱作明文(plaintext)。經加密資訊係密文。密文之授權接收器一般可解密該密文以恢復明文。
錯誤偵測係判定在接收器處恢復之明文是否係預期明文的能力。錯誤校正係在錯誤存在於所恢復明文中之情況下判定預期明文的能力。
先前加密技術不提供偵測及/或校正所恢復明文中之錯誤的固有且靈活的能力。
依據本發明之一實施例,係特地提出一種纏繞式密碼編譯編碼裝置,其包含:一記憶體,其包括指示 互質不可約多項式之一集合的資料,該等互質不可約多項式以一多項式表的方式被儲存於該記憶體上且被編索引;纏繞式密碼編譯編碼電路系統,其用以進行以下操作:接收資料;將該資料變換成資料整數之一集合對表示該多項式表之各別多項式的各別多項式整數作取模操作之模數;以及基於所接收編密資料對經變換資料執行一Da Yen編織;以及將已編織之經變換資料提供至一媒體。
100‧‧‧系統
101、123‧‧‧資料
102‧‧‧纏繞式密碼編譯編碼器
103、115‧‧‧密鑰
104、114‧‧‧密鑰產生器
105、117‧‧‧密碼串流
106、116‧‧‧多項式表
107‧‧‧多項式選擇/多項式選擇器/多項式選擇資料
108‧‧‧媒體
109、121‧‧‧多項式
111、113‧‧‧經加密編碼資料
112‧‧‧纏繞式加密解碼器/纏繞式密碼編譯解碼器/纏繞式密碼解碼器
119‧‧‧多項式選擇/多項式選擇資料
125‧‧‧密鑰產生器同步信號
130‧‧‧編碼裝置
140‧‧‧解碼裝置
150A、150B‧‧‧主機
203A、203B、203C、203N‧‧‧資料區塊
205A、205B、205C‧‧‧字
207A、207B、207V‧‧‧位元
300‧‧‧用於執行纏繞式密碼編譯編碼之方法
400‧‧‧用於執行纏繞式密碼編譯解碼之方法
302、304、306、308、402、404、406、408‧‧‧操作
500‧‧‧曲線圖
502、504、506‧‧‧線
600‧‧‧機器
602‧‧‧處理器
604‧‧‧主記憶體
606‧‧‧靜態記憶體
608‧‧‧匯流排
610‧‧‧視訊顯示單元
612‧‧‧文數字輸入裝置
614‧‧‧使用者介面(UI)導覽裝置
616‧‧‧磁碟機或大容量儲存單元
618‧‧‧信號產生裝置
620‧‧‧網路介面裝置
621‧‧‧感測器
622‧‧‧機器可讀媒體
624‧‧‧指令及資料結構
626‧‧‧通訊網路
628‧‧‧輸出控制器
在未必按比例繪製之圖式中,相似數字在不同視圖中可描述類似組件。具有不同字母後綴之相似數字可表示類似組件之不同例項。該等圖式藉助於實例而非藉助於限制來大體說明本發明文件中所論述之各種實施例或實例。
圖1藉助於實例說明系統之實施例的示意圖。
圖2藉助於實例說明資料分成字之實施例的示意圖。
圖3藉助於實例說明用於執行纏繞式密碼編譯編碼之方法的實施例之圖。
圖4藉助於實例說明用於執行纏繞式密碼編譯解碼之方法的實施例之圖。
圖5藉助於實例說明多種編碼技術之錯誤率對能量的曲線圖500。
圖6藉助於實例說明可實施如本文中所論述 之方法中之一或多者的機器之實施例的方塊圖。
較佳實施例之詳細說明
本發明中之實施例大體上係關於編碼方案,其提供錯誤校正及/或錯誤偵測及加密能力,有時被稱作纏繞式加密。本文中所論述之編碼加密資料且允許在發送器與接收器之間(諸如,在媒體中),經加密資料之部分丟失或變更,同時仍能夠在接收器處重新建立原始資料。
一些密碼編譯系統將資料自明文轉換成相等大小之密文(由明文及密文所佔用之位元的數目相等)。此等系統可能不提供丟失或損壞資料之完整性,在洩露密碼變數(密鑰)之狀況下一般不具有輔助保護且一般並非同態的。亦即,不可能對明文之經加密形式進行操作。作為本文中所論述之密碼編譯技術的纏繞式密碼編譯編碼(ECE)採用不同路徑,具有更多靈活性、同態性質且能夠添加資料完整性(例如,錯誤偵測及/或錯誤校正能力)。
ECE將資料區塊轉換成許多獨立的編密字。此等片段自身係安全的;即使資料片段及密碼編譯密鑰被洩露,將仍不會揭露關於明文資料之資訊。另外,系統具有錯誤偵測及/或錯誤校正能力;錯誤可被偵測及/或校正。在ECE中,個別密文片段可丟失而不會丟失原始資料。
此可能藉由有時被稱作中國剩餘定理之Da Yen實現且使用串流編密項(例如,來自eSTREAM彙集、 歐洲密碼學卓越網路(ECRYPT)、在計數器模式下之進階加密標準(AES)、美國標準及技術研究所(NIST)之編密項,或其他串流編密項)及被稱作編織(weave)之資料變換技術來實施。理論證明及實例提供於附錄中以免擾亂流程。為防止此擾亂,證明及實例在附錄中,在適當處參考該等證明及實例。
ECE係靈活的,允許不同字大小、明文及密文區塊大小以及變化的錯誤校正能力。系統可設計成不具有錯誤校正能力,具有最小及大的錯誤校正能力。每個錯誤所需之附加項的量大約等同於里德-所羅門(Reed-Solomon)編碼中之附加項。ECE經設計使得並非所有密文係解密所需要的。若恢復最小數目個密文字,則可恢復明文。
以下變數用以使系統適於使用者之需要:次數為v之不可約多項式的集合M,資料區塊中之2r個明文字,可校正之錯誤的最大數目sn個編密字,其中n=2(r+s)
2r個正文字及2s個密鑰字表示在F 2 上之v(n-1)次多項式對次數為vM中的2(r+s)個互質多項式作取模操作之模數的約簡。密鑰串流判定模數以及2s個密鑰字。加密及編碼藉由將模數之一個集合交換為另一集合,使基礎v(n-1)次多項式不變來實現。
藉由使用Da Yen編織變換(其他處論述),資料字可與密鑰及模數高效地混合成編密字。僅F 2v 中之 操作係必要的。解碼/解密可使用與編碼相同的變換,但利用不同模數。藉由使用類似於里德-所羅門寫碼中之彼等理論工具的理論工具,系統之超定性質允許偵測及校正錯誤。
藉由使用纏繞式加密,即使密碼學密鑰被破壞,資料仍保持安全,除非恢復(原始資料的)足夠資料區塊。纏繞式加密可改良資料在密碼系統中之擴散。若修改輸入資料之任何位元,則所得輸出之每個位元具有約50百分比的翻轉機會(例如,自邏輯「1」至邏輯「0」或自邏輯「0」至邏輯「1」)。其他加密技術不具有此擴散。藉由以本文中所論述之方式纏繞錯誤校正及加密,可改良密碼系統之安全性。
圖1藉助於實例說明系統100之實施例的示意圖。系統100可用於使用ECE技術實施編碼及解碼。在經加密編碼資料111上游的所有項目係ECE加密之部分。經加密編碼資料113下游的所有項目係ECE解密之部分。密鑰同步可有助於系統100之效能(就自密文破密正確明文之能力而言)。
資料101係在纏繞式密碼編譯編碼器102處接收。資料101有時被稱作明文。至纏繞式密碼編譯編碼器102之其他輸入包括密碼串流105及多項式109。
密鑰103係在密鑰產生器104處接收。密鑰103係使密鑰產生器104產生密文串流之種子變數或其他初始化資料。密文串流可用以自多項式表106選擇多項式(如由多項式選擇107所指示),且作為提供至纏繞式密碼 編譯編碼器102之額外編密字(如由密碼串流105所指示)。密鑰產生器104諸如使用來自先前所論述之eSTREAM或AES的密碼技術產生編密串流,或產生另一編密串流。
多項式表106包括F 2 中之v次互質多項式。多項式表106中之多項式可藉由根索引,其中本原項(primitive)具有索引零且剩餘多項式按遞升根來排序。在本文中其他處進一步論述根及本原項概念。多項式選擇器107提供作為多項式109而提供至纏繞式密碼編譯編碼器102之多項式的索引。
纏繞式密碼編譯編碼器102基於多項式109及密碼串流105而變換資料101。變換之結果係經加密編碼資料111。關於圖3及在本文中其他處論述藉由纏繞式密碼編譯編碼器執行之操作中的至少一些。藉由纏繞式密碼編譯編碼器102執行之操作的概述包括:接收資料101、密碼串流105及多項式109;基於資料101及多項式109建立資料關係;基於密碼串流105及多項式109建立密鑰關係;基於資料101、密碼串流105及/或多項式109初始化傳回關係;變換資料關係;編織提取編密字;及/或執行編織變換以建立經加密編碼資料111。
將經加密編碼資料111諸如經由媒體108提供至接收器。媒體108可包括有線或無線媒體。有線媒體包括非空氣媒體(例如,光纖或導電媒體)。無線媒體包括經由空氣媒體提供之信號。提供至媒體之信號(經加密編碼 資料111)可不同於提供至纏繞式加密解碼器112的如由經加密編碼資料113所指示的信號。媒體108可與經加密編碼資料111互動且更改該經加密編碼資料,以便丟棄經加密編碼資料111之一部分及/或更改由經加密編碼資料111表示之值。在一或多種情況下,實體可在經加密編碼資料111正經由媒體108傳輸時截獲該資料且更改經加密編碼資料111。
在媒體108中可存在一或多個主機150A至150B。主機150A至150B中之各者可接收經加密編碼資料111的至少一部分。主機150A至150B中之各者可將其經加密編碼資料111的部分作為經加密編碼資料113轉遞。經加密編碼資料111之部分可包含資料101之不相交子集,以便包括呈經加密編碼形式之全部資料101。在此實施例中,假定可判定密鑰及其他加密步驟,實體將需要截獲來自所有主機150A至150B之所有資料以重新建立資料101。
纏繞式密碼解碼器112可接收經加密編碼資料113、多項式121及密碼串流117。密碼串流117及多項式選擇119可由密鑰產生器114提供。密鑰產生器114係密鑰產生器104之另一執行個體化,使得若密鑰115與密鑰103相同,則密鑰產生器104之輸出與密鑰產生器114之輸出相同。類似地,多項式表116係多項式表106之另一執行個體化,以便包括以相同方式索引之多項式。
纏繞式密碼編譯解碼器112基於多項式121 及密碼串流105而將經加密編碼資料113變換成資料123。若在經加密編碼資料113中存在小於(或等於)最大數目個錯誤,則資料123與資料101相同。錯誤之最大數目係可組配的且在本文中其他處進行論述。變換之結果係資料123。關於圖4及在本文中其他處論述藉由纏繞式密碼編譯解碼器112執行之操作。藉由纏繞式密碼編譯解碼器112執行之操作的概述包括:接收經加密編碼資料113、密碼串流117及多項式121;基於密碼串流117及多項式121建立密鑰關係;基於經加密編碼資料113、密碼串流117及/或多項式121初始化傳回關係;執行編織變換以建立資料123之可能版本;檢查所建立資料123以判定其是否正確;若不正確,則交換經變換之經加密編碼資料中的字;檢查經交換資料以判定是否正確;以及若正確,則將資料123作為明文提供至接收器。
為執行準確且一致的解碼,密鑰103及115可同步以便產生一致的密鑰。一致的密鑰可有助於確保密碼串流105及117一致及/或多項式選擇資料119及107一致。亦即,為解碼基於多項式選擇資料107及密碼串流105而加密的經加密編碼資料111,密鑰產生器114在提供解密程序編密串流時產生與多項式選擇資料107相同的多項式選擇資料119及與密碼串流105相同的密碼串流117。使密鑰同步可包括提供密鑰產生器同步信號125,諸如可指示開始時間、應答或其類似者,以指示密鑰產生器104及114中之各者將針對其各別編密串流產生相同位 元。主機150A至150B中之一或多者可類似地與編碼裝置130及/或解碼裝置140同步。
圖2藉助於實例說明資料101分成字之實施例的示意圖。資料101分成資料區塊203A、203B、203C……203N。資料區塊203A至203N中之各者可包括2r個字。資料區塊203A至203N中之各者分成2r個字205A、205B、……及205C。字205A至205C中之各者包括v個位元,包括位元207A、207B、……、207V。纏繞式密碼編譯編碼器102可執行此等資料分裂操作以將資料101劃分至適當層級以供處理。
圖3藉助於實例說明用於執行纏繞式密碼編譯編碼之方法300的實施例之圖。方法300可藉由纏繞式密碼編譯編碼器102執行。如所說明,方法300包括:在操作302處,接收資料(待加密及/或編碼);在操作304處,將資料變換成資料整數之集合對表示儲存於記憶體上之多項式中之各別多項式的各別多項式整數作取模操作之模數;在操作306處,基於所接收編密資料對經變換資料執行Da Yen編織;以及在操作308處,將已編織之經變換資料提供至媒體。
方法300可進一步包括藉由密鑰產生器電路系統基於密鑰產生資料之編密串流。方法300可進一步包括,其中纏繞式加密編碼電路系統經進一步組配來將資料變換成資料整數之集合對各別多項式整數作取模操作之模數,且基於所接收之編密串流執行Da Yen編織。方法300 可進一步包括,其中編密串流之另一部分將索引提供至各別多項式。
方法300可進一步包括,其中多項式係基於多項式之各別根及本原項而索引。方法可進一步包括,其中已編織之經變換資料包括藉由纏繞式密碼編譯編碼器電路基於來自編密串流之資料而變換的經變換接收資料及經變換編密資料。方法300可進一步包括將所接收資料分成v位元字之區塊。操作304可進一步包括個別地變換v位元字之區塊。方法300可進一步包括,其中v係記憶體中之多項式的最大次數。方法300可進一步包括,其中由編密串流提供之t位元編密字的數目包括該等區塊中之一區塊中的字之數目2r加上待校正之錯誤的最大數目s的兩倍,且由編密串流提供之v位元編密字的數目包括待校正之錯誤的最大數目的兩倍,其中已編織之經變換資料包括資料區塊之v位元字中之各者的經變換版本及來自編密串流之2s個v位元字的經變換版本,其中記憶體中之多項式的數目係2t
圖4藉助於實例說明用於執行纏繞式密碼編譯解碼之方法400的實施例之圖。方法400可藉由纏繞式密碼編譯解碼器112執行。如所說明,方法400包括:在操作402處,接收經加密編碼資料;在操作404處,對部分經加密編碼資料執行Da Yen編織變換;在操作406處,比較經變換資料與經加密編碼資料之另一部分(以判定錯誤是否存在於經變換資料中);以及在操作408處,回應 於不存在錯誤之判定,將資料之無錯誤版本轉換成明文。方法400可進一步包括將明文提供至接收器。
方法400可進一步包括回應於錯誤存在之判定,對經變換資料之兩個字執行編織交換。方法400可進一步包括比較經編織交換資料與經加密編碼資料之不同部分以判定錯誤是否存在於經編織交換版本中。方法400可進一步包括藉由密鑰產生器電路系統基於密鑰產生資料之編密串流。操作404可包括將經加密編碼資料變換成資料整數之集合對各別多項式整數作取模操作之模數,且基於所接收之編密串流執行Da Yen編織變換。
方法400可進一步包括,其中編密串流之另一部分將索引提供至由各別多項式整數表示之各別多項式。方法400可進一步包括,其中多項式係基於多項式之各別根及本原項而索引。方法400可進一步包括,其中已編織之經變換資料包括藉由纏繞式密碼編譯解碼電路系統基於來自編密串流之資料而變換的經變換接收資料及經變換編密資料。方法400可進一步包括,其中,其中v係記憶體中之多項式的最大次數,其中由編密串流提供之t位元編密字的數目包括該等區塊中之一區塊中的字之數目2r加上待校正之錯誤的最大數目s的兩倍,且由編密串流提供之v位元編密字的數目包括待校正之錯誤的最大數目的兩倍,其中已編織之經變換資料包括資料區塊之v位元字中之各者的經變換版本及來自編密串流之2s個v位元字的經變換版本,其中記憶體中之多項式的數目係2t
現以更多數學術語提供可使用方法400執行之操作的概述。
方法300及400分別包括編碼及解碼,且可一起使用。方法300及400中之一或多者可包括以下操作:
A)接收以位元計之輸入字長v,其中v係二之冪,諸如{8、16、32、64、……}(在纏繞式密碼編譯編碼器102及/或密鑰產生器104處)。
B)接收待加密之2r個明文字(在纏繞式密碼編譯編碼器101處)。
C)產生2sv個位元(例如,藉由密鑰產生器104)。
D)將2sv個位元分成2s個v位元密鑰(例如,在纏繞式密碼編譯編碼器102處)。各v位元密鑰係
E)產生2vn個位元(例如,藉由密鑰產生器104)。
F)將2vn個位元分成2n個v位元指標(例如,在纏繞式密碼編譯編碼器102處)。各v位元指標係kj且指向多項式表中之多項式。任兩個kj不相等。kj的最大值包括小於(或等於)2v-1之值。
G)基於kj產生次數為2v-1之2n個多項式(例如,不可約多項式),其中q=2n>v(在多項式表106處)。各多項式由Mkj指示。
H)建立資料關係δj=dj mod(Mkj)(例如,藉由纏繞式密碼編譯編碼器102)。
I)藉由執行Da Yen編織變換(例如,藉由纏繞式密碼編譯編碼器102)產生n個Ci編密字。
J)傳輸編密字(例如,藉由纏繞式密碼編譯編碼器102經由媒體108)。
K)接收編密字Ci(例如,藉由纏繞式密碼編譯解碼器112)。
L)接收以位元計之輸入字長v,其中v係二之冪,諸如{8、16、32、64、……}(在纏繞式密碼編譯解碼器112及/或密鑰產生器104處)。
M)產生2sv個位元(例如,藉由密鑰產生器114)。
N)將2sv個位元分成2s個v位元密鑰(例如,在纏繞式密碼編譯編碼器112處)。各v位元密鑰係
O)產生2vn個位元(例如,藉由密鑰產生器114)。
P)將2vn個位元分成2n個v位元指標(例如,在纏繞式密碼編譯編碼器112處)。各v位元指標係kj且指向多項式表中之多項式。任兩個kj不相等。kj的最大值包括小於(或等於)2v-1之值。
Q)基於kj產生次數為2v-1之2n個多項式(例如,不可約多項式),其中q=2n>v(在多項式表116處)。各多項式由Mkj指示。
R)建立密鑰關係:
S)建立編密關係:
T)初始化傳回關係:,其中0 j<2r
U)執行Da Yen編織變換以提取明文{d0,d1,…,d2r}。
接下來的部分詳述關於系統100之操作的更多細節。接下來的部分以ECE之證明及進一步論述所依賴的一些定義及基礎開始。
ECE使用Da Yen編織變換,且幾個定義及一些理論可對其有幫助。用於編織之定理係Da Yen。Da Yen將關係之集合映射至單一關係且同樣將單一關係映射至關係之集合。
令ε係歐幾里得域。關係μ係一對元素ε,≠0且非最小整數,||<||,其中μ表示mod
一般而言,關係(d mod m)係指歐幾里得域之元素的共集或集合。因為ECE考慮實際的資料及整數,所以除非另外陳述,否則此處之關係將始終呈約簡形式(例如,|d|<|m|)。
大小(歐幾里得範數)限制||<||可在資料於不同環(模數)之間移動時提供資料之穩定性唯一性。
在整數上不存在相等大小之互質模數,但若歐幾里得域係有限域上之多項式環,則可找到相等大小之互質模數。在ECE中,歐幾里得域將係F2[x]。該對元素 (,)與F2上之多項式成關係μ,其中
關係係ECE之組成部分,因此比較及組合關係與資料之簡化方式可係便利的。
μ j μ k 係兩個關係,其中x ε。若μ j μ k 之各別模數,係互質的,則其係互質的。若各別模數具有相同大 小,則μ j ,μ k 係等同的。x=μ暗示x=。x+μ=μ+x表示關係(x+ mod )。
Da Yen(中國剩餘定理)係商環之直積與單一商環之間的同構。Da Yen提供將關係之集合R等化成單一關係〈R〉之Da Yen編織變換的基礎。〈R〉之模數及值的 簡寫係。Da Yen之通用環版本及其證明可見於其他處。以下係使用關係之Da Yen的呈現。令R係互質關係之集合。接著,存在自R至關係〈R〉之映射(及其相反映射)使得:
1:
2:,其中所有μR。
3. (同構)對於任何兩個關係集合,其具有相等大小及模數(例如, ,其中0 j<n),
Da Yen編織變換可將關係之集合R部分地轉換成關係〈R〉,每次轉換一個關係。編織變換之操作可建 立關係〈R t 〉,其中,其中呈約簡形式。 令係互質關係之集合,子集 j<t}且〈R 1〉=μ 0,其中1<t n。則
其中1<t n
Da Yen編織變換可計算內部關係w t-1,諸如不計算大的關係〈R t-1〉。在已計算w t-1之後,可藉由已呈約簡形式之結果計算完整關係(||<||):
因為此結果已呈約簡形式且w個關係可在其自身的商環內計算,所以可諸如藉由使用小模數及關係μ運算來對作取模操作之模數計算及約簡關係。
係具有組合關係〈R〉之 互質關係的集合。對於任何關係α,定義關係R(α)=
編織編碼可使用此關係評估程序以將相異關係之集合I轉換成集合J。令I、J係互質關係之集合, 其中。編碼成J之I係關係之集合。在以下情況下兩個關係集合I、J被稱作等同:
1. |I|=|J|
2. 〈I〉=〈J
應注意,編碼集合I(J)根據定義與I等同。 等同集合實現經編碼區塊之解碼及獨立性。只要恢復2r個經編碼關係之無錯誤集合,便可恢復原始明文。任何添加關係可用於錯誤檢查及校正。
編織變換將互質關係之有序集合R=轉換成等同的編織項。串行計算成本係上之個「除法」運算。並行化可減少(n-1)個運算之時間。
在關係之集合R中,次序無關緊要,但在w j 值之經變換集合中,次序確實重要。在迭代Da Yen期間計算之w j 值取決於子集中之關係以獲得〈R j 〉,且取決於μ j 自身,但不取決於任何μ i ,其中i>j。次序在解碼程序期間可係重要的。至少出於此原因,將針對各變換指定R中之關係的排序。
Da Yen編織變換及置換
令π係對整數0 j<n之置換,預設為恆等式:π(j)=j,其中0 j<n。則對於0<任何t n
,其中0所有j<t
Da Yen編織變換技術
輸入:,其係互質關係 之有序集合;及π,其係對{0,1,…,n-1}之置換
輸出:,其係滿足等式(6)之互質關係的有序集合。
I:初始化:
Aw π(0)=μ π(0)
B:對於k=1至(n-1):
II:對於j=1至j=(n-1):
A
B:對於k=(j+1)至k=(n-1):
結束編織變換技術
ECE藉由假定2r個所接收關係之彙集正確,計算未使用的2s個關係及比較該等關係與所接收值來偵測及校正錯誤。若在此等關係中之至少一半正確且至多存在s個錯誤,則可自集合提取明文。
係n個所接收值及其 密鑰判定模數之集合,係2s個密鑰關係之集合。解碼藉由將;0 k<n}變換成R π 來開始。若少於2s個所計算值的一半匹配未使用的所接收值,則錯誤存在於2r個值之當前彙集中。可測試其他集合直至找到通過測試之一個集合。
可使用編織變換、輸入及輸出中之元素之交換對計算2r個元素之不同集合的Da Yen編織變換,直至集合通過檢查或不存在待檢查之更多集合。若未找到良好 集合,則存在太多錯誤而不能恢復明文。
編織交換(weave swapping)可有助於效率,僅需要在基域中之幾個運算而非重新計算整個變換。 配對關係可將待檢查的集合之最大數目自減小至 ,從而將預期計算工作減少至交換個別元素所需之時間的平方根。
現解釋編織交換。編織變換中之次序可有助 於提取值。令係其藉由置換π之變換。回想到,在迭代Da Yen期間計算之wπ(j)值取決於無序子集{μ π(i)|0 i<j}之關係以及μ π(j)自身,但不取決於μ π(i),其中i>j,且低階編織項可組合以計算所提取編織值。編織交換允許在編織變換中交換兩個鄰近關係之次序而不重新計算整個變換。鄰近編織項可藉由一個乘法及一個「除法」交換(例如,計算倒數,且接著進行乘法),且置換追蹤所執行之交換。交換編織項j及(j+1)將R π 轉換成R σ ,其中σ(k)=π(k) 0 k<j;(j+1)<k<n
σ(j)=π(j+1)
σ(j+1)=π(j)。
模數係常數且不受交換關係影響。回 想到,Da Yen編織變換具有中間結果 ,其中。依據此等中間值之交換值 係:
1. 因此,
2. ,且對於一個較高項:
此等等式簡化用於ECE中之關係集合。所有模數在F 2 上具有相同次數,其中
編織交換技術
輸入:R π、0 j<(n-1),其中
輸出:R σ ,如本文中其他處所描述
I
II
III:σ=π
IV:σ(j)=π(j+1)
V:σ(j+1)=π(j)
VIR π現為R σ
結束編織交換技術
編碼技術
可使用串流編密項產生密鑰字(例如,用於加密及/或編碼之密鑰係串流編密項輸出)。可判定在F 2 上的次數為v之2nq個不可約多項式之集合。ECE使用明文與密鑰關係之混合執行ya den編織編碼。在本文中所論 述之實施例中,可自串流編密項判定關係集合之模數。替代地,可以其他方式隨機地選擇密鑰及/或模數。
編碼技術
輸入:
輸出:{c i |0 i<n},v位元編密字
I:產生密鑰及設置系統(假定藉由密碼變數(例如,長期密鑰)初始化密鑰產生器),
A:自所供應之密鑰產生器產生密鑰串流之2v(s+n)個位元。
標記密鑰位元
●{|0 j<2s},其中v位元密鑰字; ●{k j |0 j,n},其中k j 小於q=|M|且對於al ijk i k j
B:建立資料關係:,其中0 j<2r
C:建立密鑰關係:,其中0 j<2s
D:初始化傳回關係:,其中0 j<n。
II:將變換成R π ,其中π等於恆等置換。
III:編織提取編密字c j =R π (μ j ),其中0 j<n。
結束編碼技術
ECE中之解碼程序類似於編碼,在解碼中執行Da Yen編織變換。若不存在錯誤且存在至少2r個正確關係,則可執行解碼。若接收到具有至多t/2個錯誤的(2r+t)個關係,則可找到2r個關係之無錯誤集合且提取無錯誤明文。
檢查解碼編織技術
輸入:
輸出:若編織正確,則真;若未通過正確檢查,則假
IFailCount=0
II:對於j=0至(t-1):
A:編織提取模數
B:若τ不等於v σ(n+j),則:FailCount=FailCount+1。
III:傳回:若FailCount ,傳回真; 否則傳回假
結束檢查解碼編織技術
因為可存在至多t/2個錯誤,所以不需要嘗試所接收關係之所有(2r+t)選擇2r個子集。若存在t/2 個錯誤且關係與鄰近關係配對(例如,對0係μ 0μ 1,對1係μ 2μ 3等等),則將存在未用於提取程序中之t/2對。若此等未使用對中之各者含有至少一個錯誤,則所使用對無錯誤。換言之,此等(r+t/2)選擇r對子集中之一者將係無錯誤變換。
解碼技術可諸如藉由使鄰近關係配對來耗盡所接收關係之子集。此技術可諸如藉由僅將整個變換執行一次及藉由執行編織交換修改變換以匹配新子集來減少每子集計算時間。
解碼技術
輸入:
I:產生密鑰及設置系統(假定藉由密碼變數(亦即,長期密鑰)初始化密鑰產生器),諸如與使用相同密碼變數針對編碼所進行相同。
A:自所供應之密鑰產生器產生密鑰串流之2v(s+n)個位元。
標記密鑰位元 ●{|0 j<2s},其中v位元密鑰字;●{k j |0 j,n},其中k j 小於q=|M|且對於al ijk i k j
B:建立密鑰關係:,其中0 j<2s
C:建立編密關係:,其中0 j<(2r+t)。
D:初始化傳回關係:,其中0 j<2r
II:令σ係對整數0 j<(2s+n)之置換,藉由恆等置換初始化:σ(j)=j
III:令
IV:執行編織變換以將映射成R σ
V:在lvl<halfSpares且當前R σ 未通過檢查解碼編織時:
A:對於j=2(r+s+lvl)降至2(nV etted+s):
1:j及(j-1)處之編織交換R σ
2:(j-1)及j處之編織交換R σ
B:lvlVetted[lvl]=lvlVetted[lvl]+1;nVetted=nVetted+1
C:nVetted rlvl<halfSpares/*轉至更有效層級,此係因為此層級已耗盡*/
1:nVetted=nVetted-lvlVetted[lvl]
2:lvlVetted[lvl]=0
3:lvl=lvl+1
D:否則若(lvl>0)/*否則,若不在最低層級,則降至最低有效層級*/
1:lvl=0
VI:編織提取模數以獲得明文δ j =R π (δ j ),其中0 j<2r
結束解碼技術
十六進位簡寫用於F 2[x]中之多項式。舉例而言,x 5+x 4+x 3+x 0x3a。
現提供使用本文中所論述之技術的實例。
實例1:Da Yen
:令 R={(2 mod 7);(5 mod 13);(1 mod 2)}
Q={(5 mod 7);(1 mod 13);(0 mod 2)}。
則〈R〉=(135 mod 182),其中且〈Q〉 =(40 mod 182)。應注意,R+Q={(0 mod 7);(6 mod 13);(1 mod 2)},〈R+Q〉=(175 mod 182)且RQ={(3 mod 7);(5 mod 13);(0 mod 2)}且〈RQ〉=(122 mod 182)。
●=F 2[x]:令R={(x 3+x+1 mod x 4+x 3+1);(x mod x 2+x+1);(1 mod x+1)}。則〈R〉=(x 5 mod x 7+ x 6+x 4+1),其中
結束實例1。
實例2:等同關係子集
令ε=F 11[x],其中
I={μ 2,μ 4,μ 5}
集合I映射至關係〈I〉=2x 2+6x mod(x 3+9x+10),而〈R〉=3x 4+8x 3+7x 2+9x 2+3 mod(x 5+5x 4+3x 3+7x 1+6)。
應注意,I1)=μ1。此連同R中之所有模數之大小相同(次數1)告知吾人以下關係集合係等同的:I≡{μ 1,μ 4,μ 5}≡{μ 1,μ 2,μ 5}≡{μ 1,μ 2,μ 4}
結束實例2。
實例3:整數Ya Den編織變換
R={(2 mod 3)(3 mod 5)(1 mod 11)(7 mod 13)},得出mod 7。
R〉之全值將係〈R〉=(2+3(2+5(1+11(4)))=683 mod 2145,但可在無全值之情況下計算mod 7:
現將除以7且傳回對3、5、11及13作取模操作之模數之商。提示係已知的:r=4。為得出商,減去r且乘以7-1。7 mod之倒數係:[1 mod 3 3 mod 5 8 mod 11 2 mod 13]。
最後,商等於:
商之整數形式係。應注意97[1mod3 2mod5 9mod11 6mod13]
結束實例3。
實例4:多項式Ya Den編織變換
令ε=F 2[x],以十六進位表示多項式:x 5+x 3 x 2→0x2c,且R={(0x6 mod 0x25),(0x1a mod 0x29),(0xc mod 0x2f),(0x3 mod 0x37)}且得出mod 0x3b:
R含有四個6次多項式,因此,但吾人可利用 w值及對0x3b作取模操作之模數之運算來計算mod 0x3b。(應注意:所有模數具有相同次數,因此
為說明次序之改變如何影響編織變換,使用同一R,但交換μ1、μ2之次序:R={(0x6 mod 0x25),(0x1a mod 0x29),(0xc mod 0x2f),(0x3 mod 0x37)}且得出mod 0x3b:
應注意,交換μ1、μ2之次序改變μ3之中間結果,但不改變最終值或結果
可使用編織交換技術計算經交換變換。使用原始編織:
已知w π(0)w π(3),其中π(0)=0,π(3)=3,不改變。對於已交換值:w π(1)=w 2(0x29 ♁ 0x2f)♁ w 1 π(1)=2=0x1 mod 0x2f
w π(2)=(w 1w π(1))(0x29 ♁ 0x2f)-1 π(2)=1=0x10 mod 0x29
結束實例4。
相比需要標準資料區塊大小之其他系統,纏繞式加密提供向實施者提供更多實施自由度。許多編碼方案對區塊大小具有相當嚴格的限制,但纏繞式加密允許使用者諸如基於其需要改變區塊大小。
纏繞式加密可提供抗量子公用密鑰密碼系統之基礎。此係新的重要密碼學領域,此係因為所有當前使用之公用密鑰系統易受量子攻擊。
F 2 上或對2作取模操作之模數之多項式起作用的實例:f(x)=Σ i=0 b i x i ,其中b i {0,1}且x係變數/占位符。此實例中之算數係標準多項式加法及乘法,除係數加法及乘法對2作取模操作之模數進行以外:1+1=1 ♁ 1=0。由於係數限於{1,0},因此多項式可簡寫為十 六進位數。舉例而言,0x11d=0b100011101=x8+x4+x3+x2+1。
在此實例中使用將F 2 上之多項式用作模數的模數化約簡。若M(x)係多項式模數,則0=M(x)mod M(x)。此可能看起來類似明顯的陳述式,但其可用以簡化 多項式約簡。令(例如,F 2 上之n次多項式)。以明顯關係開始,接著將x n 加至兩側(加法與減 法mod 2相同),得到:。為減小多項式P(x)mod M(x),簡單地用M(x)之添加左移版本的M(x)之較低項替換第n次冪,直至次數小於n。下表多項式P(x)=0x37f6對M(x)(0x11d)作取模操作之模數進行約簡。
其等於0xef。
對此等多項式作取模操作之模數之乘法逆(例如,除法)係ECE之組成部分。a mod m之逆係b,使得ab=1 mod m,且其書寫為b=a -1 mod m。可用此處未涵蓋之若干種方式計算逆。此等方式包括歐幾里得演算法之許多變型以及Da Yen。
表1包括次數為8之不可約多項式(以十六 進位簡寫記法)。應注意,多項式(j=0)係本原項。此意謂F 2 之每個非零元素係由F 2 之代數完備中的多項式之根產生。若α係p0(x)之根,則多項式pj(x)之根係αexp。在下文之實例加密/編碼方案中,此等多項式被稱作M id (x)。
以下實例將24位元(例如,三個8位元字)之區塊加密/編碼成五個8位元字。明文位元用作次數小於24之二進位多項式(F 2 |x|之元素)的係數。密鑰串流由密鑰產生器(例如,串流編密項)提供,諸如可包括具有種子(例如,內部秘密種子)之隨機化器。此密鑰串流提供在不可約多項式之集合的id之範圍內的整數。在此實例中,密鑰串流提供在0 k i <30之範圍內的整數。因此,此等密鑰充當不可約多項式(表1中之Mj(x))之索引。
考慮,其中b i {0,1}。ECE將P(x)轉換成五個8位元字Cj,其中Cj= ,其中0 j<5。使用給定密鑰整數之解密 及解碼使用Da Yen編織變換。
存在至少兩種建構技術來判定Cj。假定存在n個Cj值mod Mj,其中j=0,1,2,…,(n-1)。此等可係僅一子集之整個集合(若Mj之乘積具有至少與初始模數一樣大的次數(在此實例中,24))。第一種技術可包括使用以 下公式:
第二種技術可包括迭代技術,諸如相比第一種技術在計算上可更高效。迭代技術可遵循此等三個公式:P 0(x)=C 0
P(x)=P n-1(x)
對於此實例,令P(x)=0x23ab1f且密鑰整數如表2中所展示:
在此實例中,P(x)加密/編碼成:C 0=8b mod 1b1
C 1=86 mod 1a9
C 2=31 mod 17b
C 3=e9 mod 139
C 4=73 mod 1a3
若僅恢復C 1C 2C 4且密鑰已知,則可恢復完整的明文: P(x)=(17b.1a3)[(17b.1a3)-186 mod 1a9]♁(1a9.1a3)[(1a9.1a3)-1 31 mod 17b](1a9.17b)[(1a9.17b)-1 73 mod 1a3]=1ea6d(39-186 mod 1a9)♁ 14a5b(ad-131 mod 17b)♁ 1e343(5f-173 mod 1a3)=1ea6d(f0.86 mod 1a9)♁ 14a5b(d2.31 mod 17b)♁ 1e343(6d.73 mod 1a3)=(1ea6d.b5)♁(14a5b.2)♁(1e343.80)=d09e29 ♁ 294b6 ♁ f1a180
在此實例中,若所有編密字已知,則可校正錯誤。舉例而言,令在傳輸之後接收的Cj係{8b,96,31,e9,73}(應注意,C 1中之錯誤=96;C 1判定為86)。
P(x)=113b9e5fd(4b-1 C 0 mod 1b1)♁ 101f3e905(8f-1 C 1 mod 1a9)♁ 1fbd82883(55-1 C 2 mod 17b)♁ 18c8b0e55(14-1 C 3 mod 139)♁ 10cd8495b(89-1 C 4 mod 1a3)=113b9e5fd(7c.C 0 mod 1b1)♁ 101f3e905(4a.C 1 mod 1a9)♁ 1fbd82883(c9.C 2 mod 17b)♁ 18c8b0e55(16.C 3 mod 139)♁ 10cd8495b(a6.C 4 mod 1a3)=89dcf2fe8 ♁ 1f157a4763 ♁ 2afb4e07c1 ♁ 8eab0882cf ♁ 4c76d9e299=ffae2a0f1c mod M 0 M 1 M 2 M 3 M 4.
在僅一個錯誤處於區塊中之情況下,接著對較小乘積(在此狀況下,M 0 M 2 M 3 M 4)作取模操作之模數約簡此結果可產生次數小於24之多項式(經校正明文)。使用含有C 1 mod M 1之乘積傳回次數較高之多項式。提供對除 (按次序)M 0M 1、......M 4中之一者外的所有模數之乘積作取模操作之模數約簡的值:ffae2a0f1c=c3ba8b51 mod 113b9e5fd(M 0移除,因此M 1 M 2 M 3 M 4)
ffae2a0f1c=23ab1f mod 101f3e905(M 1移除,因此M 0 M 2 M 3 M 4)
ffae2a0f1c=4e563719 mod 1fbd82883(M 2移除,因此M 0 M 1 M 3 M 4)
ffae2a0f1c=b925b63f mod 18c8b0e55(M 3移除,因此M 0 M 1 M 2 M 4)
ffae2a0f1c=d13bdbb9 mod 10cd8495b(M 4移除,因此M 0 M 1 M 2 M 3)
如可見,自模數移除M 1恢復原始資料0x23ab1f。
圖5藉助於實例說明多種編碼技術之錯誤率對能量的曲線圖500。如所說明,曲線圖500包括由線506表示之具有加性白高斯雜訊(added white Gaussian noise;AWGN)的未寫碼資料、由線504表示之使用里德所羅門技術編碼的資料及由線502表示之使用ECE編碼的資料。
圖6藉助於實例說明機器600之實施例的方塊圖,在該機器上可實施諸如關於圖3及圖4以及在本文中其他處所論述之彼等方法的方法中之一或多者。在一或多個實施例中,系統100之一或多個項目可藉由機器600 實施。在替代實施例中,機器600作為獨立裝置操作或可連接(例如,網路連接)至其他機器。在一或多個實施例中,纏繞式密碼編譯編碼器102、多項式表106、密鑰產生器104、纏繞式密碼編譯解碼器112、多項式表116、密鑰產生器114、媒體108、編碼裝置130(傳輸器裝置)及/或解碼裝置140(接收器裝置)可包括機器600之項目中之一或多者。在網路連接式部署中,機器600可以伺服器-用戶端網路環境中之伺服器或用戶端機器的身分而操作,或作為同級間(或分散式)網路環境中之同級機器而操作。機器600可為個人電腦(PC)、平板PC、機上盒(STB)、個人數位助理(PDA)、蜂巢式電話、網路器具、網路路由器、交換器或橋接器,或能夠執行(依序或以其他方式)指定待由彼機器採取之動作的指令之任何機器。另外,儘管僅說明單個機器,但「機器」一詞亦應被視為包括個別地或聯合地執行指令之一集合(或多個集合)以執行本文中所論述之方法中的任何一或多者之機器的任何彙集。
實例機器800包括處理電路系統902(例如,中央處理單元(CPU)、圖形處理單元(GPU)、特殊應用積體電路、電路系統,諸如一或多個電晶體、電阻器、電容器、電感器、二極體、邏輯閘、多工器、振盪器、緩衝器、調變器、調節器、放大器、解調變器、無線電(例如,傳輸或接收無線電或收發器)、感測器621(例如,將一種形式之能量(例如,光、熱、電、機械或其他能量)轉換成另一形式之能量的傳感器)或其類似者,或其組合)、主記 憶體604及靜態記憶體606,以上各者經由匯流排608彼此通訊。機器600(例如,電腦系統)可進一步包括視訊顯示單元610(例如,液晶顯示器(LCD)或陰極射線管(CRT))。機器600亦包括文數字輸入裝置612(例如,鍵盤)、使用者介面(UI)導覽裝置614(例如,滑鼠)、磁碟機或大容量儲存單元616、信號產生裝置618(例如,揚聲器)及網路介面裝置620。
磁碟機單元616包括機器可讀媒體622,其上儲存有體現本文中所描述之方法或功能中之任何一或多者或供其使用的指令及資料結構(例如,軟體)624之一或多個集合。指令624在其藉由機器600執行期間亦可完全或至少部分地駐存在主記憶體604內及/或處理器602內,主記憶體604及處理器602亦構成機器可讀媒體。
如所說明之機器600包括輸出控制器628。輸出控制器628管理至/自機器600之資料流。輸出控制器628有時被稱作裝置控制器,其中直接與輸出控制器628互動之軟體被稱作裝置驅動程式。
雖然機器可讀媒體622在實例實施例中經展示為單一媒體,但「機器可讀媒體」一詞可包括儲存一或多個指令或資料結構之單一媒體或多個媒體(例如,集中式或分散式資料庫,及/或相關聯之快取記憶體及伺服器)。「機器可讀媒體」一詞亦可被視為包括能夠儲存、編碼或攜載由機器執行且使機器執行本發明之方法中的任何一或多者的指令或能夠儲存、編碼或攜載由此等指令利用或與此 等指令相關聯之資料結構的任何有形媒體。「機器可讀媒體」一詞將相應地被視為包括但不限於固態記憶體以及光學及磁性媒體。機器可讀媒體之特定實例包括非揮發性記憶體,藉助於實例包括半導體記憶體裝置,例如可抹除可規劃唯讀記憶體(EPROM)、電可抹除可規劃唯讀記憶體(EEPROM)及快閃記憶體裝置;磁碟,諸如內部硬碟及抽取式磁碟;磁光碟;以及CD-ROM及DVD-ROM磁碟。
指令624可進一步使用傳輸媒體經由通訊網路626傳輸或接收。指令624可使用網路介面裝置620及若干熟知的傳送協定中之任一者(例如,HTTP)來傳輸。通訊網路之實例包括區域網路(「LAN」)、廣域網路(「WAN」)、網際網路、行動電話網路、簡易老式電話(Plain Old Telephone;POTS)網路及無線資料網路(例如,WiFi網路及WiMax網路)。「傳輸媒體」一詞將被視為包括能夠儲存、編碼或攜載由機器執行之指令且包括數位或類比通訊信號或其他無形媒體以促進此軟體之通訊的任何無形媒體。
實例及額外註釋。
實例1可包括一種纏繞式密碼編譯編碼裝置,其包含:記憶體,其包括指示互質不可約多項式之集合的資料,該等互質不可約多項式以多項式表的方式被儲存於該記憶體上且被編索引;纏繞式密碼編譯編碼電路系統,其接收資料,將資料變換成資料整數之集合對表示多項式表之各別多項式的各別多項式整數作取模操作之模 數,且基於所接收編密資料對經變換資料執行Da Yen編織並將已編織之經變換資料提供至媒體。
在實例2中,實例1可進一步包括用以基於密鑰產生資料之編密串流的密鑰產生器電路系統,且其中纏繞式密碼編譯編碼電路系統經進一步組配來將資料變換成資料整數之集合對各別多項式整數作取模操作之模數,且基於所接收編密串流執行Da Yen編織。
在實例3中,實例2可進一步包括,其中編密串流之另一部分將索引提供至各別多項式。
在實例4中,實例3可進一步包括,其中多項式係基於多項式之各別根及本原項而索引。
在實例5中,實例1至4中之至少一者可進一步包括,其中已編織之經變換資料包括藉由纏繞式密碼編譯編碼電路系統基於來自編密串流之資料而變換的經變換接收資料及經變換編密資料。
在實例6中,實例1至5中之至少一者可進一步包括,其中纏繞式密碼編譯編碼電路系統經進一步組配以將所接收資料分成v位元字之區塊,其中資料變換包括個別地變換v位元字之區塊,且其中v係記憶體中之多項式的最大次數。
在實例7中,實例1至6中之至少一者可進一步包括,其中由編密串流提供之t位元編密字的數目包括該等區塊中之一區塊中的字之數目2r加上待校正之錯誤的最大數目s的兩倍,且由編密串流提供之v位元編密 字的數目包括待校正之錯誤的最大數目的兩倍,其中已編織之經變換資料包括資料區塊之v位元字中之各者的經變換版本及來自編密串流之2s個v位元字的經變換版本,其中記憶體中之多項式的數目係2 t
實例8包括一種纏繞式密碼編譯解碼裝置,其包含:記憶體,其包括指示互質不可約多項式之集合的資料,該等互質不可約多項式以多項式表的方式被儲存於該記憶體上且被編索引;纏繞式密碼編譯解碼電路系統,其接收經加密編碼資料,對部分經加密編碼資料執行Da Yen編織變換,比較經變換資料與經加密編碼資料之另一部分以判定錯誤是否存在於經變換資料中,回應於不存在錯誤之判定,將資料之無錯誤版本轉換成明文,且將明文提供至接收器。
在實例9中,實例8進一步包括,其中纏繞式密碼編譯解碼電路系統經進一步組配以回應於錯誤存在之判定,對經變換資料之兩個字執行編織交換,且比較經編織交換資料與經加密編碼資料之不同部分以判定錯誤是否存在於經編織交換版本中。
在實例10中,實例9可進一步包括用以基於密鑰產生資料之編密串流的密鑰產生器電路系統,且其中纏繞式密碼編譯解碼電路系統經進一步組配來將經加密編碼資料變換成資料整數之集合對各別多項式整數作取模操作之模數,且基於所接收編密資料執行Da Yen編織變換。
在實例11中,實例10可進一步包括,其中編密串流之另一部分將索引提供至由各別多項式整數表示之各別多項式。
在實例12中,實例11可進一步包括,其中多項式係基於多項式之各別根及本原項而索引。
在實例13中,實例8至12中之至少一者可進一步包括,其中已編織之經變換資料包括藉由纏繞式密碼編譯解碼電路系統基於來自編密串流之資料而變換的經變換接收資料及經變換編密資料。
在實例14中,實例8至13中之至少一者可進一步包括,其中v係記憶體中之多項式的最大次數,其中由編密串流提供之t位元編密字的數目包括該等區塊中之一區塊中的字之數目2r加上待校正之錯誤的最大數目s的兩倍,且由編密串流提供之v位元編密字的數目包括待校正之錯誤的最大數目的兩倍,其中已編織之經變換資料包括資料區塊之v位元字中之各者的經變換版本及來自編密串流之2sv位元字的經變換版本,其中記憶體中之多項式的數目係2 t
在實例15中,一種加密及解密系統包括:纏繞式密碼編譯編碼裝置,其包含:第一記憶體,其包括指示互質不可約多項式之集合的資料,該等互質不可約多項式以第一多項式表的方式被儲存於該第一記憶體上且被編索引;纏繞式密碼編譯編碼電路系統,其接收資料,將資料變換成資料整數之集合對表示多項式表之各別多項式 的各別多項式整數作取模操作之模數,基於所接收編密資料對經變換資料執行Da Yen編織並將已編織之經變換資料提供至媒體;以及纏繞式密碼編譯解碼裝置,其包含:第二記憶體,其包括指示互質不可約多項式之集合的資料,該等互質不可約多項式以第二多項式表的方式被儲存於該第二記憶體上且被編索引;纏繞式密碼編譯解碼電路系統,其自媒體接收經加密編碼資料,對第一部分經加密編碼資料執行Da Yen編織變換,比較經變換資料與經加密編碼資料之第二部分以判定錯誤是否存在於經變換資料中,回應於不存在錯誤之判定,將資料之無錯誤版本轉換成明文,且將明文提供至接收器。
在實例16中,實例15可進一步包括,其中纏繞式密碼編譯編碼裝置進一步包括用以基於第一密鑰產生資料之第一編密串流的第一密鑰產生器電路系統,且其中纏繞式密碼編譯編碼電路系統經進一步組配來將資料變換成資料整數之集合對各別多項式整數作取模操作之模數,且基於所接收之第一編密串流執行Da Yen編織,且纏繞式密碼編譯解碼裝置進一步包括用以基於第二密鑰產生資料之第二編密串流的第二密鑰產生器電路系統,且其中纏繞式密碼編譯解碼電路系統經進一步組配來將經加密編碼資料變換成資料整數之集合對各別多項式整數作取模操作之模數,且基於所接收之第二編密串流執行Da Yen編織變換。
在實例17中,實例16可進一步包括,其中 第一密鑰產生器電路系統與第二密鑰產生器電路系統同步。
在實例18中,實例16至17中之至少一者可進一步包括,其中第一編密串流之一部分將索引提供至第一記憶體上之各別多項式,且其中第二編密串流之一部分將索引提供至第二記憶體上之各別多項式。
在實例19中,實例18可進一步包括,其中第一記憶體及第二記憶體上之多項式係基於多項式之各別根及本原項而索引。
在實例20中,實例16至19中之至少一者進一步包括,其中纏繞式密碼編譯解碼電路系統經進一步組配以回應於錯誤存在之判定,對經變換資料之兩個字執行編織交換,且比較經編織交換資料與經加密編碼資料之不同部分以判定錯誤是否存在於經編織交換版本中。
在實例21中,實例16至20中之至少一者可進一步包括,其中已編織之經變換資料包括藉由纏繞式密碼編譯編碼器電路系統基於來自編密串流之資料而變換的經變換接收資料及經變換編密資料。
在實例22中,實例16至21中之至少一者可進一步包括,其中纏繞式加密電路系統進一步將所接收資料分成v位元字之區塊,且資料變換包括個別地變換v位元字之區塊,其中v係記憶體中之多項式的最大次數。
在實例23中,實例16至22中之至少一者可進一步包括,其中由第一編密串流及第二編密串流提供 之t位元編密字的數目包括該等區塊中之一區塊中的字之數目2r加上待校正之錯誤的最大數目s的兩倍,且由編密串流提供之v位元編密字的數目包括待校正之錯誤的最大數目的兩倍,其中已編織之經變換資料包括資料區塊之v位元字中之各者的經變換版本及來自編密串流之2s個v位元字的經變換版本,其中第一記憶體及第二記憶體中之第一多項式及第二多項式的數目係2t
在實例24中,實例16至23中之至少一者可進一步包括,其中第一編密串流之另一部分將索引提供至由各別多項式整數表示之第一各別多項式。
在實例25中,實例16至24中之至少一者可進一步包括,其中第一多項式係基於多項式之各別根及本原項而索引。
在實例26中,實例16至25中之至少一者可進一步包括,其中已編織之經變換資料包括藉由纏繞式密碼編譯解碼電路系統基於來自編密串流之資料而變換的經變換接收資料及經變換編密資料。
實例27可包括一種用於纏繞式密碼編譯編碼之方法:將指示互質不可約多項式之集合的資料儲存於記憶體上,該等互質不可約多項式以多項式表的方式被儲存於該記憶體上且被編索引;在纏繞式密碼編譯編碼電路系統處接收資料;將資料變換成資料整數之集合對表示多項式表之各別多項式的各別多項式整數作取模操作之模數;基於所接收編密資料對經變換資料執行Da Yen編織; 以及將已編織之經變換資料提供至媒體。
在實例28中,實例27可進一步包括使用密鑰產生器電路系統基於密鑰產生資料之編密串流,且其中纏繞式密碼編譯編碼電路系統經進一步組配來將資料變換成資料整數之集合對各別多項式整數作取模操作之模數,且基於所接收編密串流執行Da Yen編織。
在實例29中,實例28可進一步包括,其中編密串流之另一部分將索引提供至各別多項式。
在實例30中,實例27至29中之至少一者可進一步包括,其中多項式係基於多項式之各別根及本原項而索引。
在實例31中,實例27至30中之至少一者可進一步包括,其中已編織之經變換資料包括藉由纏繞式密碼編譯編碼電路系統基於來自編密串流之資料而變換的經變換接收資料及經變換編密資料。
在實例32中,實例27至31中之至少一者可進一步包括將所接收資料分成v位元字之區塊,其中資料變換包括個別地變換v位元字之區塊,且其中v係記憶體中之多項式的最大次數。
在實例33中,實例27至32中之至少一者可進一步包括,其中由編密串流提供之t位元編密字的數目包括該等區塊中之一區塊中的字之數目2r加上待校正之錯誤的最大數目s的兩倍,且由編密串流提供之v位元編密字的數目包括待校正之錯誤的最大數目的兩倍,其中 已編織之經變換資料包括資料區塊之v位元字中之各者的經變換版本及來自編密串流之2sv位元字的經變換版本,其中記憶體中之多項式的數目係2 t
實例34包括一種用於纏繞式密碼編譯解碼之方法:將指示互質不可約多項式之集合的資料儲存於記憶體上,該等互質不可約多項式以多項式表的方式被儲存於該記憶體上且被編索引;在纏繞式密碼編譯解碼電路系統處接收經加密編碼資料;對部分經加密編碼資料執行Da Yen編織變換;比較經變換資料與經加密編碼資料之另一部分以判定錯誤是否存在於經變換資料中;回應於不存在錯誤之判定,將資料之無錯誤版本轉換成明文;以及將明文提供至接收器。
在實例35中,實例34進一步包括:回應於錯誤存在之判定,對經變換資料之兩個字執行編織交換;以及比較經編織交換資料與經加密編碼資料之不同部分以判定錯誤是否存在於經編織交換版本中。
在實例36中,實例35可進一步包括:使用密鑰產生器電路系統基於密鑰產生資料之編密串流;以及將經加密編碼資料變換成資料整數之集合對各別多項式整數作取模操作之模數,且基於所接收編密資料執行Da Yen編織變換。
在實例37中,實例36可進一步包括,其中編密串流之另一部分將索引提供至由各別多項式整數表示之各別多項式。
在實例38中,實例37可進一步包括,其中多項式係基於多項式之各別根及本原項而索引。
在實例39中,實例34至38中之至少一者可進一步包括,其中已編織之經變換資料包括藉由纏繞式密碼編譯解碼電路系統基於來自編密串流之資料而變換的經變換接收資料及經變換編密資料。
在實例40中,實例34至39中之至少一者可進一步包括,其中v係記憶體中之多項式的最大次數,其中由編密串流提供之t位元編密字的數目包括該等區塊中之一區塊中的字之數目2r加上待校正之錯誤的最大數目s的兩倍,且由編密串流提供之v位元編密字的數目包括待校正之錯誤的最大數目的兩倍,其中已編織之經變換資料包括資料區塊之v位元字中之各者的經變換版本及來自編密串流之2sv位元字的經變換版本,其中記憶體中之多項式的數目係2 t
實例41可包括一種非暫時性機器可讀媒體,其包括在由機器執行時組配機器以執行實例27至40中之至少一者的方法之操作的指令。
儘管已參考特定實例實施例描述了實施例,但將顯而易見可對此等實施例進行各種修改及改變,而不脫離本發明之更廣泛精神及範圍。因此,應在說明性意義上而非限制性意義上看待本說明書及圖式。形成本文之一部分的隨附圖式藉助於說明而非限制來展示可實踐主題之特定實施例。足夠詳細地描述所說明之實施例以使熟 習此項技術者能夠實踐本文中所揭示之教示。可利用其他實施例且自本文中導出其他實施例,使得可在不脫離本發明之範圍的情況下作出結構及邏輯的替代及改變。因此,此詳細描述並不在限制性意義上進行,且各種實施例之範圍僅藉由所附申請專利範圍以及此等申請專利範圍授權的等效物之完整範圍界定。
附錄
A:對編織變換及編碼之證明
引理(迭代Da Yen):令係互質關 係之集合。定義部分集合,其中0<t n且〈R 1〉=μ 0
其中1<t n。接著,,其中0所有j<t
證明。在關係之集合R t 的情況下,Da Yen將直積 F[x]/[x]映射至商環F[x]/ F[x]。因此, 。剩下的係證明:,其中所有μ R t , 且|〈〉|<||。此等均藉由歸納來進行。
t=1:對於t=1,R1={μ 0}。根據定義,||<||且 等同於其自身。假定|〈〉|<||且,其中所有μ R t ,其中t=2,3,…,(k-1)。
t=k:若μ R k-1,則,因此 。由於,因此已知 。在R k 中但不在R k-1中之僅有關係係μ k-1。但:
因此,,其中所有μ R k
因此,藉由歸納,函數產生用於Da Yen關係之值。
引理(編織項):令係n個互質關係之 集合。若 k=0,1,...,(n-1)
1 j k<n
w k 係迭代Da Yen中所需之編織關係。
證明:以下將證明:,其中所有0 j k<n。根據定義, 。藉由對j之歸納: 對於j=1: ,因此, ,其中所有1 k<n。此外,
假定,其中1 j<t且所有j k<n
則對於t k<n,係:
已知A t-1=A t-2+M t-2 w t-1,因此,
錯誤校正能力之證明
強制用於編碼中之字的數目為偶數降低計算成本,因此在本說明書中,將存在用於明文之2r個關係以及2s個 校正關係:。任何子集I R(其中|I|2r)判定R中之所有2(r+s)個關係。換言之,I(μ)=μ,其中所有μ R
藉由使用損壞集合R',並不保證任何大小為2r之子集I R'使I(μ')=μ',其中所有μ' R'。然而,以下證明將展示若R'中存在至多s個錯誤且I產生不超過s個非匹配關 係,則I不含錯誤且
以下集合定義有助於鞏固概念且簡化證明。集合G、B含有實際的正確及損壞關係,而GIBI含有用子集I R'導出的所觀察到之正確及損壞關係。
應注意:
1)兩對GBGIBI分割所觀察到的關係之集合R'R'=GB
R'=G I B I
2)集合GB僅取決於RR'
3)集合GIBI僅取決於〈I〉之結果,因此,若IJ等同,則〈I〉≡〈J〉且G I =G J B I =B J
以下展示:若來自I之計算出的錯誤不超過s個(例如,|K I |s),則I中不存在錯誤,且由於關係由2r個元素之集合判定,因此現有錯誤(例如,K I 中之關係)可藉由I(μ')=μ校正。在以下定理中:
1. 係在歐幾里得域上之大小 相等的互質關係之集合,其唯一地由任何子集I R判定,其具有2r個元素。對於所有μ RI(μ)=μ
2. 係由於錯誤集合而受到損壞之集合R
此編碼方案基本上係Da Yen之應用。證明依賴於以下定理: 令係在唯一判定之2r個或多於2r個元素上的互質關係之集合。令具有添加錯誤之集合 係,其具有 至多s個非零e j 。若I R',其中|I|=2r,則在且僅在I G之情況下,|B I |<s
證明:令RR'如上文所定義,其中I R'(2r個元素之子集)。所有子集J G I (其中|J|=|I|)等同於I
1. 若I G,則對於所有μ R,(μ)=μ且|B I |=|B| s
2. 若|B I | s:則
a.
b. 由於|G I B| s, 2(r+s)-s=2r+s
c. 因此,存在J (G I G),其中|J|=2rJ=I
d. 最後,由於J GJ=I,因此〈I〉≡〈J〉,其暗示μ'=I(μ')=μ,其中所有μ' II G

Claims (20)

  1. 一種纏繞式密碼編譯編碼裝置,其包含:一記憶體,其包括指示互質不可約多項式之一集合的資料,該等互質不可約多項式以一多項式表的方式被儲存於該記憶體上且被編索引;纏繞式密碼編譯編碼電路系統,其用以進行以下操作:接收資料;將該資料變換成資料整數之一集合對表示該多項式表之各別多項式的各別多項式整數作取模操作之模數;以及基於所接收的編密資料來對該經變換資料執行一Da Yen編織;以及將該已編織之經變換資料提供至一媒體。
  2. 如請求項1之裝置,其進一步包含:密鑰產生器電路系統,其用以基於一密鑰來產生一編密串流之資料;且其中該纏繞式密碼編譯編碼電路系統經進一步組配來將該資料變換成資料整數之一集合對各別多項式整數作取模操作之模數,且基於所接收之該編密串流來執行該Da Yen編織。
  3. 如請求項2之裝置,其中該編密串流之另一部分提供一索引至該等各別多項式。
  4. 如請求項3之裝置,其中該等多項式係基於該等多項式之一各別根及本原項而被編索引。
  5. 如請求項4之裝置,其中該已編織之經變換資料包括藉由該纏繞式密碼編譯編碼電路系統基於來自該編密串流之資料而變換的經變換接收資料及經變換編密資料。
  6. 如請求項5之裝置,其中該纏繞式密碼編譯編碼電路系統經進一步組配以進行以下操作:將所接收資料分成v位元字之區塊;其中該資料之該變換包括個別地v位元字之該等區塊之變換;且其中v係該記憶體中之該等多項式的一最大次數。
  7. 如請求項6之裝置,其中由該編密串流所提供之t位元編密字的一數目包括該等區塊之一區塊中的字之數目2r加上待校正之錯誤的一最大數目s的兩倍,且由該編密串流所提供之v位元編密字的一數目包括待校正之錯誤的該最大數目的兩倍,其中該已編織之經變換資料包括資料區塊之該等v位元字中之各者的經變換版本及來自該編密串流之2sv位元字的經變換版本,其中該記憶體中之多項式的數目係2 t
  8. 一種纏繞式密碼編譯解碼裝置,其包含:一記憶體,其包括指示互質不可約多項式之一集合的資料,該等互質不可約多項式以一多項式表的方式被儲存於該記憶體上且被編索引;纏繞式密碼編譯解碼電路系統,其用以進行以下操作:接收經加密編碼資料; 對一部分的該經加密編碼資料執行一Da Yen編織變換;比較該經變換資料與該經加密編碼資料之另一部分以判定錯誤是否存在於該經變換資料中;回應於不存在錯誤之一判定,而將資料之無錯誤版本轉換成明文;以及將該明文提供至一接收器。
  9. 如請求項8之裝置,其中該纏繞式密碼編譯解碼電路系統經進一步組配以進行以下操作:回應於錯誤存在之一判定,而對該經變換資料之兩個字執行一編織交換;以及比較該經編織交換資料與該經加密編碼資料之一不同部分以判定錯誤是否存在於經編織交換版本中。
  10. 如請求項9之裝置,其進一步包含:密鑰產生器電路系統,其用以基於一密鑰來產生一編密串流之資料;且其中該纏繞式密碼編譯解碼電路系統經進一步組配來將該經加密編碼資料變換成資料整數之一集合對各別多項式整數作取模操作之模數,且基於所接收之編密串流來執行該Da Yen編織變換。
  11. 如請求項10之裝置,其中該編密串流之另一部分提供一索引至由各別多項式整數所表示之各別多項式。
  12. 如請求項11之裝置,其中該等多項式係 基於該等多項式之一各別根及本原項而被編索引。
  13. 如請求項12之裝置,其中該已編織之經變換資料包括藉由該纏繞式密碼編譯解碼電路系統基於來自該編密串流之資料而變換的經變換接收資料及經變換編密資料。
  14. 如請求項13之裝置,其中v係該記憶體中之該等多項式的一最大次數,其中由該編密串流所提供之t位元編密字的一數目包括多數區塊之一區塊中的字之數目2r加上待校正之錯誤的一最大數目s的兩倍,且由該編密串流所提供之v位元編密字的一數目包括待校正之錯誤的該最大數目的兩倍,其中該已編織之經變換資料包括資料區塊之v位元字中之各者的經變換版本及來自該編密串流之2sv位元字的經變換版本,其中該記憶體中之多項式的數目係2 t
  15. 一種加密及解密系統,其包含:一纏繞式密碼編譯編碼裝置,其包含:一第一記憶體,其包括指示互質不可約多項式之一集合的資料,該等互質不可約多項式以一第一多項式表的方式被儲存於該第一記憶體上且被編索引;纏繞式密碼編譯編碼電路系統,其用以進行以下操作:接收資料;將該資料變換成資料整數之一集合對表示該第一多項式表之各別多項式的各別多項式整數作取模操作之模數;以及 基於所接收編密資料來對該經變換資料執行一Da Yen編織;以及將該已編織之經變換資料提供至一媒體;以及一纏繞式密碼編譯解碼裝置,其包含:一第二記憶體,其包括指示互質不可約第二多項式之集合的資料,該等互質不可約第二多項式以一第二多項式表的方式被儲存於該第二記憶體上且被編索引;纏繞式密碼編譯解碼電路系統,其用以進行以下操作:自該媒體接收經加密編碼資料;對一第一部分的該經加密編碼資料執行一Da Yen編織變換;比較該經變換資料與該經加密編碼資料之一第二部分以判定錯誤是否存在於該經變換資料中;回應於不存在錯誤之一判定,而將資料之無錯誤版本轉換成明文;以及將該明文提供至一接收器。
  16. 如請求項15之系統,其中:該纏繞式密碼編譯編碼裝置進一步包括:第一密鑰產生器電路系統,其用以基於一第一密鑰來產生資料之一第一編密串流;且其中該纏繞式密碼編譯編碼電路系統經進一步組配來將該資料變換成資料整數之一集合對各別多項式整數作取模操作之模數,且基於所接收之第一編密串流來執行該Da Yen編織;且 該纏繞式密碼編譯解碼裝置進一步包括:第二密鑰產生器電路系統,其用以基於一第二密鑰來產生資料之一第二編密串流;且其中該纏繞式密碼編譯解碼電路系統經進一步組配來將該經加密編碼資料變換成資料整數之一集合對各別多項式整數作取模操作之模數,且基於所接收之第二編密串流來執行該Da Yen編織。
  17. 如請求項16之系統,其中該第一密鑰產生器電路系統與該第二密鑰產生器電路系統被同步化。
  18. 如請求項16之系統,其中該第一編密串流之一部分提供一索引至該第一記憶體上之該等各別多項式,且其中該第二編密串流之一部分提供一索引至該第二記憶體上之該等各別多項式。
  19. 如請求項18之系統,其中該第一記憶體及該第二記憶體上之該等多項式係基於該等多項式之一各別根及本原項而被編索引。
  20. 如請求項16之系統,其中該纏繞式密碼編譯解碼電路系統經進一步組配以進行以下操作:回應於錯誤存在之一判定,而對該經變換資料之兩個字執行一編織交換;以及比較經編織交換資料與該經加密編碼資料之一不同部分以判定錯誤是否存在於經編織交換版本中。
TW107121339A 2017-07-14 2018-06-21 纏繞式加密及錯誤校正技術 TWI673992B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762532563P 2017-07-14 2017-07-14
US62/532,563 2017-07-14
US15/667,111 US10333698B2 (en) 2017-07-14 2017-08-02 Entwined encryption and error correction
US15/667,111 2017-08-02

Publications (2)

Publication Number Publication Date
TW201909594A TW201909594A (zh) 2019-03-01
TWI673992B true TWI673992B (zh) 2019-10-01

Family

ID=64999270

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107121339A TWI673992B (zh) 2017-07-14 2018-06-21 纏繞式加密及錯誤校正技術

Country Status (3)

Country Link
US (1) US10333698B2 (zh)
TW (1) TWI673992B (zh)
WO (1) WO2019014336A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI804439B (zh) * 2021-12-21 2023-06-01 慧榮科技股份有限公司 資料加密的錯誤偵測裝置及方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10333698B2 (en) 2017-07-14 2019-06-25 Raytheon Company Entwined encryption and error correction
US11032061B2 (en) * 2018-04-27 2021-06-08 Microsoft Technology Licensing, Llc Enabling constant plaintext space in bootstrapping in fully homomorphic encryption
US11057186B1 (en) * 2019-05-17 2021-07-06 Juniper Networks, Inc. Generating cryptographic random data from raw random data
CN110995734B (zh) * 2019-12-12 2020-12-15 深圳大学 基于纠错码的云存储审计方法、系统及计算机设备
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160112197A1 (en) * 2014-10-16 2016-04-21 Dyce, Llc Method and apparatus for storing encrypted data files across distributed storage media

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3873047B2 (ja) * 2003-09-30 2007-01-24 株式会社東芝 識別情報埋込装置、識別情報解析装置、識別情報埋込方法、識別情報解析方法及びプログラム
US8817974B2 (en) * 2011-05-11 2014-08-26 Nxp B.V. Finite field cryptographic arithmetic resistant to fault attacks
US8925075B2 (en) * 2011-11-07 2014-12-30 Parallels IP Holdings GmbH Method for protecting data used in cloud computing with homomorphic encryption
US20150312028A1 (en) * 2012-08-28 2015-10-29 Snu R&Db Foundation Homomorphic encryption and decryption methods using ring isomorphism, and apparatuses using the same
US9306738B2 (en) * 2012-12-21 2016-04-05 Microsoft Technology Licensing, Llc Managed secure computations on encrypted data
US20150095747A1 (en) * 2013-09-30 2015-04-02 Itzhak Tamo Method for data recovery
US9425961B2 (en) * 2014-03-24 2016-08-23 Stmicroelectronics S.R.L. Method for performing an encryption of an AES type, and corresponding system and computer program product
US10116437B1 (en) * 2015-12-14 2018-10-30 Ingram Micro, Inc. Method for protecting data used in cloud computing with homomorphic encryption
US20170293913A1 (en) * 2016-04-12 2017-10-12 The Governing Council Of The University Of Toronto System and methods for validating and performing operations on homomorphically encrypted data
US10742413B2 (en) * 2017-04-25 2020-08-11 International Business Machines Corporation Flexible verifiable encryption from lattices
US10333698B2 (en) 2017-07-14 2019-06-25 Raytheon Company Entwined encryption and error correction

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160112197A1 (en) * 2014-10-16 2016-04-21 Dyce, Llc Method and apparatus for storing encrypted data files across distributed storage media

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
(網址:https://eprint.iacr.org/2017/136) *
Anna Johnston,"Dispersed Cryptography and the Quotient Ring Transform"14 Feb 2017 *
Anna Johnston,"Dispersed Cryptography and the Quotient Ring Transform"14 Feb 2017。(網址:https://eprint.iacr.org/2017/136)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI804439B (zh) * 2021-12-21 2023-06-01 慧榮科技股份有限公司 資料加密的錯誤偵測裝置及方法

Also Published As

Publication number Publication date
US20190020470A1 (en) 2019-01-17
TW201909594A (zh) 2019-03-01
WO2019014336A1 (en) 2019-01-17
US10333698B2 (en) 2019-06-25

Similar Documents

Publication Publication Date Title
TWI673992B (zh) 纏繞式加密及錯誤校正技術
CN105024994B (zh) 无对运算的安全无证书混合签密方法
CN110383754B (zh) 基于椭圆曲线同源的密钥协商协议
Krovetz et al. The OCB authenticated-encryption algorithm
KR100930577B1 (ko) 스트림 암호를 이용한 메시지 인증 코드 생성 방법과스트림 암호를 이용한 인증 암호화 방법 및 스트림 암호를이용한 인증 복호화 방법
US20130051552A1 (en) Device and method for obtaining a cryptographic key
JP2008203548A (ja) 二次双曲線群を使用する鍵生成方法、復号方法、署名検証方法、鍵ストリーム生成方法および装置。
KR20190039850A (ko) 비트-믹서들로부터 안전한 해시 함수를 구성하는 방법
WO2014136386A1 (ja) タグ生成装置、タグ生成方法およびタグ生成プログラム
KR20110135962A (ko) 암호화 장치, 복호장치, 암호화 방법, 복호방법, 세큐러티 방법, 프로그램 및 기록매체
JP2018502320A (ja) 公開鍵暗号化システム
Saarinen Ring-LWE ciphertext compression and error correction: Tools for lightweight post-quantum cryptography
Gupta et al. A new way to design and implementation of hybrid crypto system for security of the information in public network
JP2019528028A (ja) 幾何代数を用いた高度データ中心型暗号化システムのための方法およびシステム
JP6059347B2 (ja) 復号装置、復号能力提供装置、それらの方法、およびプログラム
Sarkar et al. Role of cryptography in network security
WO2018043049A1 (ja) 暗号システム、暗号方法及び暗号プログラム
Dolmatov et al. Gost r 34.10-2012: Digital signature algorithm
CN109218013A (zh) 掩盖明文符号边界的二进制数据通信加密法
US20230125560A1 (en) Cryptographic Computer Machines with Novel Switching Devices
CN108270565A (zh) 一种数据混合加密方法
Walia Cryptography Algorithms: A Review
Anand et al. Real-time symmetric cryptography using quaternion julia set
US20230134515A1 (en) Authentication encryption device, authentication decryption device, authentication encryption method, authentication decryption method, and storage medium
Shah et al. Efficient Cryptography for data security