Patent application title:

Advanced cryptographic method of multilayer diffusion in multidimension

Publication number:

-

Publication date:
Application number:

13/623,215

Filed date:

2012-09-20

✅ Patent granted

Patent number:

US 8,577,027 B1

Grant date:

2013-11-05

PCT filing:

-

PCT publication:

-

Examiner:

Samson Lemma

Adjusted expiration:

2032-09-20

Smart Summary: This method improves how data is encrypted and decrypted using a process called multilayer diffusion. It works by taking a piece of information (plaintext) and mixing it up using a password in multiple steps to create a scrambled version (ciphertext). The process can be done in different ways, such as point, block, or frame diffusion, which enhances security. After scrambling the data, the same steps are used in reverse to recover the original information. This approach allows for more complex calculations while making the encryption stronger than traditional methods. 🚀 TL;DR

Abstract:

The invention is related to working with variable diffusion functions on a multidimensional diffusion-area (plaintext/ciphertext); every diffusion function run in a cycle times, wherein repeating one certain times on the plaintext to get a ciphertext, and afterward, repeating the other times on the ciphertext to recover the plaintext, is performed in sequence to complete the encryption and the decryption. According to FIG. 1, the system comprises of: inputting a plaintext in encryption or a ciphertext in decryption 100; reading every password segment in order, forward in encryption or backward in decryption 200; and further, converting the plaintext dimensions by the password segment 300; implementing the diffusion function of Point 410, Block 420 or Frame 430, repeated TE times in encryption, TD times in decryption 400; going back to 200 until completing all password segments 500, and outputting the ciphertext in encryption or the plaintext in decryption 600.

Inventors:

Applicant:

Interested in similar patents?

Get notified when new applications in this technology area are published.

Classification:

H04K1/00 IPC

Secret communication

Description

The application is a continuation in part of the prior USPTO patent application titled “A Cryptographic Method of Multilayer Diffusion in Multidimension” filed on Mar. 18, 2010, application Ser. No. 12/726,833, which is incorporated herein by reference in its entirety.

TECHNICAL FIELD

The invention is related to working with variable diffusion functions on a multidimensional diffusion-area (plaintext/ciphertext); every diffusion function run in a cycle times, wherein repeating one certain times on the plaintext to get a ciphertext, afterward, repeating the other times on the ciphertext to recover the plaintext, is performed in sequence to complete the encryption and the decryption. Through at least one combination of point-diffusion, block-diffusion or frame-diffusion, the invention provides not only with a simpler multi-dimension calculation, but also with a higher security level.

BACKGROUND ART

The Applicant's following patent application is related to the invention and is incorporated herein by reference: “A Cryptographic Method of Multilayer Diffusion in Multidimension”, application Ser. No. 12/726,833, filed Mar. 18, 2010.

In the prior art, such as DES (Data Encryption Standard) and AES (Advanced Encryption Standard), the password only works for repeatedly mixing the plaintext. On the contrary, being able to set off any diffusion function, the password in the present invention may be taken as a crypto machine to randomly agitate the plaintext.

SUMMARY OF INVENTION

According to FIG. 1, the system comprises of: inputting a plaintext in encryption or a ciphertext in decryption 100; reading every password segment in order, forward in encryption or backward in decryption 200; and further, converting the plaintext dimensions by the password segment 300; implementing the diffusion function of Point 410, Block 420 or Frame 430, repeated TE times in encryption, TD times in decryption 400; going back to 200 until completing all password segments 500, and outputting the ciphertext in encryption or the plaintext in decryption 600.

Notation of Point-Diffusion:

  • A: a n-dimension diffusion-area, wherein A is a d1×2× . . . ×dn binary matrix and includes a diffusion-center {dot over (P)} at the coordinates (p1, p2, . . . pn).
  • S: a n-dimension medium, wherein S is a s1×s2× . . . ×sn binary matrix and includes an anchor-point {dot over (S)} at the coordinates (s1, s2, . . . , sn).
  • AF({dot over (P)}): A performs the function of point-diffusion at position {dot over (P)}, wherein S overlaps A by anchoring {dot over (S)} to {dot over (P)}, and further,
    AF({dot over (P)})=AF(p1,p2, . . . , pn)=A⊕Ad1p⊕Ad2p⊕ . . . ⊕Adnp⊕S;
    Adip=[Adi(2), . . . , Adi(pi),Adi(0),Adi(pi), . . . , Adi(di−1)];
  • AF(p1, p2t, . . . , pn): A repeats to perform the function of point-diffusion t times.
  • T: a diffusion-cycle, wherein AF(p1, p2T, . . . , pn)=A, letting T=2V+1, V=┌log2 ν┐, ν=max(d1, d2, . . . , dn).
    Notation of Block-Diffusion:
  • B: a n-dimension unit-block, wherein B is a u1×u2× . . . ×un binary matrix and includes an anchor-point {dot over (B)} at the coordinates (b1, b2, . . . ,bn).
  • ÂF({circumflex over (P)}):  performs the function of block-diffusion, wherein {dot over (B)} anchors to {dot over (P)} and thus A is divided by B into  with {circumflex over (d)}1×{circumflex over (d)}2× . . . ×{circumflex over (d)}n and {dot over (P)} is arranged by B unit to {circumflex over (P)} at the coordinates ({circumflex over (p)}1, {circumflex over (p)}2, . . . {circumflex over (p)}n), wherein {circumflex over (d)}i=┌(pi−b)/ui┐+┌(di−pi+bi)/ui┐ and {circumflex over (p)}i=┌(pi−bi)/ui┐+1, and further,
    ÂF({circumflex over (p)}1,{circumflex over (p)}2, . . . , {circumflex over (p)}n)=Â⊕{circumflex over ({circumflex over (Ad)}1{circumflex over (p)}⊕{circumflex over ({circumflex over (Ad)}2{circumflex over (p)}⊕ . . . ⊕{circumflex over ({circumflex over (Ad)}n{circumflex over (p)}⊕S;
    {circumflex over ({circumflex over (Ad)}i{circumflex over (p)}=[Â{circumflex over (d)}i(2), . . . , Â{circumflex over (d)}i({circumflex over (p)}i),Â{circumflex over (d)}i(0),Â{circumflex over (d)}i({circumflex over (p)}i), . . . , Â{circumflex over (d)}i({circumflex over (d)}i−1)];
  • ÂF({circumflex over (p)}1,{circumflex over (p)}2t, . . . , {circumflex over (p)}n): Â repeats to perform the function of block-diffusion t times.
  • T: a diffusion-cycle, wherein ÂF({circumflex over (p)}1, {circumflex over (p)}2T, . . . {circumflex over (p)}n)=A, letting T=2V+1, V=┌log2 ν┐, ν=max(┌di/bi┐, 1≦i≦n).
    Notation of Frame-Diffusion:
  • F: a n-dimension frame, wherein F is a w1×w2× . . . ×wn binary matrix and includes an anchor-point {dot over (F)} at the coordinates (f1, f2, . . . , fn) and corner-points Ċk at the coordinates (ck1, ck2, . . . , ckn), where 1≦k≦2n.
  • A({dot over (P)}): A performs the frame function of point-diffusion, wherein F pastes to A by anchoring {dot over (F)} to {dot over (P)}, and further,

A ⁢ F ⋒ ⁡ ( P . ) = A ⁢ F ⋒ ⁡ ( p 1 , p 2 , … ⁢ , p n ) = ∑ k = 1 2 n ⁢ AF ⁡ ( C . k ) ⊕ ∑ i = 1 n ⁢ { A d i ⁡ ( p i ) } ,

    • wherein A is divided into 2n diffusion subareas, in which every subarea, every axis limited in (1˜pi−1) or (pi+1˜di), is performed the point-diffusion AF(Ċk) at a different position Ċk+{dot over (P)}−{dot over (F)}; and further, every {Adi(pi)}=Adi(pi−1)⊕Adi(pi)⊕Adi(pi+1).
  • Â({circumflex over (P)}):  performs the frame function of block-diffusion, wherein F pastes to  by anchoring {dot over (F)} to {dot over (P)}, and further,

A ^ ⁢ F ⋒ ⁡ ( P ^ ) = A ^ ⁢ F ⋒ ⁡ ( p ^ 1 , p ^ 2 , … ⁢ , p ^ n ) = ∑ k = 1 2 n ⁢ A ^ ⁢ F ⁡ ( C ^ k ) ⊕ ∑ i = 1 n ⁢ { A ^ d ^ i ⁡ ( p ^ i ) } ,

    • wherein  is divided into 2n diffusion subareas, in which every subarea, every axis limited in (1˜{circumflex over (p)}i−1) or ({circumflex over (p)}i+1˜{circumflex over (d)}i), is performed the block-diffusion ÂF(Ĉk) at a different position Ĉk+{circumflex over (P)}−{circumflex over (F)}, where ĉi=┌(ci−bi)/ui┐+1, {circumflex over (f)}i=┌(fi−bi)/ui┐+1, every {Â{circumflex over (d)}i({circumflex over (p)}i)}=Â{circumflex over (d)}i({circumflex over (p)}i−1)⊕Â{circumflex over (d)}i({circumflex over (p)}i)⊕Â{circumflex over (d)}i({circumflex over (p)}i+1).
      Frame Function with Point-Diffusion:

According to FIG. 2, from FIG. 1, 430 combined with 410, the flow chart comprises of: reading a diffusion-area A (plaintext/ciphertext) with a diffusion-center {dot over (P)}, a medium S with an anchor-point {dot over (S)}, and a frame F with an anchor-point {circumflex over (F)} and 2n corner-points Ĉk 201; anchoring the frame to the diffusion-center with its anchor-point 4311; implementing the frame function of point-diffusion A(p1, p2, . . . pn) 4312; thus, further implementing the point-diffusions AF(ck1, ck2, . . . , ckn), 1≦k≦2n, and Adi(pi), 1≦i≦n 4313.

For an example as FIG. 4, A is a size of 8×8 with {dot over (P)} at (4, 4), S is a size of 5×5 with {dot over (S)} at (1, 1), and F is a size of 7×7 with {dot over (F)} at (4, 4) and Ċ1 (1, 7), Ċ2 at (7, 7), Ċ3 at (7, 1), Ċ4 at (1, 1) 201; anchoring F to {dot over (P)} (4, 4) with {dot over (F)} (4, 4) 4311; correspondingly, pasting every Ċk to A and implementing A(4, 4) 4312; thus, further implementing AF(1, 7) , AF(7, 7) , AF(7, 1) and AF(1, 1) (may refer application Ser. No. 12/726,833, page 3-4.), {Ax(4)} and {Ay(4)} 4313, where calculations in detail are shown on FIG. 6.

Frame Function with Block-Diffusion:

According to FIG. 3, from FIG. 1, 430 combined with 420, the flow chart comprises of: reading a diffusion-area A (plaintext/ciphertext) with a diffusion-center {dot over (P)}, a medium S with an anchor-point {dot over (S)}, a unit-block B with an anchor-point {dot over (B)}, and a frame F with an anchor-point {dot over (F)} and 2n corner-points Ċk 202; anchoring the frame and the unit-block to the diffusion-center with their own anchor-point 4321; arranging the diffusion-area and its diffusion-center by the unit-block 4322; implementing the frame function of block-diffusion Â({circumflex over (p)}1, {circumflex over (p)}2, . . . {circumflex over (p)}n) 4323; thus, further implementing the block-diffusions ÂF(ĉk1, ĉk2, . . . , ĉkn), 1≦k≦2n, and Â{circumflex over (d)}i({circumflex over (p)}i), 1≦i≦n 4324.

For an example as FIG. 5, A is a size of 8×8 with {dot over (P)} at (4, 4), S is a size of 5×5 with {dot over (S)} at (1, 1), B is a size of 2×2 with {circumflex over (B)} at (1, 1), and F is a size of 7×7 with {dot over (F)} at (4, 4) and Ċ1 at (1, 7), Ċ2 at (7, 7), Ċ3 at (7, 1), Ċ4 at (1, 1) 202; anchoring F to {dot over (P)} (4, 4) with {dot over (F)} (4, 4), B to {dot over (P)} (4, 4) with {dot over (B)} (1, 1) 4321; correspondingly, arranging the 8×8 A to the 5×5 Â, the {dot over (P)} (4, 4) to the {circumflex over (P)} (3, 3) 4322; pasting every Ĉk to  and implementing Â(3, 3) 4323; thus, further implementing ÂF(1, 4), ÂF(4, 4), ÂF(4, 1) and ÂF(1, 1) (may refer application Ser. No. 12/726,833, page 7-8.), {Â{circumflex over (x)}(3)} and {Âŷ(3)} 4324, where all calculations in detail are shown on FIG. 7.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is an exemplary flowchart in accordance with the present invention;

FIG. 2 is an exemplary detailed flowchart, frame diffusion of FIG. 1, adapted to run the frame function with point-diffusion;

FIG. 3 is an exemplary detailed flowchart, frame diffusion of FIG. 1, adapted to run the frame function with block-diffusion;

FIG. 4 is an exemplary block diagram in accordance with FIG. 2 adapted for two-dimensions;

FIG. 5 is an exemplary block diagram in accordance with FIG. 3 adapted for two-dimensions;

FIG. 6 is an exemplary detailed block diagram in accordance with FIG. 4;

FIG. 7 is an exemplary detailed block diagram in accordance with FIG. 5;

FIG. 8 is an exemplary block diagram in accordance with FIG. 2 adapted for three-dimensions.

DESCRIPTION OF EMBODYMENT

Suppose that a plaintext A equals “smoother”, in which the ASCII code is 73 6d 6f 6f 74 68 65 72, stored in a 8×8 binary matrix as Table 1.

TABLE 1
ASCII 73 6d 6f 6f 74 68 65 72
1 1 1 1 0 0 1 0
1 0 1 1 0 0 0 1
0 1 1 1 1 0 1 0
0 1 1 1 0 1 0 0
1 0 0 0 1 0 0 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0

Suppose that a password equals “Yourlips”, in which the ASCII code is 59 6f 75 72 6c 69 70 73. To clearly show the frame effect performed in the plaintext, the password firstly excludes the last digit 3, and secondly forms into octal format to get 26 26 75.65 34 46 61 51 34 07, and thirdly adds 1 to each digit; the positions are shown in as Table 2.

TABLE 2
ASCII 26 26 75 65 34 46 61 51 34 07
Row 3 3 8 7 4 5 7 6 4 1
Column 7 7 6 6 5 7 2 2 5 8

EXAMPLE 1

Frame Functions with Point-Diffusion

Supposes that a medium

S = [ 10011 01101 10111 10010 11101 ] ,
{dot over (S)}=(1,1); a frame F is a size of 7×7 with {dot over (F)} at (4, 4), and Ċ1 at (1, 7), Ċ2 at (7, 7), Ċ3 at (7, 1), Ċ4 at (1, 1).

In addition, reads every diffusion-center in order, if from 1 to 10 on encryption, then from 10 back to 1 on decryption; counts the diffusion-cycle T=23+1=16 times; and further, sets up if 1 time on encryption, then 15 times on decryption.

By math expressions, in encryption, inputs the plaintext A as A0, runs the encryption as A01, A11, . . . A91 and obtains the output as A1, A2, . . . A10, thus, to get a ciphertext A10; reversely, in decryption, inputs the ciphertext A10, runs the decryption as A1015, A915, . . . A115 and obtains the output A9, . . . , A1, A0, thus, to recover the plaintext A.

When {dot over (F)} anchors to every {dot over (P)}, by running a frame function with point-diffusion every time, every Ċk is changed correspondingly; hereinafter,
Ċkk+{dot over (P)}−{dot over (F)},
and further,
Akt+1=Akt(p1,p2)=AktF(Ċ1)⊕AktF(Ċ2)⊕AktF(Ċ3)⊕AktF(Ċ4)⊕{Akxt(p1)}⊕{Akyt(p2)}.
The details taken from password positions 1, 5 and 10 are shown as below:
Encryption at the 1st diffusion-center (3,7):

A 0 1 = ⁢ A ⁢ F ⋒ ⁡ ( 3 , 7 ) = AF ⁡ ( 0 , 10 ) ⊕ AF ⁡ ( 6 , 10 ) ⊕ ⁢ AF ⁢ ( 6 , 4 ) ⊕ AF ⁡ ( 0 , 4 ) ⊕ { A x ⁡ ( 3 ) } ⊕ { A y ⁡ ( 7 ) } = ⁢ [ 0 0 0 1 0 1 1 1 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 1 1 1 1 1 0 1 0 0 0 ] = A 1 .
Encryption at the 5th diffusion-center (4,5):

A 4 1 = ⁢ A 4 ⁢ F ⋒ ⁡ ( 4 , 5 ) = A 4 ⁢ F ⁡ ( 1 , 8 ) ⊕ A 4 ⁢ F ⁡ ( 7 , 8 ) ⊕ ⁢ A 4 ⁢ F ⁡ ( 7 , 2 ) ⊕ A 4 ⁢ F ⁡ ( 1 , 2 ) ⊕ { A 4 x ⁡ ( 4 ) } ⊕ { A 4 y ⁡ ( 5 ) } = ⁢ [ 0 1 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 0 0 1 0 1 0 1 1 0 1 1 1 1 1 0 1 0 0 0 0 0 1 1 0 ] = A 5 .

Encryption ⁢ ⁢ at ⁢ ⁢ the ⁢ ⁢ 10 th ⁢ ⁢ diffusion ⁢ - ⁢ center ⁡ ( 1 , 8 ) : ⁢ A 9 1 = ⁢ A 9 ⁢ F ︵ ⁡ ( 1 , 8 ) = A 9 ⁢ F ⁡ ( - 2 , 11 ) ⊕ A 9 ⁢ F ⁡ ( 4 , 11 ) ⊕ A 9 ⁢ F ⁡ ( 4 , 5 ) ⊕ ⁢ A 9 ⁢ F ⁡ ( - 2 , 5 ) ⊕ { A 9 ⁢ x ⁡ ( 1 ) } ⊕ { A 9 ⁢ y ⁡ ( 8 ) } = ⁢ [ 0 1 1 1 0 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 0 0 1 0 0 0 0 1 1 0 1 1 1 0 1 1 0 0 1 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 1 1 1 0 1 0 ] = A 10 .

Decryption ⁢ ⁢ at ⁢ ⁢ the ⁢ ⁢ 10 th ⁢ ⁢ diffusion ⁢ - ⁢ center ⁡ ( 1 , 8 ) : ⁢ A 10 15 = ⁢ A 10 14 ⁢ F ︵ ⁡ ( 1 , 8 ) = A 10 14 ⁢ F ⁡ ( - 2 , 11 ) ⊕ A 10 14 ⁢ F ⁡ ( 4 , 11 ) ⊕ A 10 14 ⁢ F ⁡ ( 4 , 5 ) ⊕ ⁢ A 10 14 ⁢ F ⁡ ( - 2 , 5 ) ⊕ { A 10 ⁢ x 14 ⁡ ( 1 ) } ⊕ { A 10 ⁢ y 14 ⁡ ( 8 ) } = ⁢ [ 1 0 0 0 0 1 0 1 1 1 1 1 0 1 1 0 1 1 1 0 0 0 0 0 1 1 1 1 0 0 1 0 1 1 0 0 0 1 0 0 1 0 0 1 1 0 1 1 1 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 ] = A 9 .
Decryption at the 5th diffusion-center (4,5):

A 5 15 = ⁢ A 5 14 ⁢ F ⋒ ⁡ ( 4 , 5 ) = A 5 14 ⁢ F ⁡ ( 1 , 8 ) ⊕ A 5 14 ⁢ F ⁡ ( 7 , 8 ) ⊕ ⁢ A 5 14 ⁢ F ⁡ ( 7 , 2 ) ⊕ A 5 14 ⁢ F ⁡ ( 1 , 2 ) ⊕ { A 5 x 14 ⁡ ( 4 ) } ⊕ { A 5 y 14 ⁡ ( 5 ) } = ⁢ [ 0 0 1 1 0 1 0 1 0 0 1 1 0 1 1 1 0 0 0 1 0 0 0 1 0 1 0 1 1 1 1 1 1 1 0 1 1 0 0 1 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 1 1 0 ] = A 4 .
Decryption at the 1st diffusion-center (3,7):

A 1 15 = ⁢ A 1 14 ⁢ F ⋒ ⁡ ( 3 , 7 ) = A 1 14 ⁢ F ⁡ ( 0 , 10 ) ⊕ A 1 14 ⁢ F ⁡ ( 6 , 10 ) ⊕ ⁢ A 1 14 ⁢ F ⁡ ( 6 , 4 ) ⊕ A 1 14 ⁢ F ⁡ ( 0 , 4 ) ⊕ { A 1 x 14 ⁡ ( 3 ) } ⊕ { A 1 y 14 ⁡ ( 7 ) } = ⁢ [ 1 1 1 1 0 0 1 0 1 0 1 1 0 0 0 1 0 1 1 1 1 0 1 0 0 1 1 1 0 1 0 0 1 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 ] = A .

EXAMPLE 2

Frame Functions with Block-Diffusion

The Example 1 further joins with a unit-block B, wherein B is a size of 2×2 with {dot over (B)} at (1, 1); thus, the frame F, arranged by B, with the anchor-point {circumflex over (F)} at (3, 3) and the corner-points Ĉ1 (1, 4), Ĉ2 at (4, 4), Ĉ3 at (4, 1), Ĉ4 at (1, 1); reads every diffusion-center in order, if from 1 to 10 on encryption, then from 10 back to 1 on decryption; counts the diffusion-cycle T=22+1=8 times (due to di/bi=4=22); and further, sets up if 1 time on encryption, then 7 times on decryption.

By math expressions, in encryption, inputs the plaintext A as A0, runs the encryption as Â01, Â11, . . . Â91 and obtains the output as A1, A2, . . . A10, thus, to get a ciphertext A10; reversely, in decryption, inputs the ciphertext A10, runs the decryption as Â107, Â97, . . . Â17 and obtains the output A9, . . . , A1, A0, thus, to recover the plaintext A.

When {dot over (F)} and {dot over (B)} anchor to every {dot over (P)}, by running a frame function with block-diffusion every time, every Ĉk is changed correspondingly; hereinafter,
Ĉkk+{circumflex over (P)}−{circumflex over (F)},
and further,
Âkt+1kt({circumflex over (p)}1,{circumflex over (p)}2)=ÂktF(Ĉ1)⊕ÂktF(Ĉ2)⊕ÂktF(Ĉ3)⊕ÂktF(Ĉ4)⊕{Âk{circumflex over (x)}t({circumflex over (p)}1)}⊕{Âkŷt({circumflex over (p)}2)}.
The details taken from password positions 1, 5 and 10 are shown as below:
Encryption at the 1st diffusion-center (3,7):

A ^ 0 1 = ⁢ A ^ ⁢ F ⋒ ⁡ ( 2 , 4 ) = A ^ ⁢ F ⁡ ( 0 , 5 ) ⊕ A ^ ⁢ F ⁡ ( 3 , 5 ) ⊕ ⁢ A ^ ⁢ F ⁡ ( 3 , 2 ) ⊕ A ^ ⁢ F ⁡ ( 0 , 2 ) ⊕ { A ^ x ^ ⁡ ( 2 ) } ⊕ { A ^ y ^ ⁡ ( 4 ) } = ⁢ [ 0 0 1 1 0 0 1 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 0 0 0 1 0 1 1 0 0 1 0 0 0 0 0 1 0 1 1 0 1 0 0 1 1 1 0 1 0 0 0 ] = A 1 .
Encryption at the 5th diffusion-center (4,5):

A ^ 4 1 = ⁢ A ^ 4 ⁢ F ⋒ ⁡ ( 3 , 3 ) = A ^ 4 ⁢ F ⁡ ( 1 , 4 ) ⊕ A ^ 4 ⁢ F ⁡ ( 4 , 4 ) ⊕ ⁢ A ^ 4 ⁢ F ⁡ ( 4 , 1 ) ⊕ A ^ 4 ⁢ F ⁡ ( 1 , 1 ) ⊕ { A ^ 4 x ^ ⁡ ( 3 ) } ⊕ { A ^ 4 y ^ ⁡ ( 3 ) } = ⁢ [ 0 0 1 0 1 1 1 0 0 1 1 0 1 0 1 1 1 0 0 0 0 1 1 0 1 0 1 0 0 0 0 1 0 1 0 1 1 0 1 0 0 1 1 1 1 0 1 1 1 0 1 0 0 0 1 0 1 0 0 1 1 0 0 0 ] = A 5 .
Encryption at the 10th diffusion-center (1,8):

  A ^ 9 1 = ⁢ A ^ 9 ⁢ F ︵ ⁡ ( 1 , 5 ) = ⁢ A ^ 9 ⁢ F ⁡ ( - 1 , 6 ) ⊕ A ^ 9 ⁢ F ⁡ ( 2 , 6 ) ⊕ A ^ 9 ⁢ F ⁡ ( 2 , 3 ) ⊕ ⁢ A ^ 9 ⁢ F ⁡ ( - 1 , 3 ) ⊕ { A ^ 9 ⁢ x ^ ⁡ ( 1 ) } ⊕ { A ^ 9 ⁢ y ^ ⁡ ( 5 ) } = ⁢ [ 0 0 1 1 1 1 1 0 0 0 1 1 1 0 1 1 0 0 0 1 0 1 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 1 1 1 0 0 0 0 1 0 1 1 0 1 0 0 0 1 0 1 1 1 0 0 0 0 ] = ⁢ A 10 .
Decryption at the 10th diffusion-center (1,8):

  A ^ 10 7 = ⁢ A ^ 10 6 ⁢ F ︵ ⁡ ( 1 , 5 ) = ⁢ A ^ 10 6 ⁢ F ⁡ ( - 1 , 6 ) ⊕ A ^ 10 6 ⁢ F ⁡ ( 2 , 6 ) ⊕ A ^ 10 6 ⁢ F ⁡ ( 2 , 3 ) ⊕ ⁢ A ^ 10 6 ⁢ F ⁡ ( - 1 , 3 ) ⊕ { A ^ 10 ⁢ x ^ 6 ⁡ ( 1 ) } ⊕ { A ^ 10 ⁢ y ^ 6 ⁡ ( 5 ) } = ⁢ [ 0 0 1 1 1 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 1 0 1 1 0 1 0 1 0 0 0 1 1 1 1 0 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 0 1 1 1 1 0 0 0 0 ] = ⁢ A 9 .
Decryption at the 5th diffusion-center (4,5):

  A ^ 5 7 = ⁢ A ^ 5 6 ⁢ F ︵ ⁡ ( 3 , 3 ) = ⁢ A ^ 5 6 ⁢ F ⁡ ( 1 , 4 ) ⊕ A ^ 5 6 ⁢ F ⁡ ( 4 , 4 ) ⊕ A ^ 5 6 ⁢ F ⁡ ( 4 , 1 ) ⊕ ⁢ A ^ 5 6 ⁢ F ⁡ ( 1 , 1 ) ⊕ { A ^ 5 ⁢ x ^ 6 ⁡ ( 3 ) } ⊕ { A ^ 5 ⁢ y ^ 6 ⁡ ( 3 ) } = ⁢ [ 0 1 1 1 1 1 1 1 0 1 0 0 0 1 1 1 0 0 1 1 1 1 0 1 0 0 1 0 1 1 0 1 1 1 0 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 0 1 1 0 1 1 1 0 0 0 1 0 0 0 ] = ⁢ A 4 .
Decryption at the 1st diffusion-center (3,7):

  A ^ 1 7 = ⁢ A ^ 1 6 ⁢ F ︵ ⁡ ( 2 , 4 ) = ⁢ A ^ 1 6 ⁢ F ⁡ ( 0 , 5 ) ⊕ A ^ 1 6 ⁢ F ⁡ ( 3 , 5 ) ⊕ A ^ 1 6 ⁢ F ⁡ ( 3 , 2 ) ⊕ ⁢ A ^ 1 6 ⁢ F ⁡ ( 0 , 2 ) ⊕ { A ^ 1 ⁢ x ^ 6 ⁡ ( 2 ) } ⊕ { A ^ 1 ⁢ y ^ 6 ⁡ ( 4 ) } = ⁢ [ 1 1 1 1 0 0 1 0 1 0 1 1 0 0 0 1 0 1 1 1 1 0 1 0 0 1 1 1 0 1 0 0 1 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 ] = ⁢ A .

EXAMPLE 3

Frame Functions with Point-Diffusion and Block-Diffusion

The Example 2 further joins with a switch set Y=[1011011101]; reads every diffusion-center and Y element in order, if from 1 to 10 on encryption, then from 10 back to 1 on decryption; counts the diffusion-cycle, if Y element is 1, then T=23+1=16 times for running with point-diffusions, otherwise, T=22+1=8 times for running with block-diffusions, and further, sets up if 1 time on encryption, then 15 or 7 times on decryption.

By math expressions, in encryption, inputs the plaintext A as A0, runs the encryption as A0111,A21,A3141,A51,A61,A7181,A91 and obtains the output as A1,A2, . . . , A9,A10 thus, to get a ciphertext A10; reversely, in decryption, inputs the ciphertext A10, runs the decryption as A101597,A815,A715,A61557,A415,A31527,A115 and obtains the output A9,A8, . . . , A1,A0, thus, to recover the plaintext A.

The details taken from password positions 1, 5 and 10 are shown as below:

Encryption at the 1st diffusion-center (3,7): (Y(1)=1, point-diffusion)

  A 0 1 = ⁢ A ⁢ F ︵ ⁡ ( 3 , 7 ) = ⁢ AF ⁡ ( 0 , 10 ) ⊕ AF ⁡ ( 6 , 10 ) ⊕ AF ⁡ ( 6 , 4 ) ⊕ ⁢ AF ⁡ ( 0 , 4 ) ⊕ { A x ⁡ ( 3 ) } ⊕ { A y ⁡ ( 7 ) } = ⁢ [ 0 0 0 1 0 1 1 1 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 1 1 1 1 1 0 1 0 0 0 ] = ⁢ A 1 .
Encryption at the 5th diffusion-center (4,5): (Y(5)=0, block-diffusion)

A ^ 4 1 = ⁢ A ^ 4 ⁢ F ︵ ⁡ ( 3 , 3 ) = ⁢ A ^ 4 ⁢ F ⁡ ( 1 , 4 ) ⊕ A ^ 4 ⁢ F ⁡ ( 4 , 4 ) ⊕ A ^ 4 ⁢ F ⁡ ( 4 , 1 ) ⊕ ⁢ A ^ 4 ⁢ F ⁡ ( 1 , 1 ) ⊕ { A ^ 4 ⁢ x ^ ⁡ ( 3 ) } ⊕ { A ^ 4 ⁢ y ^ ⁡ ( 3 ) } = ⁢ [ 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 0 1 0 0 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 1 1 1 0 1 ] = ⁢ A 5
Encryption at the 10th diffusion-center (1,8): (Y(10)=1, point-diffusion)

  A 9 1 ⁢ = ⁢ A 9 ⁢ F ︵ ⁡ ( 1 , 8 ) = ⁢ A 9 ⁢ F ⁡ ( - 2 , 11 ) ⊕ A 9 ⁢ F ⁡ ( 4 , 11 ) ⊕ A 9 ⁢ F ⁡ ( 4 , 5 ) ⊕ ⁢ A 9 ⁢ F ⁡ ( - 2 , 5 ) ⊕ { A 9 ⁢ x ⁡ ( 1 ) } ⊕ { A 9 ⁢ y ⁡ ( 8 ) } = ⁢ [ 0 1 1 0 1 1 1 0 1 0 0 1 0 1 0 0 0 1 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 1 0 1 0 1 1 0 0 0 0 1 1 1 0 1 0 1 0 0 1 1 1 1 0 0 1 0 1 1 1 1 ] = ⁢ A 10
Decryption at the 10th diffusion-center (1,8): (Y(10)=1, point-diffusion)

  A 10 15 = ⁢ A 10 14 ⁢ F ︵ ⁡ ( 1 , 8 ) = ⁢ A 10 14 ⁢ F ⁡ ( - 2 , 11 ) ⊕ A 10 14 ⁢ F ⁡ ( 4 , 11 ) ⊕ A 10 14 ⁢ F ⁡ ( 4 , 5 ) ⊕ ⁢ A 10 14 ⁢ F ⁡ ( - 2 , 5 ) ⊕ { A 10 ⁢ x 14 ⁡ ( 1 ) } ⊕ { A 10 ⁢ y 14 ⁡ ( 8 ) } = ⁢ [ 1 0 1 1 1 1 1 1 1 1 0 1 0 0 0 0 1 1 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 1 1 0 0 1 0 1 0 1 1 0 1 0 1 0 1 1 1 0 1 0 0 1 0 1 0 0 1 ] = ⁢ A 9 .
Decryption at the 5th diffusion-center (4,5): (Y(5)=0, block-diffusion)

  A ^ 5 7 = ⁢ A ^ 5 6 ⁢ F ︵ ⁡ ( 3 , 3 ) = ⁢ A ^ 5 6 ⁢ F ⁡ ( 1 , 4 ) ⊕ A ^ 5 6 ⁢ F ⁡ ( 4 , 4 ) ⊕ A ^ 5 6 ⁢ F ⁡ ( 4 , 1 ) ⊕ ⁢ A ^ 5 6 ⁢ F ⁡ ( 1 , 1 ) ⊕ { A ^ 5 ⁢ x ^ 6 ⁡ ( 3 ) } ⊕ { A ^ 5 ⁢ y ^ 6 ⁡ ( 3 ) } = ⁢ [ 1 0 0 0 0 0 1 0 0 1 0 1 1 1 0 1 0 1 1 0 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 0 1 0 1 0 0 0 1 0 0 1 ] = ⁢ A 4
Decryption at the 1st diffusion-center (3,7): (Y(1)=1, point-diffusion)

  A 1 15 = ⁢ A 1 14 ⁢ F ︵ ⁡ ( 3 , 7 ) = ⁢ A 1 14 ⁢ F ⁡ ( 0 , 10 ) ⊕ A 1 14 ⁢ F ⁡ ( 6 , 10 ) ⊕ A 1 14 ⁢ F ⁡ ( 6 , 4 ) ⊕ ⁢ A 1 14 ⁢ F ⁡ ( 0 , 4 ) ⊕ { A 1 ⁢ x 14 ⁡ ( 3 ) } ⊕ { A 1 ⁢ y 14 ⁡ ( 7 ) } = ⁢ [ 1 1 1 1 0 0 1 0 1 0 1 1 0 0 0 1 0 1 1 1 1 0 1 0 0 1 1 1 0 1 0 0 1 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 ] = ⁢ A .

From the examples, a two-dimension area is turned into 4 subareas by running a frame function; thus, according to FIG. 8, it is easy to understand that a three-dimension area is then turned into 8 subareas and every subarea, under three-dimensions, is performed a point-diffusion or a block-diffusion (see more detail in application Ser. No. 12/726,833, page 4-6, 9-11); by the same way, the invention is well applied on a variable area of multi-dimensions.

In summation of the above description, the present invention herein complies with the constitutional, statutory, regulatory and treaty, patent application requirements and is herewith submitted for patent application. However, the description and its accompanied drawings are used for describing preferred embodiments of the present invention, and it is to be understood that the invention is not limited thereto. To the contrary, it is intended to cover various modifications and similar arrangements and procedures, and the scope of the appended claims therefore should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements and procedures.

Claims

What is claimed is:

1. A computer-implemented cryptographic method comprising a plaintext M run by at least one variable module stored in a memory to perform the following steps by a processor:

selecting a n-dimension diffusion-area A, wherein A is a d1×d2× . . . ×dn binary matrix and includes a diffusion-center {dot over (P)} at the coordinates (p1, p2, . . . pn);

selecting a frame function of point-diffusion A({dot over (P)}), wherein

A ⁢ F ︵ ⁡ ( P . ) = A ⁢ F ︵ ⁡ ( p 1 , p 2 , … ⁢ , p n ) = ∑ k = 1 2 n ⁢ AF ⁡ ( C . k ) ⊕ ∑ i = 1 n ⁢ { A d i ⁡ ( p i ) } ;

setting a diffusion-cycle T, wherein T=2V−1, V=┌log2 ν┐, and ν=max(d1, d2, . . . , dn);

letting T=TE+TD, and the method further comprising steps of:

(a) encrypting M, wherein lets A=M and a ciphertext C=A{circumflex over (F)}(p1,p2TE, . . . , pn); and

(b) decrypting C, wherein lets A=C and the plaintext M=A{circumflex over (F)}(p1, p2TD, . . . , pn);

wherein the said encrypting and decrypting steps are run by the said computer-processor.

2. A computer-implemented cryptographic method comprising a plaintext M run by at least one variable module stored in a memory to perform the following steps by a processor:

selecting a n-dimension diffusion-area A, wherein A is a d1×d2× . . . ×dn binary matrix and includes a diffusion-center {dot over (P)} at the coordinates (p1, p2, . . . pn);

selecting a n-dimension unit-block B, wherein B is a u1×u2× . . . ×un binary matrix and includes an anchor-point {dot over (B)} at the coordinates (b1, b2, . . . , bn); letting {dot over (B)} anchors to {dot over (P)}, wherein A is divided by B into  with {circumflex over (d)}1×{circumflex over (d)}2× . . . ×{circumflex over (d)}n and {dot over (P)} is arranged by B unit to {circumflex over (P)} at the coordinates ({circumflex over (p)}1, {circumflex over (p)}2, . . . {circumflex over (p)}n), wherein {circumflex over (p)}i=┌(pi−bi)/ui┐+1 and {circumflex over (d)}i=┌(pi−bi)/ui┐+┌(di−pi+bi)/ui┐;

selecting a frame function of block-diffusion Â({circumflex over (P)}), wherein

A ^ ⁢ F ︵ ⁡ ( P ^ ) = A ^ ⁢ F ︵ ⁡ ( p ^ 1 , p ^ 2 , … ⁢ , p ^ n ) = ∑ k = 1 2 n ⁢ A ^ ⁢ F ⁡ ( C ^ k ) ⊕ ∑ i = 1 n ⁢ { A ^ d ^ i ⁡ ( p ^ i ) } ;

setting a diffusion-cycle T, wherein T=2V+1, V=┌log2 ν┐, and ν=max(┌di/bi┐, 1≦i≦n);

letting T=TE+TD, and the method further comprising steps of:

(a) encrypting M, wherein lets Â=M and a ciphertext C=Â{circumflex over (F)}({circumflex over (p)}1, {circumflex over (p)}2TE, . . . , {circumflex over (p)}n); and

(b) decrypting C, wherein lets Â=C and the plaintext M=Â{circumflex over (F)}({circumflex over (p)}×1, {circumflex over (p)}2TD, . . . , {circumflex over (p)}n);

wherein the said encrypting and decrypting steps are run by the said computer-processor.

3. A computer-implemented cryptographic method comprising a plaintext M run by at least one variable module stored in a memory to perform the following steps by a processor:

selecting a n-dimension diffusion-area A, wherein A is a d1×d2× . . . ×dn binary matrix and includes a diffusion-center {dot over (P)} at the coordinates (p1, p2, . . . pn);

selecting a frame function of point-diffusion A({dot over (P)}), wherein

A ⁢ F ︵ ⁡ ( P . ) = A ⁢ F ︵ ⁡ ( p 1 , p 2 , … ⁢ , p n ) = ∑ k = 1 2 n ⁢ AF ⁡ ( C . k ) ⊕ ∑ i = 1 n ⁢ { A d i ⁡ ( p i ) } ;

selecting a n-dimension unit-block B, wherein B is a u1×u2× . . . ×un binary matrix and includes an anchor-point {dot over (B)} at the coordinates (b1, b2, . . . , bn); letting {dot over (B)} anchors to {dot over (P)}, wherein A is divided by B into  with {circumflex over (d)}1×{circumflex over (d)}2× . . . {circumflex over (d)}n and {dot over (P)} is arranged by B unit to {circumflex over (P)} at the coordinates ({circumflex over (p)}1, {circumflex over (p)}2, . . . {circumflex over (p)}n), wherein {circumflex over (p)}i=┌(pi−bi)/ui┐+1 and {circumflex over (d)}i=┌(pi−bi)/ui┐+┌(di−pi+bi)/ui┐;

selecting a frame function of block-diffusion Â({circumflex over (P)}), wherein

A ^ ⁢ F ︵ ⁡ ( P ^ ) = A ^ ⁢ F ︵ ⁡ ( p ^ 1 , p ^ 2 , … ⁢ , p ^ n ) = ∑ k = 1 2 n ⁢ A ^ ⁢ F ⁡ ( C ^ k ) ⊕ ∑ i = 1 n ⁢ { A ^ d ^ i ⁡ ( p ^ i ) } ;

selecting a switch Y, wherein Y represents for running A({dot over (P)}) with a first value, Â({circumflex over (P)}) with a second value;

setting a diffusion-cycle T1, wherein T1=2V+1, V=┌log2 ν┐, and ν=max(d1, d2, . . . , dn);

setting a diffusion-cycle T2, wherein T2=2V+1, V=┌log2 ν┐, and ν=max(┌di/bi┐, 1≦i≦n);

and the method further comprising steps of :

(a) encrypting M, wherein if Y equals said first value, letting T1=TE1+TD1 and A=M ,then a ciphertext C=A{circumflex over (F)}(p1, p2TE1, . . . , pn):if Y equals said second value, letting T2=TE2+TD2 and Â=M, then C=Â{circumflex over (F)}({circumflex over (p)}1,{circumflex over (p)}2TE1, . . . , {circumflex over (p)}n); and

(b) decrypting C, wherein if Y equals said first value, letting A=C, then the plaintext M=A{circumflex over (F)}(p1,p2TD1, . . . , pn): if Y equals said second value, letting Â=C, then M=Â{circumflex over (F)}({circumflex over (p)}1,{circumflex over (p)}2TD1, . . . , {circumflex over (p)}n);

wherein the said encrypting and decrypting steps are run by the said computer-processor.

Resources

Images & Drawings included:

Sources:

Recent applications in this class: