Difference Iterative Cipher, or DIC for short, is a cipher I came up with a couple of days ago. I have yet to come up with a public-key cipher.
It's an idea I started exploring: if you get the differences of a bunch of numbers in a sequence, and keep iterating it until you end up with only one value, you have a pyramid. If you extend it to the sides, using the same value, you can continue the pattern.
You can get my tool at my website: http://greasemonkey.nonlogic.org/dic001.tar.gz
How does it work? [ Taken from the (encrypted :D) readme of my DIC program ]
It gets the differences of each of these numbers:
data1, code1, code2, data2
It continiued untit it cannot go further. For example:
1, 2, 5, 8
1, 3, 3
2, 0
-2
Then it extends to the previous and next values in the pyramid, like:
-2, -2, -2
4, 2, 0, -2
-3, 1, 3, 3, 1
4, 1, 2, 5, 8, 9
It then takes the end values, and outputs them.
Decryption does something similar, except it starts from:
4, x, 2, 5, y, 9
Then when it gets down to three combo values, you can do a simultaneous
equation on it. The three combo values in this case are:
3x-5, y-x-9, 22-3y
However, this version uses some formulae.
You get the root values:
-5, -9, 22
a, b, c
and then you feed them through these two formulae.
x = ((c-a)/3+b-a)/5
y = ((c-a)/3-b+c)/5
In this example:
x = ((22+5)/3-9+5)/5
= (27/3-9+5)/5
= (9-9+5)/5
= 5/5
= 1
y = ((22+5)/3+9+22)/5
= (27/3+9+22)/5
= (9+9+22)/5
= (18+22)/5
= 40/5
= 8
And there you go. Yay.