# Chiffrement à flot



Utilisé principalement dans le GSM, le bluetooht, L'IOT...
---

Le générateur d'aléa pur (lampe, fond diffus, bruit thermique au borne d'une résistance) peut ensuite être uniformisé avec des hashs par exemple.





Algorithme [Berlekamp-Massey](https://en.wikipedia.org/wiki/Berlekamp%E2%80%93Massey_algorithm) pour péter du LFSR sans encombre




Génération de suite pseudo-aléatoire

Berlekamp-Massey fait pas partie du cours parce que trop compliqué mais intéressant à regarder à côté

Prouver que la sortie n’a pas d’algorithme pouvant le casser
Très très classique : partir d’un pb mathématique difficile à résoudre pour l’utiliser en crypto (construire une primitive cryptographique à partir de ça, qui du coup fait que c’est complexe à calculer)
Pas viable parce qu’on va faire un carré pour calculer un seul bit de notre nombre pseudo-aléatoire (beaucoup trop cher)

Si on a un générateur de nombres pseudo-aléatoires pourri, on a beau utiliser AES ou quoi c’est claqué au sol le niveau de sécurité va s’effondrer
Si on fait de l’embarqué et qu’on a pas de générateur d’aléa pur, ça va être compliqué

Très classique dans le cas des chiffrement à flot
A veut communiquer avec B , il nécessite d’envoyer sa graine à B
L’intérêt de cette approche là c’est qu’on a juste à fournir la graine à notre interlocuteur et il va pouvoir dériver la clé de cette graine
Rappel: en échange de clés on a vu Diffie-Hellmann et RSA (qui est algo de chiffrement mais qui permet de chiffrer sa clé avec la clé publique de l’autre, etc. etc.)



Logiciel → Les opérandes sont multiples de **l’octet**
Matériel → Peut aller jusqu'à manipuler directement les bits
chiffrement homomorphe : permet de faire des opérations sur des chiffrés !

<!-- Anki : pas sûr de comprendre ci-dessous donc je verrais après avoir compris -->
