Sunday, January 22, 2012

Junk DNA: it's a salt hash.

I woke-up this morning with the idea that "junk DNA" is not really junk at all. About 98% of DNA is non-coding, and therefore it does not directly translate into proteins. During the transcription process (from DNA to mRNA), introns are spliced out of the precursor mRNA sequence by a spliceosome complex to produce the mature mRNA strand used in protein translation.

National Public Radio (NPR) recently featured an article on "junk" DNA [1], explaining that Scientists have shown that RNA introns play an important role in gene regulation.

However, the idea that occurred to me this morning is that a portion of "junk" DNA might actually be a salt hash. Often in database security a salt is added to a string before it is hashed. Let's say that you want to protect a password in a database. First you salt the password with some extra information, and then you encrypt the sequence with a hash function.

For example:
password = "cat";
salt = "tatatata";
salted_password = password + salt; // "cattatatata"

// encrypt the salted password
encrypted_password = hash(salted_password);

Having a specific spliceosome complex that decrypts the non-coding "junk" may be an important security feature against foreign viral ribozymes. If a virus was able to read DNA and directly produce mRNA without any form of security, then it could essentially ransack cell metabolism. Perhaps, some of the "junk" DNA / pre-cursor mRNA acts as a hash salt for the mature mRNA strand, where the spliceosome complex is the hash function. The pre-cursor mRNA would therefore be a salted password.

// salted password
pre_mRNA_strand = "cattatatata";

// decrypt the salted password
mRNA_strand = spliceosomes(pre_mRNA_strand); // "cat"