As cloud storage systems have developed and been applied in complex environments, their data security has become more prevalent in recent years. The issue has been approached through many models. Data is encrypted and stored in these models. One of the most widely used encryption methods is the Advanced Encryption Standard (AES). In AES, the Substitution box(Sbox) is playing a significant part in imparting the job of confusion. The security of the entire cryptosystem depends on its nonlinearity. In this work, a robust and secure Sbox is constructed using a novel method,
A new trend in the computer field is cloud computing, which is used as a method of storing data. The physical storage device makes it impossible to store huge amounts of confidential or sensitive information. Therefore, cloud computing comes into play for storing the data in accordance with their needs. As long as the data is stored in the cloud, it is easily accessible to all, and maintaining its confidentiality is not possible. To protect the data from unauthorized user, encrypted data can be stored into the cloud. Encryption is the process which converts the plain text into an unreadable form. It has two significant types of encryption techniques which are symmetric cryptosystem, asymmetric cryptosystem. Symmetric cryptosystem uses a single key for both encryption and decryption. Stream cipher and Block cipher are the two categories of the Symmetric cryptosystem. Block cipher encrypts a block of plaintext at a time and uses confusion, diffusion process. It is hard for reverse encryption. On the other hand, stream cipher encrypts a plaintext bytebybyte or bitbybit. It is dependent only on confusion, and also reversing the encrypted text is easy. Merely, a block cipher is more efficient than a stream cipher encryption algorithm. SubstitutionPermutation and Feistel cipher are the two categories of block cipher encryption.
Many new cryptographic techniques are evolving recently, notably quantum computing and postquantum cryptography. Postquantum cryptography is a method to establish a new cryptosystem that offers better security against classical and quantum computers. NIST has recommended the AES 256 block cipher encryption algorithm as quantumresistant, and it is one of the widely used block cipher encryption algorithms. AES converts the plaintext into ciphertext with a different number of round of operations. The number of rounds depends on the key length. Each round consists of set of operations that use a different key which includes Substitution and permutation operations. These are the essential function in AES which provides confusion and diffusion by using Sbox and Pbox respectively. Diffusion is the property that conceals the bond between the plaintext and ciphertext, accomplished through transposition function. PBox (Permutation box) is responsible for diffusion operation. Confusion is the sole nonlinear component of Sbox. It hides the relationship between the ciphertext and the key. Sbox provides confusion by replacing one set of bits with another set of bits. Therefore, it is cumbersome for the attacker to find the key from the ciphertext. The complexity of the confusion process depends upon the robustness of an Sbox. As the AES uses a static Sbox in each round, it allows the attacker to cryptanalyze the ciphertext that is produced by the block cipher. In order to overcome this limitations, various methods have been suggested by the researchers for constructing Sbox. Namely, Chaotic systems, affine transformation, Algebraic operations, Heuristic methods and etc. In this paper, A novel method is presented to get the robust Sbox using fingerprint features. The robustness and the strength of the Sbox is examined by the standard cryptographical properties needs to be examined to define the strength and robustness of an Sbox. An intense literature study is carried out and described in the below section considering these needs.
Several authors have demonstrated numerous works to construct a robust Sbox for effective operation. An intense literature study is carried out and portrayed below.
Jamal S.S [
Malik et al. [
As discussed above, Researchers have proposed numerous methods to construct the strong Sbox, notably the Pseudorandom number generator algorithm, inversion mapping, heuristic method, power polynomial, linear fractional transformation, algebraic method, and chaosbased system to generate the initial Sbox due to its high randomness, nonlinearity, and simplicity. Followed by complex mathematical operations, and permutations were applied to improve the strength of the Sbox. However, it adapted the initial seed values to produce the random number sequence. The attacker could easily predict these seed values that may reduce the reliability of the design. Therefore, it is essential to construct an Sbox with unpredictable random sequences.
Here, we propose a method of constructing Sboxes using the fingerprint features of the sender [
Based on the perceived research gaps, this work targets the following objectives:
To construct the initial Sbox using biometric features of the user like ridges and bifurcations
To adapt Zigzag transformationbased permutation function on initial Sbox for optimal Sbox design.
To investigate the randomness of the fingerprintbased Sbox using NIST SP 80022 data.
To analyze the cryptographical properties of the proposed scheme using the online tool ‘Sbox analyzer’ [
To design a robust Sbox for effective security systems compared with existing methods.
The rest of the article is structured as follows: Section 2 represents the proposed method and its design factors such as image acquisition, preprocessing, and permutation; Section 3 describes the analysis features of constructed Sbox using various characteristics; Section 4 demonstrates a detailed comparative study considering the previous works; Section 5 concludes the article based on the observed outcome from the proposed scheme.
The elements of the Sbox ought to be random, highly nonlinear. And, it needs to satisfy the basic cryptographical properties to use for encryption and decryption. Therefore, random numbers are generated from the adapted fingerprint patterns of the user transmitting the information. It has many special features, including spur, ridge endings, core points, ridge dots, bifurcations, delta points, ridge islands, ponds, and bridges. These are also known as minutiae points that can determine uniqueness, and the most frequently used features are ridges and bifurcations. In this work, we have constructed the Sbox in two stages. Initially, we have built an Sbox using the ridge and bifurcation features and explained in Section 2.1. And then, Zigzag transformationbased permutation is applied over the initial Sbox to enhance the strength of the Sbox. The user who wants to store their information in the cloud can encrypt the data using the enhanced fingerprintbased Sbox. This allows the right person to decrypt the ciphertext.
Fingerprintbased Sbox construction consists of four phases. It includes fingerprint image acquisition, preprocessing, feature extraction, and mathematical operations on the feature coordinates to fill the Sbox. In order to prove that any fingerprint can provide a strong Sbox, we have taken fingerprints of two users for our experiment.
In this stage, the biometric scanner scans the user’s fingerprint. Notably, the fingerprint image’s quality depends on the scanner‘s quality and the finger’s position during the scanning process. It is not easy to extract accurate minutiae points from the poorquality image. The researchers state that a good quality scanner can acquire 25 to 100 minutiae points. The observed source image of User1 and User2 from the scanner is shown in
It plays a principal role in enhancing the quality of the acquired image. It helps to extract required features with high accuracy from the fingerprint image using the defined functions such as binarization and thinning.
i. Binarization: It is the process of transforming the acquired image into black and white (0’s and 1’s) through thresholding, as illustrated in
ii. Thinning: It is a morphological operation and is performed number of times until the image no longer changes, intending to remove imperfections from the binary image. As an outcome, the skeleton of the image with a singlepixel wide is obtained and given in
iii. Feature Extraction (FE): The last step of preprocessing is called feature extraction (FE). There are two types of FE, namely local and global features. In this work, local features are considered ridge endings and ridge bifurcations. It reduces the dimension of an image to extract precise and essential components from an image. Minutiae points (Mp) are extracted from the thinned image (
where
We constructed the initial Sbox from two different fingerprints by performing an XOR operation between coordinates of the fingerprint features, and the respective consequence is illustrated in
1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  

166  164  83  95  178  94  253  39  56  237  50  23  35  236  20  101  
120  14  251  214  97  41  219  51  243  54  230  184  182  4  0  55  
235  239  132  138  71  197  78  248  205  173  174  123  127  217  82  77  
100  102  107  177  88  186  159  52  196  57  183  99  25  92  212  80  
45  190  220  6  2  206  209  228  24  84  231  213  204  87  252  28  
96  245  147  158  79  156  143  140  65  142  43  42  167  40  161  34  
53  195  146  144  229  234  125  113  233  103  149  135  155  154  226  153  
216  225  227  238  232  115  171  124  222  223  136  33  221  93  160  162  
157  90  72  150  73  151  85  169  86  170  175  188  189  67  66  3  
15  68  181  180  244  133  26  141  134  129  130  131  61  128  137  91  
11  21  18  246  32  247  145  187  139  163  185  218  112  165  118  249  
250  12  211  31  30  19  210  29  27  179  37  224  193  152  200  207  
203  198  194  5  47  104  176  46  98  172  89  168  148  7  48  105  
191  8  49  106  192  9  58  108  199  10  59  109  201  13  60  110  
202  16  62  111  208  17  63  114  215  22  64  116  240  1  69  117  
241  38  70  119  242  44  74  121  254  36  75  122  255  76  126  81 
1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  

93  91  47  51  58  10  9  57  246  55  194  53  64  71  46  18  
126  229  238  36  224  42  33  7  24  255  31  219  38  3  13  34  
202  61  230  22  29  32  208  50  15  75  63  215  8  218  223  243  
253  191  12  28  199  227  205  203  231  37  20  44  14  2  17  25  
30  214  39  212  35  220  21  206  244  209  193  249  252  192  43  247  
200  211  248  201  221  40  59  198  62  41  27  60  81  49  74  76  
56  125  102  107  148  73  106  150  83  0  82  90  139  138  136  128  
190  5  4  77  65  6  66  67  116  78  84  92  19  16  108  144  
145  147  11  48  26  170  186  168  171  187  23  104  113  184  52  112  
119  177  178  118  179  105  115  114  160  130  166  167  175  133  174  132  
121  122  96  172  1  117  185  110  176  123  155  151  94  226  95  99  
225  100  235  236  85  240  242  97  124  68  239  154  254  228  237  251  
109  213  245  153  204  146  232  143  142  141  140  241  234  233  207  127  
165  181  182  164  161  162  183  250  163  210  173  69  189  111  80  86  
120  45  196  197  169  70  89  72  195  54  88  222  87  98  129  134  
101  152  216  79  103  131  135  137  149  156  157  158  159  180  188  217 
It is a process of rearranging the elements of the matrix in the shape of ‘Z’ letter. It can improve the diffusion level and enhances the strength of the Sbox further. Three types of Zigzag transformation are in use to change the position of a matrix. Namely, the Standard Zigzag Transformation process (SZT), Modified Zigzag Transformation process (MZT), and Parallel way of the Zigzag Transformation process (PZT). In SZT, the matrix elements are scanned from the top left corner, and ending with the bottom right corner (
The flowchart of the complete process is given in
Step 1: Initialize an Sbox(16 × 16) with zeroes 
Step 2: Acquire the biometric image from the biometric scanner and store it in I. 
I = Input(Image) 
Step 3: Apply binarization methods on the acquired image 
Step 3.1: Get the height(h) and width(w) of an image(I) 
for i = 1 to h 
for j = 1 to w 
if (I(i,j) ≥ Threshold) 
Step 4: Perform morphological operation on binarized image to get the thinned image 
Step 5: Extract the ridge and bifurcation features (minutiae points) from the thinned image 
Step 5.1: minutiae points = 
Step 5.2: Get the number of ridges and bifurcations and store it in n_{1}, n_{2} respectively 
Step 6: Initialize n, i and j with zero 
for i = 1 to n_{1} 
BEGIN 


n = n+1 
i = i+1 
END BEGIN 
for j = 1 to n_{2} 
BEGIN 

if ( 

n = n+1 
j = j+1 
END BEGIN 
Step 7: print(Sbox) 
1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  

166  164  133  245  14  226  219  90  113  106  123  100  209  116  178  46  
82  138  26  249  243  104  214  217  141  220  21  4  186  236  25  174  
180  198  228  216  23  156  213  43  235  230  221  136  195  175  66  93  
121  159  55  77  78  41  60  167  223  131  109  7  210  87  130  95  
51  40  237  204  6  15  250  252  108  254  222  75  45  145  36  184  
177  190  98  35  88  188  203  47  19  171  92  117  173  61  63  111  
189  143  181  248  218  224  227  24  57  187  197  125  44  83  16  147  
124  140  146  162  1  132  42  20  37  33  112  11  241  244  91  48  
102  53  135  101  34  158  73  206  38  32  13  251  157  128  139  86  
165  0  76  50  129  59  65  176  29  67  2  79  199  154  163  238  
182  54  144  58  120  194  170  231  99  80  232  168  119  52  200  148  
208  253  142  207  94  169  39  205  12  28  153  193  31  74  18  215  
255  234  211  84  107  71  229  85  246  239  64  10  191  202  172  56  
72  225  115  137  151  150  17  110  247  30  185  242  3  27  212  155  
9  5  70  89  62  161  152  233  49  240  183  114  96  103  201  8  
196  122  97  179  105  192  127  134  160  22  68  69  118  149  126  81 
1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  

93  91  170  113  58  107  146  41  65  14  220  32  172  39  46  28  
182  229  219  53  135  178  29  78  8  177  249  122  4  255  117  33  
240  44  197  22  82  79  214  213  62  208  36  119  209  92  6  150  
40  5  9  246  211  102  198  221  165  123  47  43  245  154  12  56  
231  191  13  19  63  83  183  140  0  192  224  49  101  254  88  31  
127  145  148  142  51  68  108  124  71  252  73  7  199  205  10  130  
60  149  194  61  109  120  202  98  174  196  94  15  116  161  50  232  
190  111  118  126  225  76  30  67  24  11  226  90  99  244  187  223  
181  66  97  200  179  248  16  72  171  251  121  247  134  139  230  112  
37  163  215  168  250  201  3  125  238  86  34  25  80  131  57  1  
106  157  141  241  195  166  236  216  206  147  21  159  203  167  144  253  
70  42  212  18  96  222  235  115  227  75  114  164  48  45  207  143  
132  233  35  2  100  180  59  243  151  176  133  95  137  156  52  155  
160  23  26  242  128  87  210  110  17  237  64  105  189  38  204  193  
54  27  89  184  74  85  136  164  186  69  138  55  103  169  129  218  
234  152  228  81  173  239  153  104  185  20  175  158  77  84  188  217 
It is known that the Sbox elements are random and nonlinear and it is necessary to maintain these elements as unpredictable. NIST STS, Dieharder Test are commonly used for randomness testing. Among these, NIST STS is the popular and faster random analysis method. The NIST randomness test considered fifteen statistical assessments to prove the randomness. These assessments determine the power of randomness, and the significant value (ρ) utilized for examination is 0.01, as expressed by NIST. Every assessment result is compared with the significant value (ρ). If ρ is greater than or equal to 0.01, then the sequence is random or irregular. If ρ < 0.01, then it is regular sequence. Moreover, if the significant value is 0, then the sequence is completely nonrandom. Also, if the ρ is 1, then the sequence is said to be perfectly random. The frequency test is the basic test to evaluate the randomness of the data. If the significant value (ρ) of the frequency test is less than 0.01, then there is the possibility of failing all other tests. The minimum sequence length to perform all the NIST STS test is 10,00,000 bits with minimum of 100 sequences. Each sequence should have 10,00,000 bits. Certain types of the test cannot be executed when the length of the sequences is less than the required limit. For example, the approximate entropy test and universal statistical test which requires 106 bits. In [
The Sbox elements are converted into binary sequences and concatenated together to form 2048 bits and its randomness is verified. It is perceived that the enhanced fingerprintbased Sbox satisfies thirteen tests out of 15 tests. It fails to satisfy the approximate entropy test and universal statistical test because it requires a long sequence.
We have analyzed the randomness of Enhanced fingerprintbased Sbox of User1 from the obtained ciphertext by employing the proposed Sbox in AES encryption [
NIST statistical test/ 
Ref. [ 
Ref. [ 
Ref. [ 
Ref. [ 
Proposed  

10,00,000 bits  2048 bits  10000 bits  100 bits  2048 bits  13028 bits  
Frequency test  0.304126  1.000000  0.080519  0.580000  1.000000  0.362211 
Block frequency test  0.739918  0.102530  0.494392  –  0.149349  0.459487 
Run test  0.334538  0.658531  0.102526  0.500000  0.626870  0.980216 
Longest run of ones in a block  0.534146  1.000000  0.678686  1.000000  0.999999  0.340905 
Binary matrix rank test  0.637119  0.481248  0.69372  –  0.085200  0.858362 
Discrete Fourier Transform test  0.759756  0.208675  0.121488  –  0.570187  0.407615 
NonOverlapping Template Test  0.145326  0.844144  –  0.128475  0.560620  
Overlapping Template Matching Test  0.213309  0.282761  –  0.488415  0.475823  
Linear Complexity test  0.202268  0.481431  0.918243  –  0.868443  0.206109 
Serial Test 1  0.739918  0.645337  0.00513  –  0.600084  0.900023 
Serial Test 2  0.955835  –  0.324382  0.817120  
Cumulative Sums test – Forward 
0.867692  0.984155  0.664283  0.580000  0.223219 
0.459428 
Random Excursion Test X = 1  0.110952  NA  –  0.589884  0.247998  
Random Excursion Variant Test X = 1  0.468595  NA  –  0.917850  0.737315  
Approximate Entropy Test  0.334538  0.024931  0.991535  –  NA  0.356464 
Universal Statistical Test  –  NA  –  NA  NA 
Performance Evaluation Test is used to evaluate the strength of the Sbox. To ensure an efficient Sbox, it should satisfy the cryptographic criteria: Bijective, Nonlinearity, Bit Independence Criterion, Strict avalanche, and Linear approximation probability. In this section, the proposed Sbox’s cryptographical capability is analyzed with the properties mentioned above using the Sbox analyzer tool.
Commonly, the Sbox is bijective when the observed output values of the proposed Sbox fall between the defined interval. Also, a Boolean function
The term ‘
Pieprzyk and Finkelstein introduced the nonlinearity model. It is the first and foremost requirement of the Sbox. To realize the higher nonlinearity, the elements of the Sbox should be highly random. The optimal value of nonlinearity of the Boolean function is defined as follows:
Further, Boolean function nonlinearity is described using the below equation.
Notably, the Walsh spectrum is used to compute the nonlinearity of the Boolean expression as described below.
For symmetric Boolean functions, the nonlinearity of Sbox should lie between 100 and 120. If the experimental values violate the said band, it is susceptible to cryptanalysis. However, the proposed scheme offers the best value of about 108 as maximum nonlinearity and average nonlinearity of 106 (
0  1  2  3  4  5  6  7 

106  106  106  108  106  106  104  106 
Tavares and Webster introduced SAC in 1986 to investigate the strength of the cryptosystem. Its scale should satisfy by changing a single input bit that reflects the change of about 50% of the output bits,
1  2  3  4  5  6  7  8  

0.5625  0.375  0.4688  0.5  0.5781  0.5156  0.5781  0.4531  
0.4531  0.5312  0.5156  0.5156  0.5312  0.5  0.4844  0.4844  
0.5  0.4688  0.5312  0.5938  0.4844  0.5156  0.5625  0.4375  
0.5156  0.4688  0.4844  0.4375  0.5156  0.5312  0.5156  0.4688  
0.5312  0.5  0.4844  0.5938  0.5156  0.5938  0.5312  0.5312  
0.4375  0.4531  0.5625  0.4531  0.5312  0.5156  0.4844  0.4375  
0.4688  0.5  0.4219  0.5781  0.5156  0.5625  0.5156  0.5  
0.4531  0.5156  0.4844  0.5  0.5312  0.4531  0.4844  0.5312 
BIC is a cryptosystem parameter introduced by Webster and Tavares. This analysis required maintaining the output bits that should not correlate with each other. Also, an adjustment in any single input bit and respective output bits should change independently for avalanche vectors. It is essential to satisfy the BIC with maximum nonlinearity and SAC, as shown in
1  2  3  4  5  6  7  8  

0  0.5098  0.4785  0.5137  0.498  0.4941  0.5039  0.5137  
0.5098  0  0.5078  0.4941  0.5078  0.5  0.4688  0.502  
0.4785  0.5078  0  0.5234  0.5176  0.5  0.4941  0.4805  
0.5137  0.4941  0.5234  0  0.5117  0.5195  0.5039  0.5059  
0.498  0.5078  0.5176  0.5117  0  0.4883  0.4883  0.5176  
0.4941  0.5  0.5  0.5195  0.4883  0  0.498  0.4863  
0.5039  0.4688  0.4941  0.5039  0.4883  0.498  0  0.4961  
0.5137  0.502  0.4805  0.5059  0.5176  0.4863  0.4961  0 
1  2  3  4  5  6  7  8  

0  102  104  104  106  104  104  104  
102  0  102  104  102  104  108  106  
104  102  0  108  108  102  104  106  
104  104  108  0  108  106  98  104  
106  102  108  108  0  106  106  102  
104  104  102  106  106  0  104  104  
104  108  104  98  106  104  0  104  
104  106  106  104  102  104  104  0 
The above tables show that the value of BICnonlinearity and BICSAC are within the acceptable range. It ensures the robustness of the proposed Sbox further.
It evaluates the resistance power against differential attacks. The lower range of Differential Uniformity value represent a high resistance during differential cryptanalysis attack and computed using the following equation.
where Z is a collection of all possible input values;
The observed results are compared with recently published works using different strategies to validate the effectiveness of the proposed Sbox notably, QW Sbox (QWSB) [
It is perceived that the maximum nonlinearity of Fingerprintbased initial Sbox1 of user1 was 106 initially, and then it is improved to 108 after permutation. Further, the average value of SAC value of the proposed scheme offered the best deal, about 0.5039. It shows that the proposed system satisfies the strict avalanche criterion. Sbox quality is depending on the smaller value of differential uniformity. The differential uniformity of the enhanced FSB is 10, which is lesser than the other methodologies. The cryptographic criterions of Sbox (NL, SAC, DU, BICSAC, BICNL) is compared with other Sboxes and illustrated in
Techniques used  Avg. NL  Min. NL  Max. NL  Avg. SAC  BICNL  BICSAC  DU 

QW Sbox (QWSB) [ 
102.5  96  106  0.5037  103.93  0.497  10 
Algebraic Technique (AT) [ 
107.25  106  108  0.5034  105.29  0.4966  12 
Spatiotemporal Chaotic System (SCS) [ 
104.5  102  108  0.498  104.64  0.5013  12 
Cascaded Discretetime Quantum Walk (CDTQW) [ 
103.5  98  106  0.4958  103.5  0.5021  14 
Fractionalorder chaotic Chen system (FCCS) [ 
104.7  100  108  0.4982  103.1  0.4942  10 
Gingerbreadman chaotic map (GBCM) [ 
102.5  96  106  0.5178  102.64  0.4926  54 
Binary Chaotic Sequence (BCS) [ 
100  84  106  0.4812  101.93  0.4978  16 
Proposed  FSB of User 1  106  104  108  0.5039  104.43  0.5008  10 
Proposed  FSB of User 2  104.75  102  108  0.5181  103.71  0.5023  10 
An effective Sbox is constructed using fingerprint pattern and permutation function in this work. Initially, Sbox is built from XY coordinates of the user’s extracted fingerprint features (ridges, bifurcation). Subsequently, Recursive Zigzag transformationbased permutation function is carried out on the initial Sbox to boost the overall characteristics. Further, a randomness test and cryptographic efficiency are performed to check Sbox’s strength. From the observed results, the following conclusions are made:
The maximum range of nonlinearity is obtained from the proposed Sbox of about 108 and the 106 as average nonlinearity.
SAC shows a significant scale of about 0.5039, closer to the required band (0.5).
BICNL and BICSAC offer the best value, about 104.43 and 0.5008, respectively.
The rate of DU also superior for the proposed scheme compared with existing methods.
The statistical results reveal that the proposed scheme satisfies all the cryptographic properties, and therefore the proposed Sbox is strong enough against linear and differential attacks. An optimization model can be incorporated with this scheme for further enhancement in the future.