Add new visualizations
This commit is contained in:
43
readme.md
43
readme.md
@@ -131,31 +131,30 @@ future output.
|
||||
#### Single-block diffusion
|
||||
`"Hello :3"` in binary, and it's ciphertext:
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
Now, let's flip a single bit in the input:
|
||||
|
||||
One bit flipped, and again the corresponding ciphertext:
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
Let's gif them together, to better see the difference:
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
As shown, flipping even a single bit, affects the entire ciphertext.
|
||||
|
||||
#### What about input longer than a single block?
|
||||
|
||||
Input, and ciphertext:
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
Notice how the ciphertext doesn't change until the block containing the bitflip is reached? This is a limitation of cipher block chaining.
|
||||
|
||||
@@ -163,14 +162,30 @@ Notice how the ciphertext doesn't change until the block containing the bitflip
|
||||
How non-transparent is the cipher with extreme inputs? Even with a super problematic key?:
|
||||
|
||||
Input, key, and ciphertext:
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
Notice how even cleartexts that are almost completely uniform, with a key that is just zeores, will produce ambiguous ciphertexts.
|
||||
I darkened the input gif, as to not cause disorientation by flickering.
|
||||
Notice how even cleartexts that are completely uniform, with a key that is almost just zeores, will still produce ambiguous ciphertexts.
|
||||
|
||||
### What about the PRNG's distribution?
|
||||
Check it out, here are the distributions of a few different getter-methods, some in black/white, some in grayscale, some in color.
|
||||
|
||||
Blackwhite - GetBit(), Grayscale - GetRandom<T>(), and Grayscale - operator():
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
Color - GetRandom<T>(), Color - operator(), and Color - GetBlock():
|
||||

|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
## Noteworthy:
|
||||
* This is no fixed algorithm. Newer versions may very well be unable to decrypt ciphertexts encrypted with earlier versions.
|
||||
|
||||
Reference in New Issue
Block a user