Put images in readme next to each other

This commit is contained in:
Leon Etienne 2022-05-22 20:55:04 +02:00
parent 1e479986fc
commit 17dece8daf

View File

@ -128,41 +128,31 @@ The xor operation ensures that an observer will never know the internal state of
future output. future output.
### Speaking of... Visualizations! ### Speaking of... Visualizations!
<div> `"Hello :3"` in binary, and it's ciphertext:
<span style="display: inline-block;">
`"Hello :3"` in binary:
!["Hello :3" in binary](https://gitea.leonetienne.de/leonetienne/GCrypt/raw/branch/feature/relaunch/GCryptLib/visualizations/input.bmp.png)
</span>
<span style="display: inline-block;"> !["Hello :3" in binary](https://gitea.leonetienne.de/leonetienne/GCrypt/raw/branch/feature/relaunch/GCryptLib/visualizations/input.bmp.png)
It's ciphertext: &nbsp;&nbsp;&nbsp;
![Ciphertext 1](https://gitea.leonetienne.de/leonetienne/GCrypt/raw/branch/feature/relaunch/GCryptLib/visualizations/output.bmp.png) ![Ciphertext 1](https://gitea.leonetienne.de/leonetienne/GCrypt/raw/branch/feature/relaunch/GCryptLib/visualizations/output.bmp.png)
</span>
</div>
Now, let's flip a single bit in the input: Now, let's flip a single bit in the input:
One bit flipped: One bit flipped, and again the corresponding ciphertext:
![One bit flipped](https://gitea.leonetienne.de/leonetienne/GCrypt/raw/branch/feature/relaunch/GCryptLib/visualizations/input-flip.bmp.png) ![One bit flipped](https://gitea.leonetienne.de/leonetienne/GCrypt/raw/branch/feature/relaunch/GCryptLib/visualizations/input-flip.bmp.png)
&nbsp;&nbsp;&nbsp;
It's ciphertext:
![Ciphertext for flipped bit](https://gitea.leonetienne.de/leonetienne/GCrypt/raw/branch/feature/relaunch/GCryptLib/visualizations/output-flip.bmp.png) ![Ciphertext for flipped bit](https://gitea.leonetienne.de/leonetienne/GCrypt/raw/branch/feature/relaunch/GCryptLib/visualizations/output-flip.bmp.png)
Let's gif them together, to better see the difference... Let's gif them together, to better see the difference:
Input:
![Input](https://gitea.leonetienne.de/leonetienne/GCrypt/raw/branch/feature/relaunch/GCryptLib/visualizations/input.gif) ![Input](https://gitea.leonetienne.de/leonetienne/GCrypt/raw/branch/feature/relaunch/GCryptLib/visualizations/input.gif)
&nbsp;&nbsp;&nbsp;
Ciphertext:
![Ciphertext](https://gitea.leonetienne.de/leonetienne/GCrypt/raw/branch/feature/relaunch/GCryptLib/visualizations/output.gif) ![Ciphertext](https://gitea.leonetienne.de/leonetienne/GCrypt/raw/branch/feature/relaunch/GCryptLib/visualizations/output.gif)
What about input longer a single block? What about input longer a single block?
Input: Input, and ciphertext:
![Input](https://gitea.leonetienne.de/leonetienne/GCrypt/raw/branch/feature/relaunch/GCryptLib/visualizations/input-big.gif) ![Input](https://gitea.leonetienne.de/leonetienne/GCrypt/raw/branch/feature/relaunch/GCryptLib/visualizations/input-big.gif)
&nbsp;&nbsp;&nbsp;
Ciphertext:
![Ciphertext](https://gitea.leonetienne.de/leonetienne/GCrypt/raw/branch/feature/relaunch/GCryptLib/visualizations/output-big.gif) ![Ciphertext](https://gitea.leonetienne.de/leonetienne/GCrypt/raw/branch/feature/relaunch/GCryptLib/visualizations/output-big.gif)
Notice how the ciphertext doesn't change until the block containing the bitflip is reached. This is a limitation of cipher block chaining. Notice how the ciphertext doesn't change until the block containing the bitflip is reached. This is a limitation of cipher block chaining.