DNA Cryptography: Revolutionizing Data Security with Biological Computing

Categories: Technology

Introduction

Recent research trends have focused on Introducing DNA medium so as to obtain complex computation in the process of achieving the cipher text. DNA cryptography is the new field of interest in the com-mon PKI scenario, where it is possible to follow the pattern of PKI, while also exploiting the inherent massively-parallel computing properties of DNA bonding to perform the encryption and decryption of the public and private keys. The resulting encryption algorithm used in the transaction is much more complex than the one used by conventional encryption methods.

Public Key Cryptography is one setoff cryptographic techniques for providing confidentiality, preventing data compromise, detecting alter-action of data and verifying its authenticity. By the use of DNA computing, the Data Encryption Standard (DES) cryptographic protocol can be broken. The one-time pad cryptography with DNA strands, and the research on DNA steganography (hiding messages in DNA). Essential parts of what we may call data security, specifically confidentiality and authentication, are achieved using cryptography, which has a long and fascinating history.

Get quality help now
WriterBelle
WriterBelle
checked Verified writer

Proficient in: Technology

star star star star 4.7 (657)

“ Really polite, and a great writer! Task done as described and better, responded to all my questions promptly too! ”

avatar avatar avatar
+84 relevant experts are online
Hire writer

 In this paper, the proposed algorithm takes its basic idea from the way DNA encodes the genetic information in the codons (i.e. each codon holds the information of a particular protein to be synthesized). So, using this idea any plaintext can be encoded with a one-time codebook.

Example of one-time code for the plain text GAUTAM the cipher text could be ATACAQPCDAUG. With this idea, a substitution algorithm is being proposed that is discussed in this paper. The scheme is principally asymmetric key algorithm, except that the sender initially has only part of the keys, and he generates the rest part of the keys.

Get to Know The Price Estimate For Your Paper
Topic
Number of pages
Email Invalid email

By clicking “Check Writers’ Offers”, you agree to our terms of service and privacy policy. We’ll occasionally send you promo and account related email

"You must agree to out terms of services and privacy policy"
Write my paper

You won’t be charged yet!

Symmetrickeybasedencryptionistheonlywayforsecurecommunicationbetweennodes. However, to do that, two nodes should agree upon a common key first. For this, various key distribution schemes have been proposed in the literature. Eschenauer and Gligor proposed a random key pre distribution scheme, referred to as the basic scheme or EG scheme. Based on this scheme, various improvements have been proposed in the literature.

Introduction to Cryptography

In the era of information technology, the possibility that the information stored in a person’s computer or the information that are being transferred through network of computers or internet being read by other people is very high. This causes a major concern for privacy, identity theft, electronic payments, corporate security, military communications and many others. We need an efficient and simple way of securing the electronic documents from being read or used by people other than who are authorized to do it.

Cryptography is a standard way of securing the electronic documents. Basic idea of Cryptography: Basic idea of cryptography is to mumble-jumble the original message into something that is unread-able or to something that is readable but makes no sense of what the original message is. To retrieve the original message again, we have to transform the mumble-jumbled message back into the original.

Cryptographic Algorithms

Cryptographic algorithms are mathematical functions that are used in the encryption and decryption process. A cryptographic algorithm works in combination with a key (a number, word or phrase), to encrypt the plain text. Same plain text encrypts to different cipher texts for different keys. Strength of a cryptosystems depends on the strength of the algorithm and the secrecy of the key. Two Kinds of Cryptography Systems: There are two kinds of cryptosystems: symmetric and asymmetric. Symmetric cryptosystems use the same key (the secret key) to encrypt and decrypt a message, and asymmetric cryptosystems use one key (the public key) to encrypt a message and a different key (the private key) to decrypt it. Symmetric cryptosystems are also called as private key cryptosystems and asymmetric cryptosystems are also called as public key cryptosystems.

In private-key cryptography, the sender and recipient agree beforehand on a secret private key. The plaintext is somehow combined with the key to create the cipher text. The method of combination is such that, it is hoped, an adversary could not determine the meaning of the message without decrypting the message, for which he needs the key.

Encryption & Decryption Process

To break a message encrypted with private-key cryptography, an adversary must either exploit a weakness in the encryption algorithm itself, or else try an exhaustive search of all possible keys (brute force method). If the key is large enough (e.g., 128 bits), such a search would take a very long time (few years), even with very powerful computers. Private-key methods are efficient and difficult to break. However, one major drawback is that the key must be exchanged between the sender and recipient beforehand, raising the issue of how to protect the secrecy of the key. When the President of the United States exchanges launch codes with a nuclear weapons site under his command, the key is accompanied by a team of armed couriers. Banks likewise use high security in transferring their keys between branches. These types of key exchanges are not practical, however, for e-commerce between, say, amazon.com and a casual web surfer.

Overview of Public Key Cryptography

Public Key cryptography uses two keys Private key (known only by the recipient) and a Public key (known to everybody). The public key is used to encrypt the message and then it is sent to the recipient who can decrypt the message using the private key. The message encrypted with the public key cannot be decrypted with any other key except for its corresponding private key.

The public-key algorithm uses a one-way function to translate plaintext to ciphertext. Then, without the private key, it is very difficult for anyone (including the sender) to reverse the process (i.e. translate the ciphertext back to plaintext). A one-way function is a function that is easy to apply, but extremely difficult to invert. The most common one-way function used in public-key cryptography involves factoring very large numbers. The idea is that it is relatively easy to multiply numbers, even large ones, with a computer; however, it is very difficult to factor large numbers. The only known algorithms basically have to do a sort of exhaustive search with numbers 128 bits long, such a search requires performing as many tests as there are particles in the universe.

For instance, someone wishing to receive encrypted messages can multiply two very large numbers together. She keeps the two original numbers a secret, but sends the product to anyone who wishes to send her a message. The encryption/decryption algorithm is based upon combining the public number with the plaintext. Because it is a one-way function, the only way to reverse the process is to use one of the two original numbers. However, assuming the two original numbers are very large, their product is even bigger; it would be impractical for an adversary to try every possibility to determine what the two original numbers were.

Format of Cipher

Text From plain text (PT) the primary cipher text (CT) is obtained by using the encryption algorithm and the 1st level key (PK1). Abbreviations used are: CT-PRIMARY CIPHER TEXT, AUT-AUTHENTICATION CODE (ENCRYPTED FORM), INTR-INTEGRITY CODE (ENCRYPTED FORM), FT-FILE TYPE CODE (ENCRYPTED FORM), SPM-STARTING PRIMER (GARBAGE), EPM-ENDING PRIMER (GARBAGE), OCT-ORIGINAL CI-PHER TEXT FORMAT. The following steps are to be followed to obtain the final cipher text.

  • Step-1: Encrypt the plain text with 1st level key (PK1).
  • Step-2: Divide the primary cipher into three unequal parts
  • Step-3: Attach AUT, INTR, FT, SPM, EPM with the above CTBs as follows (fig-3) after encrypting using level2 private keys (which include the information about the introns (AUT, FT, ETC) positions and the length of the SPM and EPM).

Procedure Level1 Private Key Generation

Senders side computation:

  • Step 1: First the receiver will send a number as public key (PK) through private channel or public channel. This key should be any positive number between the ranges 1 to 255.
  • Step 2: Sender will generate one random number (R)
  • Step-3: The random number selected is being represented in binary and then its complement is being again converted into decimal which will be used as the Encryption key (E). (For e.g.: let the Public Key is PK=7, and the random number R=5.Binary representation of R = 101 (4-bit). Complement of R= 010. Therefore, In Decimal R= 2. This 2 will be used as Encryption Key (i.e.=2)).
  • Step-4: sender will compute the level1 private key as follows: Remainder computation (r): PK *R) Hexadecimal Notation = 3 Quotient computation (c): (PK * R) / 16 = 35 / 16 =2, Hexadecimal Notation = 2 Concatenating these two hexadecimal notations, we get rc = 32.
  • Step-5: Sender will send rc as level1 private key through private Channel with level2 private keys. These two keys (level1 & level2) are sending in a digest form (in progress) through private channel. End

Receivers side computation:

  • Step-1: Receiver will receive 32 and separate the numbers r and c and convert these to equivalent decimal notation.
  • Step-2: Receiver will compute the decryption key as follows: Decimal value computation (X): X=(16 * c) + r (e.g. X= (16 * 2) + 3 = 35) Intermediate key computation (K1): K1= (X / PK) (e.g.K1= (35 / 7) = 5, where 7 is PK)
  • Step-3: Convert 5 to binary form and complement it. (e.g. binary of 5=101= 010 =2 in Decimal Notation)
  • Step-4: Therefore, 2 is the level1 private key (PK1) to be used for decryption. End

Procedure Encryption:

  • Step-1: Let, Q be an array of size 16 and R be an array of size 16 also. For example, Q= (A, B, C ....) R= (/, *, -, ...)
  • Step-2: Input the file name with its extension. e.g. abc024.jpg. (Plain Text)
  • Step-3: Convert the file into its corresponding byte codes (the range of the byte codes will be from-128 to +127).
  • Step-4: In order to get the index of the arrays we have to change the negative value byte codes into positive values by adding +128 to each of the byte values. For example, -120 becomes +8. Thus, the range of the byte codes becomes 0 to 255.
  • Step-5: Each of the byte will be taken in account of calculation as n1= (bytecode / 16) and n2=(bytecode)mod16. For example, if 92 is the byte code then n1= 92 / 16 = 5 and n2= 92mod16= 12(We are using 16 in the calculation as 16 is the size of the array. So as there are two arrays, the range of the byte codes will be 16x16= 256)
  • Step-6: Now the key will be added up with the numbers n1 & n2 to get the new indexes q and r as q= [(n1+k1) mod 16] and r= [(n2+ k1) mod 16], where k1 is the key value. For example, Let the key is k1=7.So, q = (n1+7) mod 16 = (5+7) mod 16=12 mod 16=12 r = (n2+7) mod 16= (12+7) mod 16=19 mod 16=3
  • Step-7: The numbers q and r will be used as the index of the static arrays Q & R. For example, Q= (A, B, C....) R= (/, *, -, ...) q= (0, 1, ... ,12, ... ,15) r= (0, 1, 2, 3...)
  • Step-8: After getting the cipher of each byte code, concatenate all byte codes in order to get the cipher text.
  • Step-9: This cipher text will be written into a text file and send this file to the receiver end.

Procedure Decryption:

  • Step-1: Read the input cipher file, two bytes at a time.
  • Step-2: Split the code.
  • Step-3: Search the array Q to get the index of L and array R to get the index of? Therefore, we will get the index of L=12 and the index of? =3.
  • Step-4: Subtract the key from each of the index value. If the result becomes negative, add 16 within. For example, n1=127=5 and n2= 37=-4. Since n2¡0, so by adding 16 with it, we can get n2=-4+16 = 12.
  • Step-5: Now multiply n1 by 16 and add n2 with it to get the byte code. So Bytecode = (n1*16) +n2. e.g. (5*16) +12 = 92.
  • Step-6: Convert the byte code 92 into its corresponding ASCII code.
  • Step-7: Save the file with the extension.

Procedure Level2 Private Key Generation

The level (2) private key gives the information about the length of the primer and the positions of introns (fixed length garbage text, AUT, SPM, FT, EPM, INTR). The primers are added at the starting and at the ending of primary cipher text (CT), introns are inserted within the cipher text at positions as described by the Level (2) key. The sender file length is chosen as level2 key. The sum of the digits of the senders file length is taken as the input to decide the primer length. Introns positions are taken on the basis of the individual digits of the file length. But the sender should not send the raw file length (i.e. level2 key) to the receiver even though it is sending through secret channel so it has to be encoded using the following procedure:

  • Step-1: First the receiver will send a number through private channel or public channel. This key should be any positive number between the ranges 1 to 255. Now the sender will perform the following task using this number.
  • Step-2: Let P be an array which will hold the secondary level of keys.
  • Step-3: Take a variable and initialize it with a number which is the file length.
  • Step-4: Repeat through the following steps for 1 to number of digits in N.
  • Step-5: Perform digit wise X OR of N from left to right (i.e. from MSB to LSB).
  • Step-6: N = rn-1 rn 2.r1.
  • Step-7: PK = rn• Step-8: P[i++] = rn.
  • Step-9: Send the array P (level2 private key) to the receiver to get the file length by applying reverse procedure of the above (Note: The sender will send both level1and level2 private keys to the receiver in a digest form).

Encryption using Cryptool

Chosen key for encryption and decryption process is: “Sword”

A T T A C K S O U T H W H E N S U N R I S E

S W O R D S W O R D S W O R D S W O R D S W

S P H R F C O C L W Z S V V Q K Q B I L K A

plaintext for encryption and decryption process is: “Attack South when Sunrise”

Procedure: Start Wizard > Encryption/Decryption > Classic Encryption/Decryption > Encrypt using the key and plaintext mentioned above > Click Next, output is printed as following:

Encrypted message output is: “Sphrfc Oclwz svvq Kqbilka”

FLOWCHARTS:

XOR operation of the PK

Key Transmitionright02514600

Encryption Decryption

Summary

Network Security and Cryptography is a concept to protect network and data transmission over wire-less network. Data Security is the main aspect of secure data transmission over unreliable network. Data Security is a challenging issue of data communications today that touches many areas including secure communication channel, strong data encryption technique and trusted third party to maintain the database. The rapid development in information technology, the secure transmission of confidential data herewith gets a great deal of attention. The conventional methods of encryption can only maintain the data security.

The information could be accessed by the unauthorized user for malicious purpose. Therefore, it is necessary to apply effective encryption/decryption methods to enhance data security. Strong cryptography or cryptographically strong are general terms applied to cryptographic systems or components that are considered highly resistant to cryptanalysis. Demonstrating the resistance of any cryptographic scheme to attack is a complex matter, requiring extensive testing and reviews, preferably in a public forum. Good algorithms and protocols are required, and good system design and implementation is needed as well.

For instance, the operating system on which the crypto software runs should be as carefully secured as possible. DNA computational logic can be used in cryptography for encrypting, storing and transmitting the information, as well as for computation. Although in its primitive stage, DNA cryptography is shown to be very effective. In this paper, a proposal is given where the concept of DNA is being used in the encryption and decryption process. The theoretical analysis and implementations show this method to be efficient in computation, storage and transmission; and it is very powerful against certain attacks. This paper also proposes a unique cipher text generation procedure as well as a new key generation procedure. Finally, to demonstrate the performance of the proposed method, its implementation is explained and the results are analyzed.

References

  1. Ashish Gehani, Thomas LaBean and John Reif. DNA-Based Cryptography. DIMACS DNA Based Computers V, American Mathematical Society, 2000.
  2. R. Blom. An optimal class of symmetric key generation systems. Advances in Cryptology: Proceed-ings of EUROCRYPT 84 Springer- Verlag, 209/1985:335 338, 1985.
  3. C. Blundo, A.D. Santis, A. Herzberg, S. Kutten, U. Vaccaro and M. Yung. Perfectly-secure key distribution for dynamic conferences. Lecture Notes in Computer Science, 740:471486, 1993.
  4. www.en.wikipedia.org.
Updated: Feb 21, 2024
Cite this page

DNA Cryptography: Revolutionizing Data Security with Biological Computing. (2024, Feb 21). Retrieved from https://studymoose.com/document/dna-cryptography-revolutionizing-data-security-with-biological-computing

Live chat  with support 24/7

👋 Hi! I’m your smart assistant Amy!

Don’t know where to start? Type your requirements and I’ll connect you to an academic expert within 3 minutes.

get help with your assignment