A New Cryptography Scheme Based On Laplace Transform and A Substitution-Permutation Network
A New Cryptography Scheme Based On Laplace Transform and A Substitution-Permutation Network
A New Cryptography Scheme Based On Laplace Transform and A Substitution-Permutation Network
2658
Abdoualwase M. Al-Azzani et al., International Journal of Advanced Trends in Computer Science and Engineering, 10(4), July – August 2021, 2658 – 2663
This paper proposes a cryptographic method based on Laplace 3. THE PROPOSED CRYPTOGRAPHY SCHEME
transform and substitution boxes and permutation vector. So The proposed cryptography scheme introduced a symmetric
that, first we compute the Laplace transform to series block cryptosystem for data encryption and decryption based
expansion after adding the plaintext values as coefficients for on Laplace transform. This scheme differs from the previous
the series and adding the secret key for the resultant’s values, in the following: It does not need to send the quotient with
then computing the remainder and quotient to produce the ciphertext, encryption is implemented with many iterations,
ciphertext. The ciphertext is a value from S-Box that the secure key is added in each iteration, and using a different
corresponding to the row (it is place represents the quotient) S-Box in each iteration for production a new ciphertext.
and the column (it's place represents the remainder). Repeat
all steps in each iteration with a different S-Box. Here we 3.1 Encryption Algorithm
consider randomly bijective S-boxes generation methods and The encryption process goes through two steps:-
satisfying chosen selected criteria to build a substitution box. 1) The sender and the receiver agree on the following :-
The rest of the paper organization is as follows. Section 2 a) Length of block ( ).
presents the mathematical background. Section 3 explains the b) Number of cycles( ).
proposed method. Section 4 provides a numerical example to c) Secret key as a vector. =< , , . . . , >.
explain the steps of the encryption and decryption from the d) Randomly selected Maclaurin expansion terms of a
proposed method. Finally, Section 5, concludes the findings function ( ) are as a secret vector. For instance, for
of this research paper. the function ( ) = ℎ( ) in (4), the selected
terms(called Rn) =< 2, 4, 1, 5, 11, 9, 6, 8, 7, 13,
2. BACKGROUND 14, 10, 19, 12, 20, 21 >, with length 128-bits
2.1 The Laplace Transform (m=16), consequently, the correspondingselected
If ( ) is a function defined for all positive values of function termsof Rn are
t, then the Laplace transform of ( ) is defined as
( )= !
+ ! + ! + ! + ! +. . . + ! . (6)
( ( )) = ∫ ( ) = ( ) (1)
So, we can rewrite the function f(t) as
Where | ( )| < at ⟶ ∞ and > 0 , Here the ∗ ()
parameter is a real or complex ( )=∑ ( . (7)
∗ () )!
numberError! Reference source not found..For example, if e) A vector for the permutation (called )
( )= then, ( ( )) = , and =< , ,..., >.
! f) Building number of S-Boxes (equal to number of
( )= then ( ( )) = .
cycles(n)), where elements of each S-Box are
The corresponding inverse Laplace transform is
( ( )) = ( ) for example, distinct and randomly selected values. As shown
if ( ( )) = then, ( ) = . in(Table 1). S-boxes can be defined
algebraically,where the algebraic formulation
if ( ( )) = then, ( ) = ! [7], [4]. involves operations in a finite field.The substitution
boxes are attached as fileswith both the sender and
2.2Maclaurin Series receiver, where S-boxescan rebuilding at any time.
The Maclaurin series for f about c is the power series
( )
( )=∑ !
. (2) 2) Encryptionprocess:The encryption algorithm consists of
Such as, the function ( ) = ℎ( ) has Maclaurin series many phases. In the first phase, the plaintext is divide into
as follows block (as ASCII coding) with length(m). In the second phase,
computing Laplace transformfor the terms of selected
ℎ( ) = + ! + ! + !
+. .. (3) Maclaurin expansion with incorporate(via a simple
So, when a=2, this function become exclusive-or operation) ASCII values as coefficients.
ℎ( ) = + ! + ! +. .. (4) (2 ∗ ( ))!
( )=
and the Laplace transformation for this function is (2 ∗ ( ) − 1)! ∗ ( )
! ! !
( ℎ( )) = + ! + ! +. .. (5). ′
= ∗ ()
2.3 Permutation Function
The permutation [14] is a rearrangement of the elements of the 2∗ ( ) !
ℎ = ⊕ .
function f from a set D into a set C is a map with first input (2 ∗ ( ) − 1)!
from D and output from C such that each element of D has a
unique output. : ⟶ is one-to-one if ( ) = ( ) ⟹ Then, the permutation vector permute each character(byte) in
= . The function is onto if for each element ∈ , it is first block and adding the secret key to the resultants values by
true that there is ∈ with f(d) = c. : ⟶ called a the XOR operation ′ = ⊕ ( ). In the third phase, the
bijection if it is both one-to-one and onto. The number of resultants values are adding to Laplace transform values by
permutations on a set C of N elements given N! permutations. XOR operation ′′ = ′ ⊕ . In the last phase, calculate R
2659
Abdoualwase M. Al-Azzani et al., International Journal of Advanced Trends in Computer Science and Engineering, 10(4), July – August 2021, 2658 – 2663
We can use same the S-box in each cycle, instead of using the - Compute
K different S-boxes in ncycles. =( ⊕ ).
ii) End for (j).
Algorthim of Encryption- h) End for (i).
i) Use the invers of the permutation vector (Pv) to
Input:Plaintext(P), key, n, m, randomly Maclaurin
transposition each byte in block(i).
terms(Rn), S-Box, the permutation vector(Pv).
Output: CipherText(C) j) Convert =P for again becryption.
1) Dividethe plaintext (message/image) into blocks, each 4)End for (k).
block with length(m). Endalgorithm.
2) Convert each block in Plaintext into ASCII coding.
3) For = 1 to N(number of cycle) 4. NUMERICAL EXAMPLE
a) For = 1 to n (number of block) Let us assume that it was agreed between both the sender and
b) Use permutation(Pv) to transposition each byte in the receiver that the length of the block is 128 bits (m = 16)
block(i); and the number of cycles is ten(n=10) and that randomly
c) For = 1 to m (m represent block length) selected Maclaurin expansion terms as in(6). Therefore, the
i) Compute ′ = ( ⊕ ). terms that are selected for finding the Laplace transform as
ii) Compute Laplace transform in(8)where
∗ () ! , and let
= ′ ⊕ .
( ∗ () )! the key be =< 9 ,5, 16,1,6,11, 10,15 ,2,8,3,4,14,
iii) Compute R and Q 13,12,7 >, and the permutation vector is =< 4,1,6,11,
= ( ). 10,14,13,12,7,15,9,5,16,2,8,3 > ,of 128-bits.So, the initial
= ( / ). values are m,n, K, Rn,Pv, and key.These initial values are
iv) Generate from S-Boxi. where = considered as secret keys of the proposed encryption
( , ) “the element in row (Q) and algorithm.
column(R)”.
d) End for (j) 4.1 Encryption Algorithm
e) End for (i) Lets us assume that the plaintext is P=“Success#89%0A”.
f) If K< Iteration then P = (for again encryption First, the plaintext is permuted based on Pv vector as
process) P=“cSs9&%s08eAu#c” the ASCII coding is
4) End for (k) P=[99,83,115,64,57,38,94,37,115,48,56,101,65,117,35,99 ].
End algorithm. Next, we compute ′ = ⊕ for each character in the
block, the resultants values are
3.2 Decryption Algorithm P’=[106,86,99,65,63,45,84,42,113,56,59,97,79,120,47,100].
Receiver receives the encrypted text publicly, the secret key, After that, adding the resultants values as coefficients for
the permutation vector, and randomly selected Maclaurin per-selected function terms by XOR operator and compute
expansion terms, while previously preserved substatutation Laplace transform, the results are
Boxes . The decryption is done as to thefollowing algorithm: ( ( )) = + + +. . . + (8)
we rewrite the coefficients as a vector
Algorthim of Decryption- P”=[110,87,101,74,53,35,89,38,118,55,50,100,95,122,39,10
Input: Ciphertext(C), key, m, randomly Maclaurin 3].Finally, the ciphertext is the value from the first S-box1(see
terms(Rn), S-Box, the permutation vector(Pv), cycles(K) Table 1) that would be determined by the intersection of the
Output: PlainText(P)
corresponds to the row with index = and the
1) Divide the ciphertext into blocks, each block with
length(m). column with index = ( ) .For instance, the
2) Convert each block in ciphertext into ASCII code. ciphertext is the value in S-Box1(see Table 1) that
3) For k= N to 1 (starting from last S-Box) corresponds to the row = ( ′′ /8) = (110/
g) For i= 1 to n (number of blocks) 16) = 6(6 ), and the column = ( 16) =
i) For to m 110( 16) = 14(14 ) that is = 249 and so
- Finding the row and the column where the on. So, the first ciphertext from S-Box1 is
=[249,88,165,191,41,6,142,104,34,112,20,72,19,175,147,
element in it. 181]. In the second cycle, the values of C1 become as
[ , ]= ( − == ) the row plaintext, and repeat the previous steps, with S-Box2. The
(Q) and the column (R). ciphertext that is resulting from the second cycle is
2660
Abdoualwase M. Al-Azzani et al., International Journal of Advanced Trends in Computer Science and Engineering, 10(4), July – August 2021, 2658 – 2663
2661
Abdoualwase M. Al-Azzani et al., International Journal of Advanced Trends in Computer Science and Engineering, 10(4), July – August 2021, 2658 – 2663
0 116 209 161 167 227 91 85 134 129 49 225 3 131 222 1 43
1 22 247 99 67 18 213 135 63 193 194 205 178 31 38 100 215
2 233 60 53 6 8 160 104 147 110 70 48 117 141 202 140 162
3 235 189 20 195 2 41 159 112 14 83 223 21 179 224 171 212
4 230 154 11 68 214 118 221 122 109 52 191 76 166 206 232 244
5 121 190 143 77 32 86 95 88 13 142 30 139 105 138 25 19
6 54 107 218 75 72 165 29 181 229 7 217 115 220 132 249 123
7 47 80 170 90 81 79 34 39 146 182 175 133 255 62 216 145
8 96 188 65 157 46 248 126 164 36 204 245 137 163 234 33 192
9 9 186 130 44 253 40 92 120 93 228 42 89 28 17 155 127
10 251 241 169 71 210 35 61 94 101 69 231 74 151 57 15 237
11 111 149 106 243 0 97 226 242 198 128 156 114 27 50 239 102
12 185 73 87 66 144 24 51 211 172 240 197 37 168 180 173 55
13 26 208 150 5 254 177 56 45 238 158 174 108 113 119 246 84
14 236 4 148 219 98 207 64 23 124 250 187 78 136 125 59 82
15 196 10 183 203 58 184 199 176 16 153 252 152 201 103 12 200
Table 3: Comparison of statistical analysis parameters obtained for plain and encrypted Baboon images.
Images Entropy correlation Energy Contrast Homogeneity
PlainImage 7.358 0.830 0.089 0.617 0.787
CipherImage(cycle1) 7.4881 0.0041 0.0164 10.2438 0.3940
CipherImage(cycle2) 7.9514 0.0041 0.0156 10.2225 0.3918
CipherImage(cycle3) 7.9601 -0.0040 0.0156 10.5632 0.3879
AES 7.358 0.014 0.0160 10.50 0.400
Ref([16]) 7.358 0.026 0.016 9.849 0.402
2662
Abdoualwase M. Al-Azzani et al., International Journal of Advanced Trends in Computer Science and Engineering, 10(4), July – August 2021, 2658 – 2663
2663