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.
Advertisements