TWI396149B - Method and apparatus for stream cryptography with multilayer diffusion - Google Patents

Method and apparatus for stream cryptography with multilayer diffusion Download PDF

Info

Publication number
TWI396149B
TWI396149B TW99112624A TW99112624A TWI396149B TW I396149 B TWI396149 B TW I396149B TW 99112624 A TW99112624 A TW 99112624A TW 99112624 A TW99112624 A TW 99112624A TW I396149 B TWI396149 B TW I396149B
Authority
TW
Taiwan
Prior art keywords
bit
value
diffusion
stream
ciphertext
Prior art date
Application number
TW99112624A
Other languages
Chinese (zh)
Other versions
TW201137811A (en
Inventor
Chiou Haun Lee
Original Assignee
Chiou Haun Lee
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 Chiou Haun Lee filed Critical Chiou Haun Lee
Priority to TW99112624A priority Critical patent/TWI396149B/en
Publication of TW201137811A publication Critical patent/TW201137811A/en
Application granted granted Critical
Publication of TWI396149B publication Critical patent/TWI396149B/en

Links

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)
  • Storage Device Security (AREA)

Description

多層擴散串流加解密方法與裝置Multi-layer diffusion stream encryption and decryption method and device

本發明屬於一種串流加解密方法和裝置。更具體地說,本發明涉及一種擴散機制執行於串流位元加解密,不同於先前技藝的一個特定多項式和移位運作,該擴散機制由一系列可彈性變化的擴散函數組合,以及,該擴散函數內可操控的一擴散介質。The invention belongs to a stream encryption and decryption method and device. More particularly, the present invention relates to a diffusion mechanism that performs on stream bit encryption and decryption, unlike a particular polynomial and shift operation of the prior art, which is combined by a series of elastically variable diffusion functions, and A diffusion medium that can be manipulated within the diffusion function.

申請人現在所申請的專利案是參考先前的發明申請:“多層擴散加解密方法”,申請案號98108364,民國98年3月16日提交,該參考案為重複執行一個位置 的擴散函數A (k 1 ,k 2 ,…,k K )' =AAd 1k Ad 2k ⊕…⊕Ad Kk S ,並經由一個完整的循環週期T ,完成該位置的加解密,其中,T =2U+1U =[log2 u ],而該u 是根據維度的大小決定,u =max(d 1 ,d 2 ,…,d K )。The patent application filed by the applicant is referred to the previous invention application: "Multilayer diffusion encryption and decryption method", application number 98108364, submitted on March 16, 1998, the reference case is a repeated implementation of a positional diffusion function A ( k 1 , k 2 ,..., k K ) ' = AAd 1 k Ad 2 k ⊕...⊕ Ad Kk S , and the encryption and decryption of the position is completed via a complete cycle period T , where T = 2 U+1 , U = [log 2 u ], and u is determined by the size of the dimension, u = max( d 1 , d 2 ,..., d K ).

本發明應用於串流加解密,強調以一複數個擴散函數形成一最大限度的循環週期,其對應的複數個位置 分別為p 1 ,p 2 ,...p k ,符號以A F(p 1 ,p 2 ,...p k )表示,而一個位置的擴散函數則以A F(i 1 ,i 2 ,...i m )表示,再者,它會更細膩的描述為A 執行一擴散函數F(i 1 ,i 2 ,...i m )。The invention is applied to stream encryption and decryption, emphasizing that a plurality of diffusion functions form a maximum cycle period, and the corresponding multiple positions are p 1 , p 2 , ... p k , and the symbols are A F( p 1 , p 2 ,... p k ), and the diffusion function of a position is represented by A F( i 1 , i 2 ,... i m ), and further, it will be described as A more delicately. A diffusion function F( i 1 , i 2 ,... i m ).

本發明應用於一擴散機制,即以一複數個擴散函數嵌入一擴散介質,產生最大的循環週期和非線性的複雜度;並且,在執行過程中運用以簡單設計的串行處理,此外,以節省時間的並行處理,甚至以硬件裝置,取得更快的運算速度。該加解密的步驟如下:(a)選擇一個擴散機制,一擴散區域和一擴散介質;(b)該擴散區域經由一輸入密碼設定一初始值;(c)執行該擴散機制,得到一新的擴散區域值;(d)依序輸入一明文/密文串流位元;(e)輸出一密文/明文串流位元,即該明文/密文串流位元XOR該擴散區域值的某一位元;(f)回至步驟(c),直到加解密完成。The invention is applied to a diffusion mechanism, that is, embedding a diffusion medium with a plurality of diffusion functions to generate a maximum cycle period and a nonlinear complexity; and, in the execution process, a serial process with a simple design is used, and further, Time-saving parallel processing, even with hardware devices, for faster computing speeds. The steps of the encryption and decryption are as follows: (a) selecting a diffusion mechanism, a diffusion region and a diffusion medium; (b) the diffusion region is set to an initial value via an input password; (c) performing the diffusion mechanism to obtain a new one. Diffusion region value; (d) sequentially input a plaintext/ciphertext stream bit; (e) output a ciphertext/plaintext stream bit, that is, the plaintext/ciphertext stream bit XOR of the diffusion region value One bit; (f) return to step (c) until the encryption and decryption is completed.

第一圖顯示本發明的流程示意圖,其包括步驟如下:選擇一擴散區域,一擴散介質,和一擴散機制100 ;經由一輸入密碼初始化該擴散區域200 ;執行該擴散機制,以獲得該擴散區域新值300 ;依序輸入一明文/密文串流位元400 ;輸出一密文/明文串流位元,即該明文/密文串流位元XOR該擴散區域值的某一位元500 ;繼續,直到完成加解密600The first figure shows a schematic flow diagram of the present invention, which includes the steps of: selecting a diffusion region, a diffusion medium, and a diffusion mechanism 100 ; initializing the diffusion region 200 via an input password; and performing the diffusion mechanism to obtain the diffusion region The new value 300 ; sequentially input a plaintext/ciphertext stream bit 400 ; output a ciphertext/plain text stream bit, that is, the plaintext/ciphertext stream bit XOR a bit of the diffusion region value 500 Continue until the encryption and decryption 600 is completed.

此外,第二圖(即第一圖200)顯示經由一輸入密碼初始化該擴散區域的流程示意圖,其包括步驟如下:依序輸入該密碼位元210 ;選取該密碼位元是否控制該擴散介質220 ,如果是的話,執行該擴散機制,並且,以該密碼位元值(0或1)決定該擴散介質的加入或排除,以獲取該擴散區域的初始值240 ,否則,該輸入密碼直接寫至該擴散區域230 ;繼續,直到完成初始化250In addition, the second figure (ie, the first figure 200) shows a flow diagram for initializing the diffusion area via an input password, which includes the following steps: inputting the password bit 210 in sequence; and selecting whether the password bit controls the diffusion medium 220 If yes, the diffusion mechanism is executed, and the addition or exclusion of the diffusion medium is determined by the password bit value (0 or 1) to obtain the initial value 240 of the diffusion region. Otherwise, the input password is directly written to The diffusion region 230 ; continues until initialization 250 is completed.

串行處理:Serial processing:

在第一圖300,獲得一新值,應用於串行處理中,會以重複執行一複數個擴散函數A F(p 1 ,p 2 ,…,p k ),提供了一個較簡單的設計,但較耗費時間的方式。此外,在第二圖的一擴散區域初始化,該密碼位元如為第1數值,則A F(i 1 ,i 2 ,…,i m )=AAd 1 i Ad 2 i ⊕…⊕Ad mi S ,如為第2數值,則A F(i 1 ,i 2 ,…,i m )=AAd 1 i Ad 2 i ⊕…⊕Ad mi 。該加解密流程包括以下步驟:In the first graph 300, a new value is obtained. In the serial processing, a plurality of diffusion functions A F( p 1 , p 2 , . . . , p k ) are repeatedly executed, providing a simpler design, but in a more time-consuming manner. In addition, in a diffusion region of the second figure, if the cryptographic bit is the first value, A F( i 1 , i 2 , . . . , i m )= AAd 1 i Ad 2 i ⊕...⊕ Ad mi S , if it is the second value, then A F( i 1 , i 2 ,..., i m )= AAd 1 i Ad 2 i ⊕...⊕ Ad mi . The encryption and decryption process includes the following steps:

1. 選擇一擴散區域A ,一擴散機制1. Select a diffusion region A , a diffusion mechanism ;

2. 輸入一密碼,獲得A的初始值A 0 ;設定t 2 =1;2. Enter a password to get the initial value A 0 of A ; set t 2 =1;

3. 執行,獲得A 的新值3. Execution Get A new value ;

4. 依序輸入一明文/密文串流位元;4. Enter a plaintext/ciphertext stream bit in sequence;

5. 依序輸出該密文/明文串流位元,其中,等於該明文/密文串流位元XOR該新值的指定位元;5. Output the ciphertext/plaintext stream bit in sequence, where the new value is equal to the plaintext/ciphertext stream bit XOR Specified bit;

6. 回至第3步驟,直到加解密完成。6. Go back to step 3 until the encryption and decryption is complete.

符號與定義:Symbols and definitions:

A :一擴散區域,該A 包含一初始值A 0 ,並且,為一d 1 ×d 2 ×…×d m m 維度位元矩陣,其位置標示由1至n ,其位元值由a 1a n ,該位置標示舉例如下:A : a diffusion region, the A contains an initial value A 0 , and is an m- dimensional bit matrix of d 1 × d 2 ×...× d m whose position is indicated by 1 to n , and its bit value is a 1 to a n , the location indications are as follows:

(a)m =1,一維度A (a) m =1, one dimension A

(b)m =2,二維度A (b) m = 2, two-dimensional A

S :一擴散介質,該S 為一m 維度位元矩陣,包含一錨點S : a diffusion medium, the S is an m- dimensional bit matrix containing an anchor point .

A F(p ):該A 執行一擴散函數F(p ),其中,該位置p 轉換成m 維度座標(i 1 ,i 2 ,…,i m ),並且,A F(i 1 ,i 2 ,…,i m )=AAd 1 i Ad 2 i ⊕…⊕Ad mi S ;參閱申請案號98108364,多層單點擴散A F( p ): This A performs a spread function F( p ), where the position p is converted into m- dimensional coordinates ( i 1 , i 2 , . . . , i m ), and A F( i 1 , i 2 ,..., i m )= AAd 1 i Ad 2 i ⊕...⊕ Ad mi S ; see application number 98108364, multi-layer single point spread .

A F(p 1 ,p 2 ,…,p k ):該A 執行一複數個擴散函數F(p 1 ,p 2 ,…,p k ),其指定的位置分別依序為p 1 ,p 2 ,…,p k A F( p 1 , p 2 ,..., p k ): This A performs a complex number of diffusion functions F( p 1 , p 2 ,..., p k ) whose specified positions are respectively p 1 , p 2 ,..., p k .

:該A 執行一擴散機制,即的縮寫,表示重複執行t 1 次的F(p 1 ,p 2 ,…,p k )。 : The A performs a diffusion mechanism , which is Abbreviation, which means that F( p 1 , p 2 ,..., p k ) is repeatedly executed t 1 times.

為求簡單地瞭解重複執行一擴散機制的擴散區域新值,底下的所有實施例,設定其初始值AIn order to simply understand the new values of the diffusion region that repeatedly perform a diffusion mechanism, all the examples below are set to their initial values A. 00 =0,明文位元=0,擴散介質S=1且置於錨點。=0, plaintext bit=0, diffusion medium S=1 and placed at the anchor point.

較佳實施例I: 一1 x 16擴散區域A ,一擴散機制F1 Preferred Embodiment I: a 1 x 16 diffusion region A , a diffusion mechanism F 1

假設F1 =F(13,14,15,16,1,…,13),在加密的第一時間t 2 =1,該A 的新值A 1×1 =A 0 F1 ,推導過程包含每一位置依序的擴散函數運算,並在這裡及往後的連續位置的符號表示以No.p:No.q代替,就像13:15代表為13,14,15,再者,13:1表示為13,14,15,16,1,諸如此類等等,步驟如下(S =1,這裡及往後以黑體字標示):Suppose F 1 = F (13,14,15,16,1, ... , 13), the first time the encrypted t 2 = 1, the new value of A is A 1 × 1 = A 0 F 1 , derivation process comprising The permutation function operation of each position is sequential, and the symbolic representations of the continuous positions here and here are replaced by No.p:No.q, just like 13:15 represents 13,14,15, and further, 13: 1 is represented as 13, 14, 15, 16, 1, etc., and the steps are as follows ( S =1, here and in the following are indicated in bold):

A 0 F(p )=A 0A 0 y p S ;A 0 F(13)=[0000000000000000]⊕[0000000000000000]⊕[0000000000001 000];A 0 F(13:14)=[0000000000001000]⊕[0000000000010000]⊕[00000000000001 00];A 0 F(13:15)=[0000000000011100]⊕[0000000000111000]⊕[000000000000001 0];A 0 F(13:16)=[0000000000100110]⊕[0000000001001100]⊕[0000000000000001 ];A 0 F(13:1)=[0000000001101011]⊕[0000000000110101]⊕[1 000000000000000];A 0 F(13:2)=[1000000001011110]⊕[0000000000101111]⊕[01 00000000000000];A 0 F(13:3)=[1100000001110001]⊕[1000000000111000]⊕[001 0000000000000];A 0 F(13:4)=[0110000001001001]⊕[1100000000100100]⊕[0001 000000000000];A 0 F(13:5)=[1011000001101101]⊕[0110000000110110]⊕[00001 00000000000];A 0 F(13:6)=[1101100001011011]⊕[1011000000101101]⊕[000001 0000000000];A 0 F(13:7)=[0110110001110110]⊕[1101100000111011]⊕[0000001 000000000];A 0 F(13:8)=[1011011001001101]⊕[0110110000100110]⊕[00000001 00000000];A 0 F(13:9)=[1101101101101011]⊕[1011011000110101]⊕[000000001 0000000];A 0 F(13:10)=[0110110111011110]⊕[1101101110101111]⊕[0000000001 000000];A 0 F(13:11)=[1011011000110001]⊕[0110110001011000]⊕[00000000001 00000];A 0 F(13:12)=[1101101001001001]⊕[1011010010000100]⊕[000000000001 0000];A 0 F(13:13)=[0110111011011101]⊕[1101110110110110]⊕[0000000000001 000]. A 0 F( p )= A 0A 0 y p S ; A 0 F(13)=[0000000000000000]⊕[0000000000000000]⊕[000000000000 1 000]; A 0 F(13:14)=[0000000000001000] ⊕[0000000000010000]⊕[0000000000000 1 00]; A 0 F(13:15)=[0000000000011100]⊕[0000000000111000]⊕[00000000000000 1 0]; A 0 F(13:16)=[0000000000100110]⊕[0000000001001100] ⊕[000000000000000 1 ]; A 0 F(13:1)=[0000000001101011]⊕[0000000000110101]⊕[ 1 000000000000000]; A 0 F(13:2)=[1000000001011110]⊕[0000000000101111]⊕[0 1 00000000000000] A 0 F(13:3)=[1100000001110001]⊕[1000000000111000]⊕[00 1 0000000000000]; A 0 F(13:4)=[0110000001001001]⊕[1100000000100100]⊕[000 1 000000000000]; A 0 F (13:5)=[1011000001101101]⊕[0110000000110110]⊕[0000 1 00000000000]; A 0 F(13:6)=[1101100001011011]⊕[1011000000101101]⊕[00000 1 0000000000]; A 0 F(13:7 )=[0110110001110110]⊕[1101100000111011]⊕[000000 1 000000000]; A 0 F(13:8)=[1011011001001101]⊕[0110110000100110]⊕[0000000 1 00000000]; A 0 F(13:9)=[1101101101101011 ]⊕[1011011000110101] ⊕[00000000 1 0000000]; A 0 F(13:10)=[0110110111011110]⊕[1101101110101111]⊕[000000000 1 000000]; A 0 F(13:11)=[1011011000110001]⊕[0110110001011000]⊕[0000000000 1 00000]; A 0 F(13:12)=[1101101001001001]⊕[1011010010000100]⊕[00000000000 1 0000]; A 0 F(13:13)=[0110111011011101]⊕[1101110110110110]⊕[000000000000 1 000].

經由A 0 F(13:13)後,因此,該A 的新值A 1×1 =[1011001101100011]此後,假設取A 的一位元a 16 與一明文位元XOR,即可得到加密位元的輸出。接下來t 2 =2,該A 的新值A 1×2 =A 1 x 1 F1 ,在推導中A 1×1 直接以A 1 代替,步驟如下:After A 0 F (13:13) via, therefore, the new value of the A, A 1 × 1 = [1011001101100011] Thereafter, assuming A is taken with a one yuan a 16 bit plaintext the XOR, encryption bit to obtain Output. Next, t 2 = 2, the new value of A is A 1 × 2 = A 1 x 1 F 1, in the derivation, A 1 × 1 directly in place of A 1, the following steps:

A 1 F(p )=A 1 ⊕ A1 y p S ;A 1 F(13)=[1011001101100011]⊕[0110011011000001]⊕[0000000000001 000];A 1 F(13:14)=[1101010110101010]⊕[1010101101010001]⊕[00000000000001 00];A 1 F(13:15)=[0111111011111111]⊕[1111110111111101]⊕[000000000000001 0];A 1 F(13:16)=[1000001100000000]⊕[0000011000000000]⊕[0000000000000001 ];A 1 F(13:1)=[1000010100000001]⊕[0100001010000000]⊕[1 000000000000000];A 1 F(13:2)=[0100011110000001]⊕[1010001111000000]⊕[01 00000000000000];A 1 F(13:3)=[1010010001000001]⊕[0101001000100000]⊕[001 0000000000000];A 1 F(13:4)=[1101011001100001]⊕[1010101100110000]⊕[0001 000000000000];A 1 F(13:5)=[0110110101010001]⊕[1101011010101000]⊕[00001 00000000000];A 1 F(13:6)=[1011001111111001]⊕[0110000111111100]⊕[000001 0000000000];A 1 F(13:7)=[1101011000000101]⊕[1010110100000010]⊕[0000001 000000000];A 1 F(13:8)=[0111100100000111]⊕[1111001010000011]⊕[00000001 00000000];A 1 F(13:9)=[1000101010000100]⊕[0001010101000010]⊕[000000001 0000000];A 1 F(13:10)=[1001111101000110]⊕[0011111010100011]⊕[0000000001 000000];A 1 F(13:11)=[1010000110100101]⊕[0100001101010010]⊕[00000000001 00000];A 1 F(13:12)=[1110001011010111]⊕[1100010110101011]⊕[000000000001 0000];A 1 F(13:13)=[0010011101101100]⊕[0100111011010110]⊕[0000000000001 000]. A 1 F( p )= A 1 ⊕ A 1 y p S ; A 1 F(13)=[1011001101100011]⊕[0110011011000001]⊕[000000000000 1 000]; A 1 F(13:14)=[1101010110101010] ⊕[1010101101010001]⊕[0000000000000 1 00]; A 1 F(13:15)=[0111111011111111]⊕[1111110111111101]⊕[00000000000000 1 0]; A 1 F(13:16)=[1000001100000000]⊕[0000011000000000] ⊕[000000000000000 1 ]; A 1 F(13:1)=[1000010100000001]⊕[0100001010000000]⊕[ 1 000000000000000]; A 1 F(13:2)=[0100011110000001]⊕[1010001111000000]⊕[0 1 00000000000000] ; A 1 F(13:3)=[1010010001000001]⊕[0101001000100000]⊕[00 1 0000000000000]; A 1 F(13:4)=[1101011001100001]⊕[1010101100110000]⊕[000 1 000000000000]; A 1 F (13:5)=[0110110101010001]⊕[1101011010101000]⊕[0000 1 00000000000]; A 1 F(13:6)=[1011001111111001]⊕[0110000111111100]⊕[00000 1 0000000000]; A 1 F(13:7 )=[1101011000000101]⊕[1010110100000010]⊕[000000 1 000000000]; A 1 F(13:8)=[0111100100000111]⊕[1111001010000011]⊕[0000000 1 00000000]; A 1 F(13:9)=[1000101010000100 ]⊕[0001010101000010] ⊕ [00000000 1 0000000]; A 1 F (13:10) = [1001111101000110] ⊕ [0011111010100011] ⊕ [000000000 1 000000]; A 1 F (13:11) = [1010000110100101] ⊕ [0100001101010010] ⊕ [0000000000 1 00000]; A 1 F(13:12)=[1110001011010111]⊕[1100010110101011]⊕[00000000000 1 0000]; A 1 F(13:13)=[0010011101101100]⊕[0100111011010110]⊕[000000000000 1 000].

A 的第二個新值A 1×2 =[0110100110110010];那麼,另一個加密位元的輸出也隨之產生。由於該F1 的循環週期,意謂,是216 -1次,因此,在一循環週期內,連續運算該擴散機制,加密的數據產生隨機分佈,藉以避免駭客的加密分析,以下顯示64個加密位元的輸出,分成四部分: A second new value of the A 1 × 2 = [0110100110110010] ; then, outputs the encrypted bits also other attendant. Due to the cycle of the F 1 , meaning , is 2 16 -1 times, therefore, in a cycle, the diffusion mechanism is continuously operated, and the encrypted data is randomly distributed to avoid the hacker's encryption analysis. The following shows the output of 64 encrypted bits, divided into four parts. :

1011011100111011(t 2 =1到16),0000100100010111(t 2 =17到32),0100000011010100(t 2 =33到48),1011011111111110(t 2 =49到64).1011011100111011 ( t 2 =1 to 16), 0000100100010111 ( t 2 = 17 to 32), 0100000011010100 ( t 2 = 33 to 48), 1011011111111110 ( t 2 = 49 to 64).

較佳實施例II: 一1 x 16擴散區域A ,一擴散機制F2 Preferred Embodiment II: a 1 x 16 diffusion region A , a diffusion mechanism F 2

假設,該擴散機制等於實施例I的F1 執行兩次,也就是說,該加密位元的輸出會等於實施例I的間隔輸出;在加密的第一時間t 2 =1,該A 的新值A 2×1 =A 0 F2 ,其推導過程等於實施例I的A 1×1A 1×2 。接下來t 2 =2,該A 的新值A 2×2 =A 2 x 1 F2 ,在推導中A 2×1 可直接以A 2 代替,進而求出A 3 ,最後導出A 4 亦即新值A 2×2 ,為讓技藝人士得到更多的理解,列出A 4 的步驟如下(A 3 =[1000010001101011]):Hypothesis The diffusion mechanism is equal to F 1 of Example I embodiment is performed twice, i.e., the encrypted output bit will be output at intervals equal to the Example I embodiment; encrypted at a first time t 2 = 1, the new value of A A 2 × 1 = A 0 F 2 , and the derivation process is equal to A 1 × 1 and A 1 × 2 of the embodiment 1 . Next, t 2 = 2, the new value of A is A 2 × 2 = A 2 x 1 F 2, in the derivation, A 2 × 1 A 2 can be directly replaced, and then find the A 3, A 4 and finally deriving i.e. The new value A 2 × 2 , in order to let the skilled people get more understanding, the steps to list A 4 are as follows ( A 3 = [1000010001101011]):

A 3 F(p )=A 3A 3 y p S ;A 3 F(13)=[1000010001101011]⊕[0000100011010101]⊕[0000000000001 000];A 3 F(13:14)=[1000110010110110]⊕[0001100101101011]⊕[00000000000001 00];A 3 F(13:15)=[1001010111011001]⊕[0010101110110000]⊕[000000000000001 0];A 3 F(13:16)=[1011111001101011]⊕[0111110011010110]⊕[0000000000000001 ];A 3 F(13:1)=[1100001010111100]⊕[0110000101011110]⊕[1 000000000000000];A 3 F(13:2)=[0010001111100010]⊕[0001000111110001]⊕[01 00000000000000];A 3 F(13:3)=[0111001000010011]⊕[1101100100001001]⊕[001 0000000000000];A 3 F(13:4)=[1000101100011010]⊕[0000010110001101]⊕[0001 000000000000];A 3 F(13:5)=[1001111010010111]⊕[0011011101001011]⊕[00001 00000000000];A 3 F(13:6)=[1010000111011100]⊕[0100000011101110]⊕[000001 0000000000];A 3 F(13:7)=[1110010100110010]⊕[1100100010011001]⊕[0000001 000000000];A 3 F(13:8)=[0010111110101011]⊕[0101111011010101]⊕[00000001 00000000];A 3 F(13:9)=[0111000001111110]⊕[1110000000111111]⊕[000000001 0000000];A 3 F(13:10)=[1001000011000001]⊕[0010000110100000]⊕[0000000001 000000];A 3 F(13:11)=[1011000100100001]⊕[0110001001010000]⊕[00000000001 00000];A 3 F(13:12)=[1101001101010001]⊕[1010011010101000]⊕[000000000001 0000];A 3 F(13:13)=[0111010111101001]⊕[1110101111010100]⊕[0000000000001 000]. A 3 F( p )= A 3A 3 y p S ; A 3 F(13)=[1000010001101011]⊕[0000100011010101]⊕[000000000000 1 000]; A 3 F(13:14)=[1000110010110110] ⊕[0001100101101011]⊕[0000000000000 1 00]; A 3 F(13:15)=[1001010111011001]⊕[0010101110110000]⊕[00000000000000 1 0]; A 3 F(13:16)=[1011111001101011]⊕[0111110011010110] ⊕[000000000000000 1 ]; A 3 F(13:1)=[1100001010111100]⊕[0110000101011110]⊕[ 1 000000000000000]; A 3 F(13:2)=[0010001111100010]⊕[0001000111110001]⊕[0 1 00000000000000] ; A 3 F(13:3)=[0111001000010011]⊕[1101100100001001]⊕[00 1 0000000000000]; A 3 F(13:4)=[1000101100011010]⊕[0000010110001101]⊕[000 1 000000000000]; A 3 F (13:5)=[1001111010010111]⊕[0011011101001011]⊕[0000 1 00000000000]; A 3 F(13:6)=[1010000111011100]⊕[0100000011101110]⊕[00000 1 0000000000]; A 3 F(13:7 )=[1110010100110010]⊕[1100100010011001]⊕[000000 1 000000000]; A 3 F(13:8)=[0010111110101011]⊕[0101111011010101]⊕[0000000 1 00000000]; A 3 F(13:9)=[0111000001111110 ]⊕[1110000000111111] ⊕[00000000 1 0000000]; A 3 F(13:10)=[1001000011000001]⊕[0010000110100000]⊕[000000000 1 000000]; A 3 F(13:11)=[1011000100100001]⊕[0110001001010000]⊕[0000000000 1 00000]; A 3 F(13:12)=[1101001101010001]⊕[1010011010101000]⊕[00000000000 1 0000]; A 3 F(13:13)=[0111010111101001]⊕[1110101111010100]⊕[000000000000 1 000].

A 的新值A 2×2 =[1001111000110101],由於F2 其取用的次數為2,該數為一質數,因此,該F2 的循環週期也是216 -1次,再者,為對照實施例I的結果,也假設取A 的一位元a 16 與一明文位元加密,以下顯示64個加密位元的輸出,分成四部分: A new value of the A 2 × 2 = [1001111000110101], because of its access number 2 F 2, the number is a prime number, and therefore, the cycle F 2 216-1 is twice Furthermore, in order results control Example I embodiment, a is also assumed to take one yuan a plaintext and a 16-bit encryption, the display 64 outputs the encrypted bits, divided into four parts:

0111010100010111(t 2 =1到16),1000111001111110(t 2 =17到32),1000010100011110(t 2 =33到48),1101011100000100(t 2 =49到64).0111010100010111 ( t 2 =1 to 16), 1000111001111110 ( t 2 = 17 to 32), 1000010100011110 ( t 2 = 33 to 48), 1101011100000100 ( t 2 = 49 to 64).

較佳實施例III: 一4 x 4擴散區域A ,一擴散機制F1 Preferred Embodiment III: a 4 x 4 diffusion region A , a diffusion mechanism F 1

假設F1 =F(8:8),在加密的第一時間t 2 =1,該A 的新值A 1×1 =A 0 F1 ;由於該A 的區域為一個二維度矩陣,因此,一擴散函數F(p )的該位置p 須轉換成二維度座標(i ,j ),推導過程如下(Ax (0),Ay (0),這裡及往後也以黑體字標示):Suppose F 1 = F (8: 8 ), t 2 = 1 the first time the encrypted new value A of the A 1 × 1 = A 0 F 1 ; since the region A is a two dimensional matrix, and therefore, The position p of a diffusion function F( p ) shall be converted into a two-dimensional coordinate ( i , j ), and the derivation process is as follows ( Ax (0), Ay (0), here and in the following, also in bold):

A 的新值A 1×1 =[1010001000100100],由於該F1 其在二維度區域運作,為對照實施例I與II的結果,也假設取A 的一位元a 16 與一明文位元加密,以下顯示64個加密位元的輸出,分成四部分: A new value of the A 1 × 1 = [1010001000100100], in which F 1 due to the two dimensions of the operating area, for example, I and II as the control result embodiment, A is also assumed to take one yuan a plaintext and a 16 bits Encryption, the following shows the output of 64 encrypted bits, divided into four parts:

0111000100100111(t 2 =1到16),0000001100001011(t 2 =17到32),1110101001111110(t 2 =33到48),0011000001101100(t 2 =49到64).0111000100100111 ( t 2 =1 to 16), 0000001100001011 ( t 2 = 17 to 32), 1110101001111110 ( t 2 = 33 to 48), 0011000001101100 ( t 2 = 49 to 64).

並行處理:Parallel processing:

在第一圖300,獲得一新值,應用於並行處理中,會將上述的串行處理轉換成,換言之,轉換成一擴散表格與一介質常數的運算,其提供了一個較複雜的設計,但較快速運算的方式。此外,在第二圖的一擴散區域初始化,該密碼位元如為第1數值,則,如為第2數值,則。該加解密流程包括以下步驟:In the first graph 300, a new value is obtained. , applied to parallel processing, will convert the above serial processing into In other words, convert to a diffusion table With a dielectric constant The operation, which provides a more complex design, but a faster way of computing. In addition, in a diffusion region of the second figure, if the password bit is the first value, then If it is the second value, then . The encryption and decryption process includes the following steps:

1. 選擇一擴散區域A ,產生一擴散表格1. Select a diffusion region A to generate a diffusion table ;

2. 選擇一介質區域B ,產生一介質常數2. Select a dielectric area B to generate a dielectric constant ;

3. 輸入一密碼,獲得A 的初始值A 0 ;設定t 2 =1;3. Enter a password, to obtain an initial value A 0 A; set t 2 = 1;

4. 執行,獲得A 的新值4. Execution Get A new value ;

5. 依序輸入一明文/密文串流位元;5. Enter a plaintext/ciphertext stream bit in sequence;

6. 依序輸出該密文/明文串流位元,其中,等於該明文/密文串流位元XOR該新值的指定位元;6. Output the ciphertext/plaintext stream bit in sequence, where the new value is equal to the plaintext/ciphertext stream bit XOR Specified bit;

7. 回至第4步驟,直到加解密完成。7. Go back to step 4 until the encryption and decryption is complete.

符號與定義:Symbols and definitions:

A :一擴散區域,該A 包含一初始值A 0 ,並且,為一d 1 ×d 2 ×…×d m m 維度位元矩陣,其位置標示由1至n ,其位元值由a 1a n A : a diffusion region, the A contains an initial value A 0 , and is an m- dimensional bit matrix of d 1 × d 2 ×...× d m whose position is indicated by 1 to n , and its bit value is a 1 to a n .

S :一擴散介質,該S 為一m 維度位元矩陣,包含一錨點S : a diffusion medium, the S is an m- dimensional bit matrix containing an anchor point .

B :一介質區域,該B 為一d 1 ×d 2 ×…×d m m 維度零矩陣,其位置標示由1至nB : a medium region, where B is an m- dimensional zero matrix of d 1 × d 2 ×...× d m , the position of which is indicated by 1 to n .

:一介質常數,其中,該B執行1次一擴散機制,即的縮寫,表示重複執行t 1 次的F(p 1 ,p 2 ,…,p k )。 : a dielectric constant, wherein the B performs a diffusion mechanism once , which is Abbreviation, which means that F( p 1 , p 2 ,..., p k ) is repeatedly executed t 1 times.

:該A 執行一表格,其中,,該運算執行1次,其包括: : The A executes a form ,among them, , the operation is performed once, which includes:

F 為一零矩陣,其具一d 1 ×d 2 ×…×d m ,並外加一維度其大小為d 1 ×d 2 ×…×d m ,代表層數;而且,數值1放置於第i 層的第i 個位置,舉例如下:F is a zero matrix with a d 1 × d 2 ×...× d m and a dimension of d 1 × d 2 ×...× d m representing the number of layers; and the value 1 is placed in the first i-th position of the i-layer, for example as follows:

在執行運算時,一1x4的A 採用一4x4的F ,一2x2的A 採用一2x2x4的F ,而一4x4的A 則採用一4x4x16的F ,諸如此類等等。When performing an operation, a 1x4 A uses a 4x4 F , a 2x2 A uses a 2x2x4 F , and a 4x4 A uses a 4x4x16 F , and the like.

F F(p 1 ,p 2 ,…,p k ):F 執行複數個擴散函數F(p 1 ,p 2 ,…,p k ),其指定的m 維度位置分別依序為p 1 ,p 2 ,…,p k ;更詳細地說,如一維度的A (1x4)採用二維度的F (4x4),其指定為一維度的p ,即F F(p )=FFy p ,以F F(1:4)為例,說明如下(Fy (0),這裡及往後以黑體字標示):F F( p 1 , p 2 ,..., p k ): F performs a plurality of diffusion functions F( p 1 , p 2 ,..., p k ) whose specified m- dimensional positions are respectively p 1 , p 2 ,..., p k ; In more detail, A (1x4) of a dimension uses a two-dimensional F (4x4), which is specified as a dimension of p , ie F F( p )= FFy p , to F F(1:4) is taken as an example, as follows ( Fy (0), here and after it is marked in bold):

其次,說明AF 1 ,假設該擴散表格F 1 =F F(1:4),那麼,根據上述的推導,則新值a 1 =a 1a 2a 3 ,其參考各層第1個位置有數值1的層數,而第i 層表示原值a i ;因此,參考各層第2個位置,得出新值a 2 =a 1a 2 ,再來,a 3 =a 2a 4 ,最後,a 4 =a 1a 2a 3a 4Next, AF 1 is explained, assuming that the diffusion table F 1 = F F(1:4), then, according to the above derivation, the new value a 1 = a 1a 2a 3 , which refers to the first position of each layer There is a number of layers of the number 1, and the ith layer represents the original value a i ; therefore, referring to the second position of each layer, the new value a 2 = a 1a 2 is obtained , and then a 3 = a 2a 4 Finally, a 4 = a 1a 2a 3a 4 .

進一步地,如二維度的A (2x2)採用三維度的F (2x2x4),其指定為二維度的p ,即F F(p )=FFx i Fy j ,再以F F(1:4)為例,說明如下(Fx (0),這裡及往後也以黑體字標示):Further, A (2x2) such as two-dimensionality adopts three-dimensional F (2x2x4), which is specified as two-dimensional p , that is, F F( p )= FFx i Fy j , and then F F(1: 4) As an example, the description is as follows ( Fx (0), here and in the following is also indicated in bold):

再應用於AF 1 ,由於,且第1層(1st)到第4層(4th)代表原值a 1a 4 ,因此,藉由各層第1個位置,得到新值a 1 =a 2a 3a 4 ;各層第2個位置,得到新值a 2 =a 1a 2a 4 ;再由各層第3個位置,得到新值a 3 =a 1a 3a 4 ;最後,各層第4個位置,得到新值a 4 =a 1a 2a 3Reapply to AF 1 because , And the layer of the first (1st) to the fourth layer represents (4th) original value a 1 to a 4, therefore, the first position by the respective layers, to give a new value a 1 = a 2 ⊕ a 3 ⊕ a 4; layers In the second position, a new value a 2 = a 1a 2a 4 is obtained ; and from the third position of each layer, a new value a 3 = a 1a 3a 4 is obtained ; finally, the fourth position of each layer , get the new value a 4 = a 1a 2a 3 .

佳實施例IV: 並行處理的擴散機制Diffusion mechanism of parallel processing: IV than Example Best embodiment

以實施例I 而言,,F1 =F(13:13),轉換成並行處理的,其中,先產生一介質常數B F1 與一擴散表格F 1 ;該B F1 =B F(13:13)=[1011001101100011],該推導過程就如同實施例I的A 1 產出,而該F 1 =F F(13:13)的求得,其中,F F(p )=FFy p ,可參閱二維度F F(1:4)的整個推導過程,並套用於現在的F ,換言之,如同在一16x16的二維度單位矩陣執行一維度的擴散函數,而指定的位置依序從13到16,然後,再從1到13;每一個位置的擴散函數運算簡略顯示於表一,而最後結果的所有位元顯示於表二,再從表二找到各新值a i 與原值a i 的關係式列於表三。 In the case of embodiment I , , F 1 =F(13:13), converted to parallel processing Wherein, a dielectric constant B F 1 is first generated and a diffusion table F 1 ; the B F 1 = B F(13:13)=[1011001101100011], and the derivation process is produced as the A 1 of the embodiment I, The finding of F 1 = F F(13:13), where F F( p )= FFy p , can be referred to the entire derivation process of the two-dimensional F F(1:4) and applied to the current F In other words, as in a 16x16 two-dimensional unit matrix, a one-dimensional diffusion function is performed, and the specified position is from 13 to 16, and then from 1 to 13. The diffusion function operation at each position is shown in Table 1. And all the bits of the final result are shown in Table 2, and the relationship between the new value a i and the original value a i found in Table 2 is listed in Table 3.

根據表三,該產生的新值依序如下:當t 2 =1,A 1×1 =A 0 F 1B F1 =[0000000000000000]⊕[1011001101100011];其結果如同實施例I的A 1According to Table 3, the new values generated are as follows: when t 2 =1, A 1×1 = A 0 F 1B F 1 = [0000000000000000] ⊕ [1011001101100011]; the result is the same as A 1 of the embodiment I .

t 2 =2,A 1×2 =A 1×1 F 1B F1 =[1101101011010001]⊕[1011001101100011]=[0110100110110010];其結果如同實施例I的A 2 ,計算如下:由於;該新值a 1 =a 1a 7a 9a 11 =1⊕1⊕0⊕1=1;a 2 =a 1a 2a 5a 8a 10a 12 =1⊕0⊕0⊕1⊕1⊕0=1;…;a 16 =a 3a 4a 13a 15 =1⊕1⊕0⊕1=1。同理可得,當t 2 =3,A 1×3 =A 1×2 F 1B F1 =[0011011100001000]⊕[1011001101100011]=[1000010001101011];其結果如同實施例II的A 3When t 2 = 2, A 1 × 2 = A 1 × 1 F 1B F 1 = [1101101011010001] ⊕ [1011001101100011] = [0110100110110010]; the result is the same as A 2 of the embodiment I, as follows: The new value a 1 = a 1a 7a 9a 11 = 1101 = 1; a 2 = a 1a 2a 5a 8a 10a 12 = 1⊕0⊕0⊕1⊕1⊕0=1;...; a 16 = a 3a 4a 13a 15 =1⊕1⊕0⊕1=1. The same is true, when t 2 = 3, , A 1 × 3 = A 1 × 2 F 1B F 1 = [0011011100001000] ⊕ [1011001101100011] = [1000010001101011]; the result is similar to A 3 of the embodiment II.

t 2 =4, A 1×4 =A 1×3 F 1B F1 =[0010110101010110]⊕[1011001101100011]=[1001111000110101];其結果如同實施例II的A 4When t 2 = 4, A 1 × 4 = A 1 × 3 F 1B F 1 = [0010110101010110] ⊕ [1011001101100011] = [1001111000110101]; the result is as A 4 of the embodiment II.

實施例II 而言,,轉換成並行處理的,其中,B F2 =[B F(13:13)]F(13:13),該推導過程就如同實施例I的A 2 產出,該值等於[0110100110110010];再者,,其等於表二的F F(13:13)執行複數個擴散函數F(13:13),該執行方式如同表一,該擴散表格F 2 顯示於表四。In the case of embodiment II , , , converted to parallel processing Where B F 2 =[ B F(13:13)]F(13:13), the derivation process is as produced by A 2 of Example I, which is equal to [0110100110110010]; It is equal to F F (13:13) of Table 2 to execute a plurality of diffusion functions F(13:13), which is performed as shown in Table 1, and the diffusion table F 2 is shown in Table 4.

t 2 =1,A 2×1 =A 0 F 2B F2 =[0000000000000000]⊕[0110100110110010];其結果如同實施例I的A 2When t 2 =1, A 2 × 1 = A 0 F 2B F 2 = [0000000000000000] ⊕ [0110100110110010]; the result is as A 2 of the embodiment I.

t 2 =2,A 2×2 =A 2×1 F 2B F2 =[1111011110000111]⊕[0110100110110010]=[1001111000110101];其結果如同實施例I的A 4 ,計算如下:由於;該新值a 1 =a 1a 3a 5a 7a 9a 13 =0⊕1⊕1⊕0⊕1⊕0=1;a 2 =a 1a 2a 4a 6a 7a 8a 9a 11a 11a 13a 14a 15 =0⊕1⊕0⊕0⊕0⊕1⊕1⊕0⊕1⊕0⊕0⊕1=1;…;a 16 =a 2a 5a 6a 8a 9a 10a 11a 12a 13a 15a 16 =1⊕1⊕0⊕1⊕1⊕0⊕1⊕1⊕0⊕1⊕0=1。When t 2 = 2, A 2 × 2 = A 2 × 1 F 2B F 2 = [1111011110000111] ⊕ [0110100110110010] = [1001111000110101]; the result is the same as A 4 of the embodiment I, as follows: The new value a 1 = a 1a 3a 5a 7a 9a 13 =0⊕1⊕1⊕0⊕1⊕0=1; a 2 = a 1a 2a 4a 6a 7a 8a 9a 11a 11a 13a 14a 15 =0⊕1⊕0⊕0⊕0⊕1⊕1⊕0⊕1⊕0⊕0⊕ 1=1;...; a 16 = a 2a 5a 6a 8a 9a 10a 11a 12a 13a 15a 16 =1⊕1⊕0⊕1⊕ 1⊕0⊕1⊕1⊕0⊕1⊕0=1.

實施例Ⅲ 而言,,F1 =F(8:8),轉換成並行處理的,其中,B F1 =B F(8:8)=[1010001000100100],該推導過程就如同實施例III的A 1 產出,而該F 1 =F F(8:8)的求得,其中,由於A 是一4x4矩陣,因此,F 為一4x4x16零矩陣,且數值1放置於第i 層的第i 個位置,而該擴散函數採用二維度運算F (p )=FFx i Fy j ,可參閱三維度F F(1:4)的整個推導過程,並套用於現在的F ,其新值a i 的關係式顯示於表五。In the case of embodiment III , , F 1 =F(8:8), converted to parallel processing Where B F 1 = B F(8:8) = [1010001000100100], the derivation process is as produced by A 1 of Example III, and the F 1 = F F (8:8) is obtained, wherein Since A is a 4x4 matrix, F is a 4x4x16 zero matrix, and the value 1 is placed at the i -th position of the i - th layer, and the diffusion function uses a two-dimensional operation F ( p )= FFx i Fy j , can refer to the entire derivation process of the three-dimensional F F (1:4), and apply to the current F , the relationship of the new value a i is shown in Table 5.

硬件裝置:Hardware device:

在第一圖300,獲得一新值,應用於硬件裝置中,會將上述的並行處理轉換成電子電路,如同第三圖所示,其包含:一暫存器R1,提供儲存一輸入值 310 ;一擴散器DF,提供接收R1的值,並經由一擴散表格重組,產生與傳送一輸出值 320 ;一記憶體M1,提供儲入一介質常數 330 ;一XOR單 元,提供接收接收DF的值與M1的值,執行位元XOR運算並傳送一輸出值 340 ;一暫存器R2,提供接收XOR單元的值,經過緩衝,再回傳至R1350In the first graph 300, a new value is obtained. , applied to the hardware device, will be the above parallel processing Converted into an electronic circuit, as shown in the third figure, comprising: a register R1 providing storage of an input value 310 ; a diffuser DF, providing receiving R1 Value through a diffusion table Reorganization Generate and transmit an output value 320 ; a memory M1, providing a storage medium constant 330 ; an XOR unit providing reception and reception DF Value with M1 Value, perform bit XOR operation and pass an output value 340 ; a register R2, providing a receiving XOR unit The value is buffered and then passed back to R1 350 .

此外,第二圖顯示經由一輸入密碼初始化該擴散區域,當輸入位元為第1數值時,執行,即第三圖的裝置;如果為第2數值時,則執行,如同第四圖所示,可視為第一圖300的另一裝置,其包含:一暫存器R1,提供儲存一輸入值 310 ;一擴散器DF,提供接收R1的值,並經由一擴散表格重組,產生與傳送一輸出值 320 ;一暫存器R2,提供接收DF的值,經過緩衝,再回傳至R1350In addition, the second figure shows that the diffusion area is initialized via an input password, and when the input bit is the first value, execution is performed. , that is, the device of the third figure; if it is the second value, it is executed As shown in the fourth figure, another device that can be regarded as the first figure 300 includes: a register R1 that provides storage of an input value. 310 ; a diffuser DF, providing receiving R1 Value through a diffusion table Reorganization Generate and transmit an output value 320 ; a register R2, providing receiving DF The value is buffered and then passed back to R1 350 .

第五圖顯示執行串流加解密的整個裝置,其包含:一主元件,即第三圖與第四圖,提供執行第一圖300的擴散機制300 ;一開關SW,提供提供執行第一圖200的初始化,其中,該接收的密碼位元為第1數值,則R2接收的值來自DF,如為第2數值,則來自該XOR單元200 ;一多工器MUX,提供接收R2的值,並指定與傳送一位元360 ;一暫存器R3,輸入端標示為IN,提供提供執行第一圖400,依序儲存一明文/密文串流位元,並且,依序傳送一位元400 ;一XOR閘,輸出端標示為OUT,提供提供執行第一圖500,接收MUX的輸出位元與R3的輸出位元,執行XOR運算並傳送一輸出位元500The fifth figure shows the entire apparatus for performing stream encryption and decryption, comprising: a main component, namely a third diagram and a fourth diagram, providing a diffusion mechanism 300 for performing the first diagram 300 ; a switch SW providing provision for performing the first diagram Initialization of 200, wherein the received cryptographic bit is the first value, then R2 receives The value comes from DF, if it is the second value, it comes from the XOR unit 200 ; a multiplexer MUX provides the receiving R2 Value, and specify and transfer a bit 360 ; a register R3, the input is marked as IN, provide the implementation of the first map 400, sequentially store a plaintext / ciphertext stream bit, and sequentially transmit a Bit 400 ; an XOR gate, the output is labeled OUT, provides an output bit that provides execution of the first diagram 500, the output bit of the receive MUX, and R3, performs an XOR operation, and transmits an output bit 500 .

較佳實施例V: 硬件裝置的擴散機制 Preferred Embodiment V: Diffusion mechanism of hardware device

在平行處理的實施例I 裡,須先產生該介質常數B F1 =B F(13:13)=[1011001101100011]與該擴散表格F 1 =F F(13:13),參閱表三;因此,從硬件裝置中,可將B F1 寫入至記憶體M1,而F 1 改成以多個XOR閘組合的擴散器DF,如第六圖所示,進而達到更快速處理串流加解密;同理,在實施例Ⅱ 裡,寫至M1,而,參閱表四,改成DF;在實施例Ⅲ 裡,B F1 =B F(8:8)=[1010001000100100]寫至M1,而F 1 =F F(8:8),參閱表五,改成DF。In the parallel processing of the embodiment I , the dielectric constant B F 1 = B F (13:13) = [1011001101100011] and the diffusion table F 1 = F F (13: 13) must be generated first, therefore, see Table 3; From the hardware device, B F 1 can be written to the memory M1, and F 1 is changed to a diffuser DF combined with a plurality of XOR gates, as shown in the sixth figure, thereby achieving faster processing of stream encryption and decryption. Similarly, in Example II , Write to M1, and Refer to Table 4 and change to DF. In Example III , B F 1 = B F(8:8)=[1010001000100100] is written to M1, and F 1 = F F(8:8), see Table V. Change to DF.

所有實施例的裝置不僅可以單獨使用,也能夠以並聯的方式連接,一密碼同時輸入至全部裝置SW,再將一明文/密文串流區分數段,而一分段 輸入至一裝置IN,達成每一裝置OUT同時輸出該密文/明文串流位元,如第七圖所示。再者,也可以以串聯的方式,如第八圖所示,其包括:一密碼輸入至第1裝置SW,而第1裝置OUT連接第2裝置SW,再第2裝置OUT連接第3裝置SW;一明文/密文串流區分數段,而一分段輸入至一裝置IN,達成每一裝置OUT同時輸出該密文/明文串流位元,或者,以強調安全性為考量,一明文/密文串流祇輸入在第3裝置IN,而由第3裝置OUT輸出該密文/明文串流位元。The devices of all embodiments can be used not only separately but also in parallel, a password is simultaneously input to all devices SW, and then a plaintext/ciphertext stream region is scored, and a segment is segmented. Input to a device IN, each device OUT is reached and the ciphertext/clear text stream bit is simultaneously output, as shown in the seventh figure. Furthermore, in a series connection, as shown in the eighth figure, the method includes: inputting a password to the first device SW, and the first device OUT is connected to the second device SW, and the second device OUT is connected to the third device SW. a plaintext/ciphertext stream area score segment, and a segment is input to a device IN to achieve each device OUT simultaneously outputting the ciphertext/clear text stream bit, or, in consideration of security, a plaintext The ciphertext stream is input only to the third device IN, and the ciphertext/cleartext stream bit is output by the third device OUT.

雖然本案是以數個最佳實施例做說明,但精於此技藝者能在不脫離本案精神與範疇下做各種不同形式的改變。以上所舉實施例僅用以說明本案而已,非用以限制本案之範圍。舉凡不違本案精神所從事的種種修改或變化,俱屬本案申請專利範圍。Although the present case is illustrated by several preferred embodiments, those skilled in the art can make various forms of changes without departing from the spirit and scope of the case. The above embodiments are only used to illustrate the present case and are not intended to limit the scope of the present invention. All kinds of modifications or changes that are not in violation of the spirit of the case are the scope of patent application in this case.

第一圖係本發明多層擴散串流加解密方法與裝置的流程示意圖;第二圖係本發明第一圖(200)以密碼輸入取得初始化的流程示意圖;第三圖係本發明第一圖(300)的硬件裝置示意圖,該硬件裝置的擴散機制包括一介質常數;第四圖係本發明第一圖(300)的硬件裝置示意圖,該硬件裝置的擴散機制不包括一介質常數;第五圖係本發明第一圖的硬件裝置示意圖,其中,包含第三圖與第四圖,並且,加入一開關SW,作為第二圖的密碼輸入使用;第六圖係本發明較佳實施例I的擴散表格的硬件裝置示意圖;第七圖係本發明較佳實施例I,II,III硬件裝置的並聯連接示意圖;第八圖係本發明較佳實施例I,II,III硬件裝置的串聯連接示意圖;The first figure is a schematic flow chart of the multi-layer diffusion stream encryption and decryption method and apparatus of the present invention; the second figure is a schematic diagram of the initialization process of the first picture (200) of the present invention by password input; the third picture is the first picture of the present invention ( 300) a schematic diagram of a hardware device, the diffusion mechanism of the hardware device includes a dielectric constant; the fourth diagram is a schematic diagram of a hardware device of the first diagram (300) of the present invention, the diffusion mechanism of the hardware device does not include a dielectric constant; The schematic diagram of the hardware device of the first figure of the present invention, wherein the third figure and the fourth figure are included, and a switch SW is added for use as the password input of the second figure; the sixth figure is the preferred embodiment I of the present invention. A schematic diagram of a hardware device of a diffusion table; a seventh diagram is a schematic diagram of a parallel connection of the hardware devices of the preferred embodiments I, II, and III of the present invention; and an eighth diagram is a schematic diagram of a series connection of the hardware devices of the preferred embodiments I, II, and III of the present invention. ;

Claims (12)

一種多層擴散串流加解密方法,其包含以下步驟:(a)選取一擴散區域A ,該A 包含一初始值A 0 ,並且,為一d 1 ×d 2 ×…×d m m 維度位元矩陣,其位置標示由1至n ;(b)選取一擴散介質S ,該S 為一m 維度位元矩陣,包含一錨點;(c)該A 選取一擴散機制,運算式表示為,其中,,其包含以下步驟:i.設定t =1;ii.設定s =1;iii.該A 執行一擴散函數F(p s ),A F(p s )=AAd 1i Ad 2i ⊕…⊕Ad mi S ,其中,以該固定至該p s ,形成該S 重疊於該A ,並且,該p s 轉換為m 維度座標(i 1 ,i 2 ,…,i m );iv.如果s =k ,至下一步驟;反之,s =s +1,回至步驟(iii);v.如果tt 1 ,令t =t +1,並回至步驟(ii);(d)設定t 2 =1,;(e)執行,該A 產生新值;(f)取出該新值的一指定位元;(g)如果執行串流位元加解密,其包含以下步驟:i.依序輸入一明文/密文串流位元;ii.依序輸出該密文/明文串流位元,其中,等於該明文/密文串流位元XOR該新值的指定位元;(h)令t 2 =t 2 +1,回至步驟(e)。A multi-layer diffusion stream encryption and decryption method, comprising the steps of: (a) selecting a diffusion region A , the A comprising an initial value A 0 , and being an m dimension of a d 1 × d 2 ×...× d m element matrix, denoted by position 1 to n; (b) selecting a diffusion medium S, the S bit is a matrix of dimension m, the anchor comprising a (c) the A selects a diffusion mechanism , the expression is expressed as ,among them, , which includes the following steps: i. setting t =1; ii. setting s =1; iii. the A performs a diffusion function F( p s ), A F( p s )= AAd 1 i Ad 2 i ⊕...⊕ Ad mi S , where, to Fixed to the p s , forming the S overlaps with the A , and the p s is converted into m- dimensional coordinates ( i 1 , i 2 , . . . , i m ); iv. If s = k , to the next step; , s = s +1, return to step (iii); v. if tt 1 , let t = t +1, and return to step (ii); (d) set t 2 =1, (e) execution , the A produces a new value ; (f) take out the new value a specified bit; (g) if performing stream bit encryption and decryption, it comprises the steps of: i. sequentially inputting a plaintext/ciphertext stream bit; ii. sequentially outputting the ciphertext/clear text stream a bit, where, equal to the plaintext/ciphertext stream bit XOR the new value The specified bit; (h) let t 2 = t 2 +1, return to step (e). 依據申請專利範圍第1項所述之方法,其中,該初始值A 0 由一密碼直接寫入至該A ;或者,依序讀取一密碼的位元,並執行,其中,該位元為第1數值,則包含該S ;該位元為第2數值,則不包含該S ,換言之,即設定S =0。According to the method of claim 1, wherein the initial value A 0 is directly written to the A by a password; or, the bit of a password is sequentially read and executed. Wherein, if the bit is the first value, the S is included; if the bit is the second value, the S is not included, in other words, S =0 is set. 依據申請專利範圍第1項所述之方法,其中,該方法的步驟(f)的該指定位元控制另一該方法的步驟(e),其中,該輸出位元為第1數值,則包含該S ;該位元為第2數值,則不包含該S ,換言之,即設定S =0。The method of claim 1, wherein the designated bit of the step (f) of the method controls another step (e) of the method, wherein the output bit is the first value, The S ; if the bit is the second value, the S is not included, in other words, S =0 is set. 一種多層擴散串流加解密方法,其包含以下步驟:(a)選取一擴散區域A ,該A 包含一初始值A 0 ,並且,為一d 1 ×d 2 ×…×d m m 維度位元矩陣,其位置標示由1至n ,其位元值由a 1a n ;(b)該A 選取一擴散表格,運算式表示為,其中,該為一位元矩陣,其具有d 1 ×d 2 ×…×d m ,並另加一維度其大小為d 1 ×d 2 ×…×d m ,可看成該的層數;該產生新的a i ,其中,該新的a i 等於至少一層XOR,而該層第i個位置的值為1,第i 層表示原先的a i ;(c)選取一介質常數,該為一m 維度位元矩陣;(d)設定t 2 =1,;(e)執行,該A 產生新值;(f)取出該新值的一指定位元;(g)如果執行串流位元加解密,其包含以下步驟:i.依序輸入一明文/密文串流位元;ii.依序輸出該密文/明文串流位元,其中,等於該明文/密文串流位元XOR該新值的指定位元;(h)令t 2 =t 2 +1,回至步驟(e)。A multi-layer diffusion stream encryption and decryption method, comprising the steps of: (a) selecting a diffusion region A , the A comprising an initial value A 0 , and being an m dimension of a d 1 × d 2 ×...× d m a meta-matrix whose position is indicated by 1 to n , whose bit value is from a 1 to a n ; (b) the A selects a diffusion table , the expression is expressed as , where, the Is a one-dimensional matrix having d 1 × d 2 ×...× d m and an additional dimension of d 1 × d 2 ×...× d m , which can be regarded as Number of layers; Generate a new a i , Wherein the new a i is equal to at least one layer of XOR, and the value of the i-th position of the layer is 1, the i-th layer represents the original a i ; (c) the selection of a dielectric constant , the Is an m- dimensional bit matrix; (d) sets t 2 =1, (e) execution , the A produces a new value ; (f) take out the new value a specified bit; (g) if performing stream bit encryption and decryption, it comprises the steps of: i. sequentially inputting a plaintext/ciphertext stream bit; ii. sequentially outputting the ciphertext/clear text stream a bit, where, equal to the plaintext/ciphertext stream bit XOR the new value The specified bit; (h) let t 2 = t 2 +1, return to step (e). 依據申請專利範圍第4項所述之方法,其中,可經由以下步驟獲得,其包含:(a)設定該F 為一m +1維度零矩陣,並且,第i 層第i 個位置的值為1;(b)設定t =1;(c)設定s=1;(d)該F 執行一擴散函數F(p s ),F F(p s )==FFd 1i Fd 2i ⊕…⊕Fd mi ,其中,該p s 轉換為m維度座標(i 1 ,i 2 ,…,i m );(e)如果s =k ,至下一步驟;反之,s =s +1,回至步驟(d);(f)如果tt 1 ,令t =t +1,並回至步驟(c)。According to the method of claim 4, wherein It can be obtained by the following steps: (a) setting the F to a m +1 dimension zero matrix, and the value of the i- th position of the i - th layer is 1; (b) setting t =1; (c) setting s=1; (d) the F performs a diffusion function F( p s ), F F( p s )== FFd 1 i Fd 2 i ⊕...⊕ Fd mi , , where p s is converted to m-dimensional coordinates ( i 1 , i 2 , . . . , i m ); (e) if s = k to the next step; otherwise, s = s +1, back to step (d (f) If tt 1 , let t = t +1 and return to step (c). 依據申請專利範圍第4項所述之方法,其中,可經由以下步驟獲得,其包含:(a)選取一擴散介質S ,該S 為一m 維度位元矩陣,包含一錨點;(b)設定該B 為一d 1 ×d 2 ×…×d m 零矩陣;(c)設定t =1; (d)設定s =1;(e)該B 執行一擴散函數F(p s ),B F(p s )=BBd 1i Bd 2i ⊕…⊕Bd mi S,其中,以該固定至該p s ,形成該S 重疊於該B ,並且,該p s 轉換為m 維度座標(i 1 ,i 2 ,…,i m );(f)如果s =k ,至下一步驟;反之,s =s +1,回至步驟(e);(g)如果tt 1 ,令t =t +1,並回至步驟(d)。According to the method of claim 4, wherein Obtained by the following steps, comprising: (a) selecting a diffusion medium S , the S is an m- dimensional bit matrix, including an anchor point (b) setting the B to a d 1 × d 2 ×...× d m zero matrix; (c) setting t =1; (d) setting s =1; (e) the B performing a diffusion function F( p s ), B F( p s )= BBd 1 i Bd 2 i ⊕...⊕ Bd mi S , Where the Fixed to the p s , forming the S overlaps with the B , and the p s is converted into m- dimensional coordinates ( i 1 , i 2 , . . . , i m ); (f) if s = k , to the next step; Conversely, s = s +1, return to step (e); (g) if tt 1 , let t = t +1, and return to step (d). 依據申請專利範圍第4項所述之方法,其中,該初始值A 0 由一密碼直接寫入至該A ;或者,依序讀取一密碼的位元,並執行,其中,該位元為第1數值,則包含該;該位元為第2數值,則不包含該,換言之,即設定The method according to claim 4, wherein the initial value A 0 is directly written to the A by a password; or, the bit of a password is sequentially read and executed. Where the bit is the first value and the ; the bit is the second value, it does not contain the In other words, set . 依據申請專利範圍第4項所述之方法,其中,該方法的步驟(f)的該指定位元控制另一該方法的步驟(e),其中,該輸出位元為第1數值,則包含該;該位元為第2數值,則不包含該,換言之,即設定The method of claim 4, wherein the designated bit of the step (f) of the method controls another step (e) of the method, wherein the output bit is the first value, The ; the bit is the second value, it does not contain the In other words, set . 一種多層擴散串流加解密裝置,其包含:(a)一暫存器R1,提供接收一輸入值,其中,可包含直接寫入一密碼,產生一初始值A 0 ;(b)一擴散器DF,提供接收該R1的值,並經由一擴散表格重組,產生與傳送一輸出值;(c)一暫存器R2,提供接收該DF的值,經過緩衝,再回傳至該R1;(d)一多工器MUX,提供接收該R2的值,並指定與傳送一位元;(e)一暫存器R3,輸入端標示為IN,提供依序儲存一明文/密文串流位元,並且,依序傳送一位元;(f)一XOR閘,輸出端標示為OUT,提供接收該MUX的輸出位元與該R3的輸出位元,執行XOR運算並傳送一輸出位元。A multi-layer diffusion stream encryption and decryption device, comprising: (a) a register R1 for receiving an input value Wherein, the method may include directly writing a password to generate an initial value A 0 ; (b) a diffuser DF providing the receiving of the R1 Value through a diffusion table Reorganization Generate and transmit an output value (c) a register R2 providing for receiving the DF The value is buffered and then passed back to the R1; (d) a multiplexer MUX providing the R2 receiving Value, and specify and transfer a bit; (e) a register R3, the input is marked as IN, providing a plaintext/ciphertext stream bit in sequence, and sequentially transmitting a bit; (f An XOR gate, the output is labeled OUT, provides an output bit that receives the MUX and an output bit of the R3, performs an XOR operation, and transmits an output bit. 依據申請專利範圍第9項所述之裝置,其中,更包含:(a)一記憶體M1,提供儲入一介質常數;(b)一XOR單元,提供接收該DF的值與該M1的值,執行位元XOR運算並傳送一輸出值;(c)該暫存器R2,提供接收該XOR單元的值,經過緩衝,再回傳至該R1; (d)一開關SW,提供依序接收該密碼位元,以該擴散表格的方式,產生該初始值A 0 ,其中,該位元為第1數值,則該R2接收的值來自該DF,如為第2數值,則來自該XOR單元。The device according to claim 9, wherein the method further comprises: (a) a memory M1, providing a storage medium constant (b) an XOR unit providing access to the DF Value with the M1 Value, perform bit XOR operation and pass an output value (c) the register R2, providing for receiving the XOR unit The value is buffered and then transmitted back to the R1; (d) a switch SW is provided to sequentially receive the password bit to use the diffusion table In the manner of generating the initial value A 0 , wherein the bit is the first value, then the R2 receives The value comes from the DF, and if it is the second value, it comes from the XOR unit. 依據申請專利範圍第10項所述之裝置,包含與另複數個該裝置的並聯連接,其包含:(a)所有裝置的SW,提供依序接收一密碼位元;(b)所有裝置的IN,提供依序接收一各指定區段的明文/密文串流位元;(c)所有裝置的OUT,提供依序傳送該各指定區段的密文/明文串流位元。 The device according to claim 10, comprising a parallel connection with a plurality of other devices, comprising: (a) SWs of all devices, providing a cryptographic bit in sequence; (b) IN of all devices Providing a plaintext/ciphertext stream bit for each specified segment in sequence; (c) OUT of all devices, providing ciphertext/plaintext stream bits for sequentially transmitting the specified segments. 依據申請專利範圍第10項所述之裝置,包含與另複數個該裝置的串聯連接,其包含:(a)第一個裝置的SW,提供依序接收一密碼位元;(b)所有裝置(第一個除外)的SW,提供接收前一個裝置的OUT的一輸出位元;(c)所有裝置(最末個除外)的OUT,提供傳送該輸出位元至後一個裝置的SW;(d)最末個裝置的IN,提供依序接收一明文/密文串流位元;或者,所有裝置的IN,提供依序接收一各指定區段的明文/密文串流位元;(e)最末個裝置的OUT,提供依序傳送該密文/明文串流位元;或者,所有裝置的OUT,提供依序傳送該各指定區段的密文/明文串流位元。 The device according to claim 10, comprising a serial connection with a plurality of other devices, comprising: (a) a SW of the first device, providing a cryptographic bit in sequence; (b) all devices The SW (excluding the first one) provides an output bit that receives the OUT of the previous device; (c) the OUT of all devices (except the last one), providing the SW that transmits the output bit to the latter device; d) the IN of the last device, providing a plaintext/ciphertext stream bit in sequence; or the IN of all devices, providing a plaintext/ciphertext stream bit of each specified segment in sequence; e) The OUT of the last device, which provides the ciphertext/plain stream bit in sequence; or the OUT of all devices, which provides the ciphertext/plain stream bit in sequence for each specified segment.
TW99112624A 2010-04-22 2010-04-22 Method and apparatus for stream cryptography with multilayer diffusion TWI396149B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW99112624A TWI396149B (en) 2010-04-22 2010-04-22 Method and apparatus for stream cryptography with multilayer diffusion

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW99112624A TWI396149B (en) 2010-04-22 2010-04-22 Method and apparatus for stream cryptography with multilayer diffusion

Publications (2)

Publication Number Publication Date
TW201137811A TW201137811A (en) 2011-11-01
TWI396149B true TWI396149B (en) 2013-05-11

Family

ID=46759687

Family Applications (1)

Application Number Title Priority Date Filing Date
TW99112624A TWI396149B (en) 2010-04-22 2010-04-22 Method and apparatus for stream cryptography with multilayer diffusion

Country Status (1)

Country Link
TW (1) TWI396149B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI222609B (en) * 2001-07-25 2004-10-21 Matsushita Electric Ind Co Ltd A method of producing a decrypting apparatus having a cryptographic device and cryptographic information, a system for providing such device and information, and the decrypting apparatus produced by the production method
US20070016560A1 (en) * 2005-07-15 2007-01-18 International Business Machines Corporation Method and apparatus for providing load diffusion in data stream correlations
TWI272553B (en) * 2004-07-28 2007-02-01 Jiou-Huan Li Encryption/decryption method by using a divergent algorithm
TW200828936A (en) * 2006-09-01 2008-07-01 Sony Corp Encryption processor, encryption processing method, and computer program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI222609B (en) * 2001-07-25 2004-10-21 Matsushita Electric Ind Co Ltd A method of producing a decrypting apparatus having a cryptographic device and cryptographic information, a system for providing such device and information, and the decrypting apparatus produced by the production method
TWI272553B (en) * 2004-07-28 2007-02-01 Jiou-Huan Li Encryption/decryption method by using a divergent algorithm
US20070016560A1 (en) * 2005-07-15 2007-01-18 International Business Machines Corporation Method and apparatus for providing load diffusion in data stream correlations
US20080168179A1 (en) * 2005-07-15 2008-07-10 Xiaohui Gu Method and apparatus for providing load diffusion in data stream correlations
US7487206B2 (en) * 2005-07-15 2009-02-03 International Business Machines Corporation Method for providing load diffusion in data stream correlations
TW200828936A (en) * 2006-09-01 2008-07-01 Sony Corp Encryption processor, encryption processing method, and computer program

Also Published As

Publication number Publication date
TW201137811A (en) 2011-11-01

Similar Documents

Publication Publication Date Title
Suri et al. A synchronous intertwining logistic map-DNA approach for color image encryption
Kang et al. Color image encryption using pixel scrambling operator and reality-preserving MPFRHT
US11507705B2 (en) Determining cryptographic operation masks for improving resistance to external monitoring attacks
Chen et al. A fast image encryption scheme with a novel pixel swapping-based confusion approach
CN106910156B (en) A kind of New chaotic image encryption method with plaintext association key stream generting machanism
CN107017981B (en) Hardware assisted fast pseudo random number generation
Mansouri et al. Image encryption using shuffled Arnold map and multiple values manipulations
Hafsa et al. FPGA implementation of improved security approach for medical image encryption and decryption
WO2015080896A1 (en) Server-aided private set intersection (psi) with data transfer
US11328097B2 (en) Encryption circuit for performing virtual encryption operations
Panduranga et al. Hybrid approach for image encryption using scan patterns and carrier images
Sun et al. An image encryption algorithm utilizing Mandelbrot set
CN104240177B (en) A kind of color image encrypting method based on chaos system and fraction Fourier conversion
Courtois Low-complexity key recovery attacks on GOST block cipher
CN117592078A (en) Multiparty privacy exchange method and computer equipment
TWI396149B (en) Method and apparatus for stream cryptography with multilayer diffusion
Sharma et al. ECC based novel color image encryption methodology using primitive polynomial
Rahimunnisa et al. A 0.13-µm implementation of 5 Gb/s and 3-mW folded parallel architecture for AES algorithm
KLEF An efficient light weight cryptography algorithm scheme for WSN devices using chaotic map and GE
CN114238510A (en) Multi-party data comparison method based on block chain, electronic equipment and storage medium
AU2006204261A1 (en) Communication system and communication method
CN107491699B (en) Method and system for encoding data
Tong et al. A new image encryption algorithm based on the high-dimensional chaotic map
Saleh et al. High-performance cryptanalysis: a comparative study of code-breaking techniques
RU2359415C2 (en) Method for cryptographic transformation of digital data units

Legal Events

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