1 Attachment(s)
Challange: Encoding using a Difference Table
Imagine a table of 8 rows and N columns.
The Rows are numbered 7 to 0, descending.
The Bottom Row consists of cells containing, individually, some numbers
which range from 0 -> 255.
These numbers are the character codes of some text.
The Row immediately above row 0, or specifically row 1, is built with the following algorithym: (The Cells are considered to be of the form Cell (Row, Col)
C(1,n) = [{C(0,n) - C(0,n-1)} + 256] Mod 256
In the case where n = 0, then n-1 is the index of the last, most rightmost, column.
In other words, consider the table to loop continuously, in the horizontal direction.
Row 2 is calculated similarly as follows:
C(2,n) = [{C(1,n) - C(1,n-1)} + 256] Mod 256
And so on, for rows 3 thru 7.
More generically:
C(x,y) = [{C(x-1,y) - C(x-1,y-1)} + 256] Mod 256
And, attached you will find a fully fleshed out table, displaying
what happens if you perform this process with the text
VBForums.com
1 Attachment(s)
Re: Challange: Encoding using a Difference Table
Now, the challange is, if you were given the table, but NOT Fully fleshed out, could you recreate Line 0?
For example, the following attached image is identical to that of the above, but only 1 value per column is listed.
See if you can figure how to analyze the following attached table and return the full row 0.
2 Attachment(s)
Re: Challange: Encoding using a Difference Table
Now, if you can figure that out, then Congrats!
To really test your method, attached are 2 sets of files.
Each set consists of a .keydat file, and a .encdat file.
The .keydat file consists of a string of bytes, whose range is from 0 thru 7.
The .encdat file consists of a string of bytes, whose range is from 0 to 255.
They have a 1:1 correspondence in the following:
Byte N in the keydat file signifies the row that byte N in the encdat file resides in.
So, if the 9th byte in keydat = 3, then the value of the 9th byte in the encdat file is in row 3 of the table, and column 9
or cell(3,9) = the 9th byte in encdat.
So, from an encdat and keydat pair, you can build a table similar to my second posted image.
Try to build the full row 0, and tell me what it says, in text, for both pairs!
:wave:
-Lou
Re: Challange: Encoding using a Difference Table
1 Attachment(s)
Re: Challange: Encoding using a Difference Table
Quote:
Originally Posted by MartinLiss
Coding contest?
Certainly, I wouldn't mind seeing this as a coding contest.
In anticipation of this transpiring, I feel obligated to give a little more information to help guide any who wish to
tackle this challange.
So:
For all those who have NO Idea how to get started, the following attached text file might be handy.
:wave:
-Lou
1 Attachment(s)
Re: Challange: Encoding using a Difference Table
Now, I don't want to lead anybody astray, so I need to point this out.
There are actually 2 solutions to that Incomplete Array, derived from the difference table of VBForums.com.
The Second solution is VÂFïòuís.ãïm
{Char Code = 86 194 70 239 242 117 237 115 46 227 239 109 }
This sequence of characters also produces an incomplete tabular array which is identical to that seen above. {However, its full Difference Table is NOT the same as that of VBForums.com}
:wave:
Re: Challange: Encoding using a Difference Table
Also, the 0008 Files {I Believe that are in the Chal01zip file} Can be decrypted into 4 valid byte streams. {Of course, the 1 that is actually legible is the truly valid one}
However, the 0009 Files can ONLY be decrypted to one final valid message.
:wave: