
- Cryptography - Home
- Cryptography - Origin
- Cryptography - History
- Cryptography - Principles
- Cryptography - Applications
- Cryptography - Benefits & Drawbacks
- Cryptography - Modern Age
- Cryptography - Traditional Ciphers
- Cryptography - Need for Encryption
- Cryptography - Double Strength Encryption
- Cryptosystems
- Cryptosystems
- Cryptosystems - Components
- Attacks On Cryptosystem
- Cryptosystems - Rainbow table attack
- Cryptosystems - Dictionary attack
- Cryptosystems - Brute force attack
- Cryptosystems - Cryptanalysis Techniques
- Types of Cryptography
- Cryptosystems - Types
- Public Key Encryption
- Modern Symmetric Key Encryption
- Cryptography Hash functions
- Key Management
- Cryptosystems - Key Generation
- Cryptosystems - Key Storage
- Cryptosystems - Key Distribution
- Cryptosystems - Key Revocation
- Block Ciphers
- Cryptosystems - Stream Cipher
- Cryptography - Block Cipher
- Cryptography - Feistel Block Cipher
- Block Cipher Modes of Operation
- Block Cipher Modes of Operation
- Electronic Code Book (ECB) Mode
- Cipher Block Chaining (CBC) Mode
- Cipher Feedback (CFB) Mode
- Output Feedback (OFB) Mode
- Counter (CTR) Mode
- Classic Ciphers
- Cryptography - Reverse Cipher
- Cryptography - Caesar Cipher
- Cryptography - ROT13 Algorithm
- Cryptography - Transposition Cipher
- Cryptography - Encryption Transposition Cipher
- Cryptography - Decryption Transposition Cipher
- Cryptography - Multiplicative Cipher
- Cryptography - Affine Ciphers
- Cryptography - Simple Substitution Cipher
- Cryptography - Encryption of Simple Substitution Cipher
- Cryptography - Decryption of Simple Substitution Cipher
- Cryptography - Vigenere Cipher
- Cryptography - Implementing Vigenere Cipher
- Modern Ciphers
- Base64 Encoding & Decoding
- Cryptography - XOR Encryption
- Substitution techniques
- Cryptography - MonoAlphabetic Cipher
- Cryptography - Hacking Monoalphabetic Cipher
- Cryptography - Polyalphabetic Cipher
- Cryptography - Playfair Cipher
- Cryptography - Hill Cipher
- Polyalphabetic Ciphers
- Cryptography - One-Time Pad Cipher
- Implementation of One Time Pad Cipher
- Cryptography - Transposition Techniques
- Cryptography - Rail Fence Cipher
- Cryptography - Columnar Transposition
- Cryptography - Steganography
- Symmetric Algorithms
- Cryptography - Data Encryption
- Cryptography - Encryption Algorithms
- Cryptography - Data Encryption Standard
- Cryptography - Triple DES
- Cryptography - Double DES
- Advanced Encryption Standard
- Cryptography - AES Structure
- Cryptography - AES Transformation Function
- Cryptography - Substitute Bytes Transformation
- Cryptography - ShiftRows Transformation
- Cryptography - MixColumns Transformation
- Cryptography - AddRoundKey Transformation
- Cryptography - AES Key Expansion Algorithm
- Cryptography - Blowfish Algorithm
- Cryptography - SHA Algorithm
- Cryptography - RC4 Algorithm
- Cryptography - Camellia Encryption Algorithm
- Cryptography - ChaCha20 Encryption Algorithm
- Cryptography - CAST5 Encryption Algorithm
- Cryptography - SEED Encryption Algorithm
- Cryptography - SM4 Encryption Algorithm
- IDEA - International Data Encryption Algorithm
- Public Key (Asymmetric) Cryptography Algorithms
- Cryptography - RSA Algorithm
- Cryptography - RSA Encryption
- Cryptography - RSA Decryption
- Cryptography - Creating RSA Keys
- Cryptography - Hacking RSA Cipher
- Cryptography - ECDSA Algorithm
- Cryptography - DSA Algorithm
- Cryptography - Diffie-Hellman Algorithm
- Data Integrity in Cryptography
- Data Integrity in Cryptography
- Message Authentication
- Cryptography Digital signatures
- Public Key Infrastructure
- Hashing
- MD5 (Message Digest Algorithm 5)
- SHA-1 (Secure Hash Algorithm 1)
- SHA-256 (Secure Hash Algorithm 256-bit)
- SHA-512 (Secure Hash Algorithm 512-bit)
- SHA-3 (Secure Hash Algorithm 3)
- Hashing Passwords
- Bcrypt Hashing Module
- Modern Cryptography
- Quantum Cryptography
- Post-Quantum Cryptography
- Cryptographic Protocols
- Cryptography - SSL/TLS Protocol
- Cryptography - SSH Protocol
- Cryptography - IPsec Protocol
- Cryptography - PGP Protocol
- Image & File Cryptography
- Cryptography - Image
- Cryptography - File
- Steganography - Image
- File Encryption and Decryption
- Cryptography - Encryption of files
- Cryptography - Decryption of files
- Cryptography in IoT
- IoT security challenges, Threats and Attacks
- Cryptographic Techniques for IoT Security
- Communication Protocols for IoT Devices
- Commonly Used Cryptography Techniques
- Custom Building Cryptography Algorithms (Hybrid Cryptography)
- Cloud Cryptography
- Quantum Cryptography
- Image Steganography in Cryptography
- DNA Cryptography
- One Time Password (OTP) algorithm in Cryptography
- Difference Between
- Cryptography - MD5 vs SHA1
- Cryptography - RSA vs DSA
- Cryptography - RSA vs Diffie-Hellman
- Cryptography vs Cryptology
- Cryptography - Cryptology vs Cryptanalysis
- Cryptography - Classical vs Quantum
- Cryptography vs Steganography
- Cryptography vs Encryption
- Cryptography vs Cyber Security
- Cryptography - Stream Cipher vs Block Cipher
- Cryptography - AES vs DES ciphers
- Cryptography - Symmetric vs Asymmetric
DNA Cryptography
A genetic molecule called deoxyribonucleic acid (DNA) is made up of two connected strands twisted around one another to form a double helix configuration. Phosphate groups and deoxyribose sugar alternate to form the backbone of each strand. One of the four bases-adenine (A), cytosine (C), guanine (G), and thymine (T)-is joined to each sugar.
DNA cryptography was inspired by the ability of DNA molecules to store, analyse, and transmit information. In order to assure data transmission that is not vulnerable, fast-emerging unconventional approaches combine classical cryptography with the chemical properties of biological DNA sequences. The new method depends on the idea of DNA computing. As DNA cryptography's methods are not mathematically coded, they may be too secure to be easily broken.
What is DNA Cryptography?
DNA Cryptography is one of the world's fastest growing technologies. Adelman presented to the world how it can be applied to solve NP-complete problems and directed Hamilton path problems. Users can therefore develop and use more complex crypto algorithms. It offers a new possibility for breaking unbreakable algorithms. This is because of DNA computing's increased speed, low storage needs, and power requirements. Memory can be stored in DNA at a density of roughly 1 bit/nm3, compared to 1012 nm3/bit in standard storage media. While the calculation is being done, DNA computing requires no power.
Interestingly, 1021 DNA bases-or 108 TB of data-can be found in one gramme of DNA. Thus it can store all of the world's data in a few milligrammes.
Encoding Methods
DNA cryptography uses a number of encoding methods, each with various advantages and disadvantages. A widely used encoding technique is to represent the four DNA bases as numerical values, namely 0, 1, 2, and 3. The sequence ACGT will be encoded as 0123. An alternative technique is binary encoding, in which a pair of binary digits (00, 01, 10, 11) represents each base. In addition, because of their correctness and stability, encoding systems like CTAG-which adheres to the DNA pairing rule-are recommended.
Nitrogenous Bases of DNA Cryptography
DNA cryptography uses DNA, the material that stores genetic information in living things, to create a secret code. Nitrogenous bases, the building components of DNA, are used in DNA cryptography in place of more conventional techniques like numbers or characters. Adenine (A), Thymine (T), Cytosine (C), and Guanine (G) are these bases.
These bases can be combined in a certain order to represent different informational units in a DNA strand, which is used to encode data. For example, you can assign one of these bases to every letter in the alphabet. The bases of the strand can then be arranged according to this code to hide a message within the DNA sequence. It is like cooking a secret meal with components from DNA!
To make it simple, we can use numbers to represent the four units of DNA: Adenine (A), Thymine (T), Cytosine (C), and Guanine (G). Here's a way to encode them −
- A (Adenine) is represented as 0 and written as 00.
- T (Thymine) is represented as 1 and written as 01.
- C (Cytosine) is represented as 2 and written as 10.
- G (Guanine) is represented as 3 and written as 11.
So if we have a sequence like ACGT it will translate to 00 10 11 01.
Now there are different ways we can mix and match these numbers to encode our message. For example we can use a method like 0123 or CTAG. The best one to use is usually CTAG because it follows the rule that A and G make pairs while T and C make pairs. This helps ensure the stability and accuracy of the encoded data.
Example of DNA Encryption and Decryption
Let us look at a simple example of DNA encryption and decryption with the help of the CTAG encoding method −
Encoding
Imagine we want to encrypt the message "HELLO" with DNA cryptography. First, we have to convert each letter in the message into its respective DNA base pairs:
- H ⇒ C
- E ⇒ T
- L ⇒ A
- O ⇒ G
Now, we will use the encoding scheme CTAG −
- C ⇒ 2
- T ⇒ 1
- A ⇒ 0
- G ⇒ 3
So, "HELLO" would be encoded as "2 1 0 0 3".
Decoding
To decipher the message, we will reverse the steps. We start with the encrypted sequence of DNA and transform it back into letters with the help of the decryption algorithm CTAG −
- 2 ⇒ C
- 1 ⇒ T
- 0 ⇒ A
- 0 ⇒ A
- 3 ⇒ G
Finally, we divide the DNA bases into pairs with the decryption algorithm and read them as letters −
- CTAG ⇒ C
- TA ⇒ T
- AA ⇒ A
- GG ⇒ G
Combine these letters so we will get the original message "HELLO".
This is a simple example but it shows the basic principles of DNA encryption and decryption. In real-life scenarios more complex encoding and decoding methods can be used to enhance security and efficiency.
Implementation using Python
This code shows the fundamental concept of DNA cryptography: the original message is encrypted with DNA encoding (mapping letters to DNA base pairs) and then decrypted by reversing the process. Here is a Python implementation of the example using the encoding scheme CTAG −
# Define encoding and decoding dictionaries encode_dict = {'C': '2', 'T': '1', 'A': '0', 'G': '3'} decode_dict = {'2': 'C', '1': 'T', '0': 'A', '3': 'G'} # Function to encrypt message def encrypt(message): encoded_msg = [] for letter in message: if letter in encode_dict: encoded_msg.append(encode_dict[letter]) return ' '.join(encoded_msg) # Function to decrypt message def decrypt(encoded_msg): decoded_msg = '' encoded_msg = encoded_msg.split() for code in encoded_msg: if code in decode_dict: decoded_msg += decode_dict[code] return decoded_msg # our message message = "HELLO" # encrypt the message encrypted_message = encrypt(message) print("Encrypted message:", encrypted_message) # decrypt the message decrypted_message = decrypt(encrypted_message) print("Decrypted message:", decrypted_message)
Output
Encrypted message: 2 1 0 0 3 Decrypted message: HELLO
Applications of DNA Cryptography
DNA cryptography has huge possibilities for a variety of applications. One of the main applications is secure communication and data storage. Encoding sensitive information into DNA sequences makes it very difficult for unauthorised people to intercept or identify the data. Biometrics, authentication systems, and secure cloud storage are some of the other applications for DNA cryptography.
Advantages
- DNA encryption is very strong because of the complexity of DNA sequences and the difficulty of changing and decoding DNA molecules. DNA sequences can be used as cryptographic keys, which makes them nearly impossible to break with modern technology.
- DNA cryptography offers a large key space, making it more difficult for attackers to find the right key. The key space can be enlarged by using longer DNA sequences or encoding many keys in a single DNA molecule.
- DNA cryptography is prone to some sorts of attacks, like brute-force and quantum computing attacks. This is because DNA sequences are naturally complicated and difficult to manipulate.
Disadvantages
- Encoding and decoding information with DNA molecules involves special knowledge and equipment. This can make it challenging for non-experts to use and set up DNA cryptography in real applications.
- Due to its technical complexity and cost, DNA cryptography is currently limited to a few niche uses, like military or criminal investigations. It may not be appropriate for general encryption applications like secure communication or data storage.
- DNA cryptography can be expensive because of the special equipment and materials necessary to encode and decode DNA molecules. This can render it less accessible to organisations or individuals with small resources.