Encrypted Data Reader
I Designed Simple Encrypted Data Reader.
Firstly we assume that we have simple cyrptology system for our data. Every data block occurs from 10 bits. We split into three part our data block;
->Starting Part
->Data
->Ending Part
And we split into two part our All datas;
->Original Data
->Conjugate Data
Both of Our Orijinal and Conjugate Datas occurs from '001' Starting Bits.
Difference between original and conjugate data occurs from here.When we send 4 Bit Real Data by using Data Block called Orijinal Data, We send bits by bits conjugate Data by using Conjugate Data.
Both of Our Original and Conjugate Datas occurs from '100' Ending Bits.
First of All, we Dealing with Starting and Ending part of Both of Original and Conjugate Data. If Starting Bits start with '001' for both of them , and also If Ending Bits start with '100' and Both Condition satisfy, we can say that Our Data Blocks are matched. However, we also need to check content of datas.Conjugate data HAVE TO keep bit by bit reverse of the Real Data.
Secondly, If you be careful when looking to Pure Data Part, There is '1' start of the Data ('1ABCD) , That bit represent both condition that mentioned above are satisfied. Otherwise Tihs bit will be equal to zero and Don't process other data into the output bits. Summmary _ABCD if first part Equal to 0 ==> Output will be '000000' because our data is not received clearly. On the other hands, if Everything is perfect and We can read data clearly, Our data sart will '1' and its values 'ABCD' will written into the output and its look like '1ABCD'
Original Data = 0011101100 Conjugate Data = 0010010100 Pure Data = 11101
Let's Explain.
Split the Original Data => 001 - 1101 - 100
Split the Conjugate Data => 001 - 0010 - 100
Starting and Ending Bits are Matched ! Pure and Conjgate Data ara Matched !
Starting Bit = 1 Data Bits = 1101
Result ; Pure Data = 11101
Testbench : data_encryption_tb
Original Data = 0010001100 Conjugate Data = 0010010100 Pure Data = 00000
Let's Explain.
Split the Original Data => 001 - 0001 - 100
Split the Conjugate Data => 001 - 0010 - 100
Starting and Ending Bits are Matched ! Pure and Conjgate Data ara not Matched !
Starting Bit = 0 Data Bits = 0001
Result ; Pure Data = 000000
Testbench : data_encryption_tb_2