Files
BUT2FI_R4.B.10_2026/tp/tp1/README.md
2026-03-04 10:52:51 +01:00

41 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# TP1
## Ex1
Lobjectif de cet exercice est de chiffrer une image en ligne de commande à
laide des outils fournis par la librairie openssl.
1. Prenez une image de votre choix et convertissez la dans le format ppm à laide de la commande
`convert`.
2. Avec la commande `head`, mettez les 3 premières lignes de votre fichier ppm dans un fichier
header.txt.
3. Avec la commande tail mettez tout le fichier ppm sauf les 3 premières lignes dans un fichier
body.bin.
4. Chiffrez avec openssl en AES-ECB le fichier body.bin.
5. Remettez len-tête header.txt au début du fichier obtenu à la question précédente pour avoir
une image chiffrée, et observez le résultat.
## EX2
Le but est d'implanter un registre à décalage linéaire, sur un octet.
À chaque étape, le registre (un octet) $(b_7,b_6,b_5,b_4,b_3,b_2,b_1,b_0)$ est décalé à gauche, et
le bit $b_0$ est remplacé par un bit, calculé par une fonction linéaire $f$.
Vous disposez d'un [fichier](src/ex1/file.crypt) crypté avec un lfsr, en faisant
un XOR de chacun des octets avec les valeurs successives du registre. L'état
initial du registre était `0xa7`, et la fonction utilisée
$$ f(b_7,b_6,b_5,b_4,b_3,b_2,b_1,b_0) = b_7\oplus b_6\oplus b_5\oplus b_4\oplus b_3\oplus b_1 $$
Retrouver le fichier initial.
Vous pouvez utiliser la fonction interne `__builtin_parity` de `gcc`.