| Literature DB >> 36236428 |
Pratyusa Mukherjee1, Hitendra Garg2, Chittaranjan Pradhan1, Soumik Ghosh3, Subrata Chowdhury4, Gautam Srivastava5,6,7.
Abstract
DNA (Deoxyribonucleic Acid) Cryptography has revolutionized information security by combining rigorous biological and mathematical concepts to encode original information in terms of a DNA sequence. Such schemes are crucially dependent on corresponding DNA-based cryptographic keys. However, owing to the redundancy or observable patterns, some of the keys are rendered weak as they are prone to intrusions. This paper proposes a Genetic Algorithm inspired method to strengthen weak keys obtained from Random DNA-based Key Generators instead of completely discarding them. Fitness functions and the application of genetic operators have been chosen and modified to suit DNA cryptography fundamentals in contrast to fitness functions for traditional cryptographic schemes. The crossover and mutation rates are reducing with each new population as more keys are passing fitness tests and need not be strengthened. Moreover, with the increasing size of the initial key population, the key space is getting highly exhaustive and less prone to Brute Force attacks. The paper demonstrates that out of an initial 25 × 25 population of DNA Keys, 14 keys are rendered weak. Complete results and calculations of how each weak key can be strengthened by generating 4 new populations are illustrated. The analysis of the proposed scheme for different initial populations shows that a maximum of 8 new populations has to be generated to strengthen all 500 weak keys of a 500 × 500 initial population.Entities:
Keywords: DNA cryptography; best key; data encryption; genetic algorithm; key generation
Mesh:
Substances:
Year: 2022 PMID: 36236428 PMCID: PMC9573340 DOI: 10.3390/s22197332
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.847
Analysis of Related Work.
| Author Name | Type of Cryptosystem | Genetic | Fitness Test Applied | Whether GA-Applied on Complete Initial Key Population |
|---|---|---|---|---|
| Soni et al. (2012) | Traditional | Selection | Nil | Yes |
| Singh et al. (2013) | Traditional | Crossover | Nil | Yes |
| Mishra et al. (2013) | Traditional | Selection | Pearson’s Coefficient of | Yes |
| Jhingran et al. (2015) | Traditional | Selection | Nil | Yes |
| Malhotra et al. (2015) | Traditional | Selection | Comparing with parents | No |
| Jain et al. (2017) | Traditional | Selection | Frequency Test. | Yes |
| Chunka et al. (2018) | Traditional | Selection | Frequency test, | Yes |
| Nazeer et al. (2018) | Traditional | Selection | Shannon Key Entropy | Yes |
| Kalsi et al. (2018) | DNA | Selection | Run Test and Needleman- Wunsch Algorithm | Yes |
| Turčaník et al. (2019) | Traditional | Selection | Frequency Test | Yes |
| Vidhya et al. (2020) | DNA | Selection | Shanon Key Entropy | Yes |
| Tahir et al. (2021) | Traditional | Selection | Shanon key Entropy | Yes |
| Abduljabbar et al. (2021) | Traditional | Selection | Nil | Yes |
| Salamudeen et al. (2021) | Audio | Bits fission Switching Mutation | Fission-Fusion Scheme | Yes |
| Garg et al. (2022) | DNA | Crossover | NA | Yes |
| Hussein et al. (2022) | Traditional | Crossover | Entropy Test | Yes |
Figure 1Block Diagram of Proposed Algorithm.
Calculation of Fitness Function based on Frequency Test (λ).
| Weak Key |
|
|
|
| σA | σT | σC | σG | λ1 |
|---|---|---|---|---|---|---|---|---|---|
| AGGTTCACTGGGCCCCTCTGCTTTT | 2 | 9 | 8 | 6 | 1.069 | 0.802 | 0.535 | 0 | 0.6015 |
| TGCTACGGGAAACAGACACGGTTAA | 9 | 4 | 5 | 7 | 0.802 | 0.535 | 0.266 | 0.266 | 0.4673 |
| TACTGGGGGGAGTTGTCCGCGGGAC | 3 | 5 | 5 | 12 | 0.802 | 0.266 | 0.266 | 1.603 | 0.7342 |
| ACATCTCTGTAACGACTAGATCCCT | 7 | 7 | 8 | 3 | 0.266 | 0.266 | 0.535 | 0.802 | 0.4673 |
| ACAACGCCACGATAGCCGTCACGTC | 7 | 3 | 10 | 5 | 0.266 | 0.802 | 1.069 | 0.266 | 0.6008 |
| ACAGGCCAGTGTCTTCACCAGACGA | 7 | 4 | 8 | 6 | 0.266 | 0.535 | 0.535 | 0 | 0.3340 |
| ATATTGTGACTTCTGGTCGAGGTAT | 5 | 10 | 3 | 6 | 0.266 | 1.069 | 0.802 | 0 | 0.5343 |
| TTTCTTCCTGGATGAGTTTGGTATC | 3 | 12 | 4 | 6 | 0.802 | 1.603 | 0.535 | 0 | 0.7350 |
| CGGGAGGGTACGTAGGAACGCCTAC | 6 | 3 | 6 | 9 | 0 | 0.802 | 0 | 0.802 | 0.4010 |
| TAGAGGCGAGCGCATGTAGCAAGGC | 7 | 3 | 5 | 9 | 0.266 | 0.802 | 0.266 | 0.802 | 0.5340 |
| GGAAACAGGTCGGGCGACGGGCCGC | 5 | 1 | 7 | 12 | 0.266 | 1.336 | 0.266 | 1.603 | 0.8677 |
| GTCCATATTGCAGTTAGAGATTCTG | 6 | 9 | 4 | 6 | 0 | 0.802 | 0.535 | 0 | 0.3343 |
| CGCGTTCGGAAGGGGGCACCATCTC | 4 | 4 | 8 | 9 | 0.535 | 0.535 | 0.535 | 0.802 | 0.6018 |
| CGAATCGGGAGGAAAATTTGTCTCT | 7 | 7 | 4 | 7 | 0.266 | 0.266 | 0.535 | 0.266 | 0.3332 |
Figure 2(a). Randomly Generated Initial 25 × 25. (b) Categorization of Keys among initial 25 × 25 Keys based on Fitness Tests.
Calculation of Fitness Function based on Gap Test (λ).
| Weak Key | λ2 |
|---|---|
| AGGTTCACTGGGCCCCTCTGCTTTT | 1 |
| TGCTACGGGAAACAGACACGGTTAA | 0 |
| TACTGGGGGGAGTTGTCCGCGGGAC | 1 |
| ACATCTCTGTAACGACTAGATCCCT | 0 |
| ACAACGCCACGATAGCCGTCACGTC | 0 |
| ACAGGCCAGTGTCTTCACCAGACGA | 0 |
| ATATTGTGACTTCTGGTCGAGGTAT | 0 |
| TTTCTTCCTGGATGAGTTTGGTATC | 0 |
| CGGGAGGGTACGTAGGAACGCCTAC | 0 |
| TAGAGGCGAGCGCATGTAGCAAGGC | 0 |
| GGAAACAGGTCGGGCGACGGGCCGC | 0 |
| GTCCATATTGCAGTTAGAGATTCTG | 0 |
| CGCGTTCGGAAGGGGGCACCATCTC | 1 |
| CGAATCGGGAGGAAAATTTGTCTCT | 1 |
Calculation of Sum of Fitness Functions of Frequency and Gap Test (λ) and Final Fitness Function ().
| Weak Key | λ1 | λ2 | λ |
|
|---|---|---|---|---|
| AGGTTCACTGGGCCCCTCTGCTTTT | 0.6015 | 1 | 1.6015 | 0.1868 |
| TGCTACGGGAAACAGACACGGTTAA | 0.4673 | 0 | 0.4673 | 0.3852 |
| TACTGGGGGGAGTTGTCCGCGGGAC | 0.7342 | 1 | 1.7342 | 0.1500 |
| ACATCTCTGTAACGACTAGATCCCT | 0.4673 | 0 | 0.4673 | 0.3852 |
| ACAACGCCACGATAGCCGTCACGTC | 0.6008 | 0 | 0.6008 | 0.3541 |
| ACAGGCCAGTGTCTTCACCAGACGA | 0.3340 | 0 | 0.3340 | 0.4181 |
| ATATTGTGACTTCTGGTCGAGGTAT | 0.5343 | 0 | 0.5343 | 0.3695 |
| TTTCTTCCTGGATGAGTTTGGTATC | 0.7350 | 0 | 0.7350 | 0.3241 |
| CGGGAGGGTACGTAGGAACGCCTAC | 0.4010 | 0 | 0.4010 | 0.4011 |
| TAGAGGCGAGCGCATGTAGCAAGGC | 0.5340 | 0 | 0.5340 | 0.3695 |
| GGAAACAGGTCGGGCGACGGGCCGC | 0.8677 | 0 | 0.8677 | 0.2958 |
| GTCCATATTGCAGTTAGAGATTCTG | 0.3343 | 0 | 0.3343 | 0.4171 |
| CGCGTTCGGAAGGGGGCACCATCTC | 0.6018 | 1 | 1.6018 | 0.1677 |
| CGAATCGGGAGGAAAATTTGTCTCT | 0.3332 | 1 | 1.3332 | 0.2113 |
Weak Keys in decreasing order of Final Fitness Function ().
| Weak Key |
|
|---|---|
| ACAGGCCAGTGTCTTCACCAGACGA | 0.4181 |
| GTCCATATTGCAGTTAGAGATTCTG | 0.4171 |
| CGGGAGGGTACGTAGGAACGCCTAC | 0.4011 |
| TGCTACGGGAAACAGACACGGTTAA | 0.3852 |
| ACATCTCTGTAACGACTAGATCCCT | 0.3852 |
| ATATTGTGACTTCTGGTCGAGGTAT | 0.3695 |
| TAGAGGCGAGCGCATGTAGCAAGGC | 0.3695 |
| ACAACGCCACGATAGCCGTCACGTC | 0.3541 |
| TTTCTTCCTGGATGAGTTTGGTATC | 0.3241 |
| AGGTTCACTGGGCCCCTCTGCTTTT | 0.1868 |
| GGAAACAGGTCGGGCGACGGGCCGC | 0.2958 |
| CGAATCGGGAGGAAAATTTGTCTCT | 0.2113 |
| CGCGTTCGGAAGGGGGCACCATCTC | 0.1677 |
| TACTGGGGGGAGTTGTCCGCGGGAC | 0.1500 |
Figure 3New Population after Crossover for Crossover Point (CP) = 12.
The number of instances to be muted (m) calculation for Child Population.
| Child String |
|
|
|
|
|
|
|---|---|---|---|---|---|---|
| ACAGGCCAGTGTGTTAGAGATTCTG | 6 | 7 |
|
| 6 | 2 |
| GTCCATATTGCACTTCACCAGACGA | 7 | 6 |
|
| 6 | 2 |
| CGGGAGGGTACGCAGACACGGTTAA | 7 |
| 5 |
| 6 | 3 |
| TGCTACGGGAAATAGGAACGCCTAC |
|
| 6 | 7 | 6 | 2 |
| ACATCTCTGTAACTGGTCGAGGTAT | 6 |
|
| 6 | 6 | 1 |
| ATATTGTGACTTCGACTAGATCCCT | 6 |
| 6 |
| 6 | 2 |
| TAGAGGCGAGCGTAGCCGTCACGTC | 5 |
| 7 |
| 6 | 2 |
| ACAACGCCACGACATGTAGCAAGGC |
|
| 8 | 6 | 6 | 4 |
| TTTCTTCCTGGACCCCTCTGCTTTT |
|
| 9 | 3 | 6 | 5 |
| AGGTTCACTGGGTGAGTTTGGTATC | 4 |
|
| 9 | 6 | 3 |
| GGAAACAGGTCGAAAATTTGTCTCT |
| 7 |
| 6 | 6 | 2 |
| CGAATCGGGAGGGGCGACGGGCCGC | 4 |
| 7 |
| 6 | 5 |
| CGCGTTCGGAAGTTGTCCGCGGGAC |
| 5 | 7 |
| 6 | 3 |
| TACTGGGGGGAGGGGGCACCATCTC |
| 4 | 6 |
| 6 | 2 |
Figure 4Mutation of Child Population.
Figure 5(a) First New Population after Crossover and Mutation. (b) Weak Keys in the First New Population based on Fitness Tests.
Calculation of Final Fitness Function (F) for First New Population.
| Weak Key |
|
|
|
| σA | σT | σC | σG | λ1 | λ2 | λ |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TATCTACCTGGACCCCTCAGCTATA | 6 | 7 | 9 | 3 | 0 | 0.266 | 0.802 | 0.802 | 0.4675 | 1 | 1.4675 | 0.1873 |
| AGGCTCACTGGGCGAGTCTGGTATC | 4 | 6 | 6 | 9 | 0.535 | 0 | 0 | 0.802 | 0.3342 | 0 | 0.3342 | 0.4172 |
| CTAATCTGTAGTGGCGACGTGCCGC | 4 | 6 | 7 | 8 | 0.535 | 0 | 0.266 | 0.535 | 0.3340 | 0 | 0.3340 | 0.4172 |
| TACTGGAGGGAGGAGGCACCATCTC | 6 | 4 | 6 | 9 | 0 | 0.535 | 0 | 0.802 | 0.3342 | 0 | 0.3342 | 0.4172 |
Figure 6(a) Child Population from First New Population. (b) Mutation of Child Population from First New Population. (c) Second New Population after Crossover and Mutation. (d) Weak Keys in the Second New Population based on Fitness Tests.
The number of instances to be muted (m) calculation in First New Population.
| Child String |
|
|
|
|
|
|
|---|---|---|---|---|---|---|
| TATCTACCTGGACGAGTCTGGTATC |
|
| 6 | 6 | 6 | 1 |
| AGGCTCACTGGGCCCCTCAGCTATA | 5 |
|
| 6 | 6 | 1 |
| CTAATCTGTAGTGAGGCACCATCTC | 6 |
|
|
| 6 | 1 |
| TACTGGAGGGAGGGCGACGTGCCGC | 4 |
| 6 |
| 6 | 3 |
Figure 7(a) Child Population from Second New Population (b) Mutation of Child Population from Second New Population. (c) Third New Population after Crossover and Mutation. (d) Weak Keys in the Third New Population based on Fitness Tests.
The number of instances to be muted (m) calculation for Second New Population.
| Child String |
|
|
|
|
|
|
|---|---|---|---|---|---|---|
| AGGCTCACTGGGTGCGACGTGCCGC |
| 4 | 8 |
| 6 | 3 |
| TACTGTAGTGAGCTCCTCAGCTATA | 6 |
| 6 |
| 6 | 1 |
The number of instances to be muted (m) calculation for Third New Population.
| Child String |
|
|
|
|
|
|
|---|---|---|---|---|---|---|
| AGACTCACTGAGTGCGACGTACCGC | 6 |
|
|
| 6 | 2 |
Figure 8Mutation of Child Population from Third New Population.
Figure 9(a) Third New Population after Crossover and Mutation. (b) Weak Keys in the Third New Population based on Fitness Tests.
Figure 10Comparison of Crossover and Mutation Rate in Different Generations.
The number of Weak Keys Obtained for Different values of N and M.
|
| 14 | 22 | 24 | 24 | 24 | 25 | 25 | 25 | 25 | 25 | 25 |
|
| 22 | 38 | 44 | 49 | 49 | 49 | 50 | 50 | 50 | 50 | 50 |
|
| 34 | 87 | 94 | 97 | 98 | 98 | 99 | 99 | 100 | 100 | 100 |
|
| 60 | 89 | 95 | 112 | 139 | 146 | 147 | 148 | 149 | 150 | 150 |
|
| 79 | 98 | 126 | 157 | 164 | 179 | 198 | 198 | 199 | 200 | 200 |
|
| 89 | 99 | 135 | 168 | 173 | 191 | 240 | 248 | 249 | 250 | 250 |
|
| 107 | 115 | 142 | 196 | 248 | 289 | 291 | 298 | 299 | 299 | 300 |
|
| 137 | 141 | 156 | 198 | 249 | 324 | 335 | 340 | 350 | 350 | 350 |
|
| 148 | 159 | 175 | 180 | 237 | 329 | 367 | 384 | 400 | 400 | 400 |
|
| 158 | 173 | 192 | 226 | 290 | 316 | 384 | 437 | 450 | 450 | 450 |
|
| 173 | 213 | 246 | 287 | 314 | 384 | 453 | 488 | 497 | 500 | 500 |
Number of Populations Generated to Strengthen the Weak Keys for Different values of N and M.
|
| 4 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 |
|
| 5 | 5 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 |
|
| 5 | 7 | 7 | 7 | 7 | 7 | 7 | 7 | 7 | 7 | 7 |
|
| 6 | 6 | 7 | 7 | 7 | 7 | 7 | 7 | 7 | 7 | 7 |
|
| 6 | 7 | 7 | 7 | 7 | 8 | 8 | 8 | 8 | 8 | 8 |
|
| 7 | 7 | 7 | 7 | 7 | 8 | 8 | 8 | 8 | 8 | 8 |
|
| 7 | 7 | 7 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 |
|
| 7 | 7 | 7 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 |
|
| 7 | 7 | 7 | 7 | 8 | 8 | 8 | 8 | 8 | 8 | 8 |
|
| 7 | 7 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 |
|
| 7 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 |
Figure 11Size of Key Space to be searched for Brute Force Attacks for different values of M and N.