Sunteți pe pagina 1din 29

Presented by

PREETHI.G, PRABAVATHY.R Computer Science and Engineering RMK Engineering College

Remember when mobile banking meant visiting your local branch? Today it means being able to make balance inquiries, deposits and account transfers with just a few taps on your smartphone. And thats just the beginning.

However, transferring such sensitive data over the airwaves involves risk, and you should heed the dangers before you dive in. Heres what you need to know about mobile banking and how to protect yourself.

OVERVIEW OF CONTENTS
What is cryptography?

What is DNA?
DNA Computing What is DNA cryptography? Biological Operations involved

Processes Involved
Conversion of English alphabet into nucleotide sequences Encryption methods algorithms

Insertion method

Complementary method
Substitution method

Implementation - hiding the data in a DNA text

WHAT IS CRYPTOGRAPHY?

Cryptography -''secret writing.'

Science of transforming information into an unintelligible form while it is being transmitted or stored so that unauthorized users cannot access it.

HOW CRYPTOGRAPHY WORKS?

WHAT IS DEOXYRIBO NUCLEIC ACID (DNA)?


biochemical macromolecule contains genetic information made up of monomers called nucleotides, sugar

and phosphorous two strands of nucleotides DOUBLE HELIX four bases


Adenine (A) thymine (T) COMPLEMENT PAIR guanine (G) cytosine (C)

}COMPLEMENT

PAIR

Strand 1: sequence of bases

in a specific pattern Strand 2: complementary nucleotides of the first strand


A = T (double bond)
GC (triple bond)

DNA COMPUTING
Molecular computing or biological computing

form of computing in which DNA molecules are

used instead of digital logic circuits four amino acid bases - A, T, C, and G, are used as operators, as the binary digits 0 and 1 are used in computers DNA molecules encoded - induced to recombine, resulting in trillions of calculations simultaneously

DNA CRYPTOGRAPHY
Information carrier DNA Implementation tool - Modern

biological technology PROCESS INVOLVED: Encoding a message using encryption with nucleotide sequences Data implemented into the genetic code of the messenger Implanting into the body of the messenger Receiver will know where to look for this particular message and decrypts

BIOLOGICAL OPERATIONS INVOLVED


Principle - SPECIAL DOUBLE HELIX

OF DNA MOLECULE AND WATSON- CRICK RULES. Few biological operations involved:
1. Hybridisation:

The double stranded DNA is formed by combining single stranded DNA sequences. In this process A always pairs with T and G always pairs with C according to Watson crick complement condition

2. Denaturation:

Reverse process of hybridisation. The double stranded DNA molecule can be heated up to 90 degree Celsius, so that it is resolved into two single stranded DNA.

3. Ligation:

One DNA sequences combines with other Sequence by means of some enzyme to produce new DNA sequences.

4. Polymerase chain reaction:


amplify the DNA sequences. the small amount of double stranded DNA which is to be complementary to each other is taken with the great amount of Primers. An enzyme builds complementary strands with the base of short primers. Steps involved: Denaturation. Annealing. Elongation. Gel electrophosis.

1. 2.

3.
4.

PROCESSES INVOLVED IN DNACOMPUTING BASED CRYPTOGRAPHY


Conversion of English alphabet into nucleotide

sequences:

Any data can be converted into nucleotide

sequences using cipher-based techniques. The two types of ciphers that can be primarily used for this purpose are 1. Simple cipher 2. Vigenere Cipher

1. Simple cipher:
Easiest method
Each English letter corresponds to a sequence of

four nucleotides.
A B C D

CACC CCAG CCTG CGAG

2. The Vigenre cipher:


Encrypting alphabetic

text - using a series of different Caesar ciphers.

Simple form of

polyalphabetic substitution.

ENCRYPTION METHODS ALGORITHMS


three methods are discussed. we assume that two schemes used by the sender and the

receiver are kept secret. 1. binary coding scheme which transforms alphabets A, C, G and T into binary codes and vice versa. Here, we assume A(0) 00; C(1) 01; G(2)10; T(3)11. 2. complementary pair rule. Assign each base x a complement C(x) such that C(C(x))X Here, we assume ((A T) (C A) (G C) (T G)). Let, Secret message be M (binary sequence) Reference sequence be S

A(0) 00; C(1) 01; G(2)10; T(3)11 ((A T) (C A) (G C) (T G))

1. INSERTION METHOD
Let, M = 01001100; S = ACGGTTCCAATGC. Steps: code S into a binary sequence by using the binary coding scheme. Thus S becomes 00011010111101010000111001. Divide S into segments of k bits. Suppose k is 3. Then we have the following segments: 000, 110, 101, 111, 010, 100, 001, 110, 01 Insert bits from M, once at a time, into the beginning of segments of S. The result is as follows: 0000, 1110, 0101, 0111, 1010, 1100, 0001, 0110, 01. Concatenate as 00001110010101111010110000010110 use the binary code scheme S=AATGCCCTGGTAACCG

A(0) 00; C(1) 01; G(2)10; T(3)11 ((A T) (C A) (G C) (T G))

2. COMPLEMENTARY METHOD
complementary substrings :

ATCTGAATGCTTGTCTATTGCATCAAT

Let M=0110; S=ACGGTCGTTCCCTAGTTG. Steps:

Artificially generate a sequence without any

complementary substrings. Assume L=ACGGTCTCATCAATGCTTCAGT. Divide M. Here 01-C and 10G. Generate two complementary strings as (AAGCT TTCAG) and (ACCTG TAAGC). The sequence L now becomes L= ACG AAGCT GTCT TTCAG CAT ACCTG CAAT TAAGC GCTTCAGT.

A(0) 00; C(1) 01; G(2)10; T(3)11 ((A T) (C A) (G C) (T G))

Insert each alphabet of the secret message one

alphabet before each complementary string. The string becomes: L= ACCG AAGCT GTCT TTCAG CAGT ACCTG CAAT TAAGC GCTTCAGT. Randomly generate two +ve integers j and i. Assume j=2 and i=4. Insert substrings S[j,j+i]=S[2,6]= CGGTC and S[2j,2j+i]=S[4,8]=GTCTC one alphabet after the first and second complementary substrings. L becomes: L=ACCGAAGCTGTCTTTCAGCCGGTCAGTACCTGCAAT TAAGCGGTCTCCTTCAGT.

SUBSTITUTION METHOD
Let S=ACGGAATTGCTTCAG, M=0111010, length(M) = p. length(S) > length(M) Steps:

Select 7 distinct numbers randomly from 1 to 15. Assume

as Ap={2,3,5,10,12,13,15}. Transform S into S by the following rule:


for(i=1;i<=15;i++) { for(j=1;j<=7;j++) { if(i ==Aj && mj=1) set Si to C(Si); if(i ==Aj && mj=0) do not change Si; if(i!= Aj) set Si to C(C(Si)); }}

A(0) 00; C(1) 01; G(2)10; T(3)11 ((A T) (C A) (G C) (T G))

Thus S=GCCATGCCAACTAGG

A(0) 00; C(1) 01; G(2)10; T(3)11 ((A T) (C A) (G C) (T G))

The receiver would not need to generate the set A.There are only three possible cases: (1) Si is the same with Si (mj is equal to 0). (2) Si is C(Si) (mj is equal to 1). (3) Si is C(C(Si)). If there exists one j such that Sj and Sj are not of the above three cases, it means that the sequence should be ignored.

GENERAL FLOW CHART FOR DNA- BASED ENCRYPTION

GENERAL FLOW CHART FOR DNA- BASED DECRYPTION

ALGORITHM FOR HIDING DATA IN DNA FOR DNA CRYPTOGRAPHY


[Given a DNA text file D, List of enzymes and its target substrings (EnzymesK,2), List of vocabulary and its DNA mapping (MappingM,2), EnzymesAndOccurrencesK,2 ] Input: D, EnzymesK,2 , MappingM,2, Message ,NumberOfWords Output: NewD with the hidden message Algorithm Body: NumberOfEnzyme := K for i = 1 to NumberOfEnzyme // loop for all known enzymes to get the number of occurrences EnzymesAndOccurrencesK,0 := EnzymesK,0 EnzymesAndOccurrencesK,1 := GetNumberOfOccurrance(EnzymesK,1) next i // Function to get the number of occurrences of each target substring int GetNumberOfOccurrance(TargetSubString) begin function S := Read From D (DNA file) Count := 0 While (S Contains TargetSubString) Count := Count + 1 S := S started from Position of TargetSubString End while return Count End function

// Procedure of hiding words of the message into the DNA file using two restriction enzymes S := Read from D (DNA file) Target1 := The target substring of Enzyme1 Target2 := The target substring of Enzyme2 S_before := "" for i := 1 to NumberOfWords position1 := The position of Target1 position2 := The position of Target2 while (position2 > position1) S_before := S_before + S to position1 S := S from position1 to End position1 := The position of Target1 position2 := The position of Target2 end while S := S from position2 to End Msg := S_before and DNAword and Target2 // Test if the message contains one of the targetsubstrings if (!TestMessage(Msg)) then do Error Message Break else Write to NewD (the new DNA File) end do next i End Algorithm.

CONCLUSION

DNA cryptography is a next

generation security mechanism, storing almost a million gigabytes of data inside DNA. In this paper we have pointed out that the DNA sequences have the special properties which we can utilize for encryption purposes. Three encryption methods are all based upon a reference sequence known only to the sender and the receiver. This reference sequence can be selected from any web-site associated with DNA sequences. Since there are many web-sites and roughly around 56 million publicly available DNA sequences, it is virtually impossible to guess this sequence.

ANY QUESTIONS?

S-ar putea să vă placă și