| Input: En_text, Fibonacci_Seed1, Fibonacci_Seed2, P2bits_path, P3bits_path; |
| Output: Protein_cover; |
| Begin. |
| //Initialization. |
| 0:Protein_cover = “”; new = Fibonacci_Seed2; |
(1) | while (abs(sin(Fibonacci_Seed1))<0.3 or abs(sin(Fibonacci_Seed2))<0.3) |
| new = Generate_fibonacci_term();//Generate a new Fibonacci term. |
(2) | while (not_end_of(En_text)) do |
| { |
(3) | Byte = get_byte(En_text);//get a byte from the cipher text |
| //return 2× 3 bits patterns and 1× 2 bits pattern starting from LSB. |
(4) | Divide_Byte(Byte, P2bits, P3bits2, P3bits1); |
(5) | sin4FibonacciTerm = trunc(abs(sin(new))10); |
(6) | if (sin4FibonacciTerm ≥ 3) |
(7) | { Generate 3 protein bases according to the P2bits_path and P3bits_path, bases_3; |
| //fill the rest with protein bases. |
(8) | Randomly generate (sin4FibonacciTerm –3)) protein bases, RestBases; |
| //string concatenation. |
(9) | Protein_cover = Protein_cover + bases_3 + RestBases; |
(10) | } |
(11) | new = Generate_fibonacci_term(); |
(12) | }//while |
(13) | return binary code of Protein_cover to be sent to the receiver; |
| End.//Hiding Algorithm. |
(14) | integer Generate_fibonacci_term()//Function to generate new Fibonacci term. |
| Begin. |
(15) | new = Fibonacci_Seed2 + Fibonacci_Seed1; |
(16) | Fibonacci_Seed1 = Fibonacci_Seed2; Fibonacci_Seed2 = new; |
(17) | return new; |
| End. |