En cryptographie, un chiffrement à flux est un chiffrement à clé symétrique dans lequel les bits de texte en clair sont combinés à un flux de bits de chiffrement pseudo-aléatoire (flux de clés) en utilisant une opération exclusive ou (xor). Dans un chiffrement à flux continu, les chiffres en texte clair sont chiffrés un à la fois, et la transformation des chiffres successifs varie au cours de l'état de chiffrement. Un autre nom est un chiffrement d'état, car le chiffrement de chaque chiffre dépend de l'état actuel. En pratique, les chiffres sont généralement des bits ou des octets simples.

Le chiffrement en flux représente une approche différente du chiffrement symétrique par rapport au chiffrement par blocs. Les chiffres par blocs fonctionnent sur de grands blocs de longueur fixe. Les chiffres à flux s'exécutent généralement à une vitesse plus élevée que les chiffres par blocs et nécessitent moins de matériel. Cependant, les chiffres à flux peuvent être susceptibles de poser de sérieux problèmes de sécurité s'ils sont utilisés de manière incorrecte ; par exemple, le même état de départ ne doit jamais être utilisé deux fois.

Un chiffrement en continu utilise une clé cryptographique beaucoup plus petite et plus pratique, par exemple des clés de 128 bits. Sur la base de cette clé, il génère un flux de clés pseudo-aléatoires qui peut être combiné avec les chiffres du texte en clair, de manière similaire à l'algorithme de chiffrement par clavier à usage unique. Cependant, comme le flux de clés est pseudo-aléatoire et non véritablement aléatoire, la sécurité associée au clavier à usage unique ne peut pas être appliquée et il est tout à fait possible qu'un chiffrement en flux soit totalement non sécurisé.