Алгоритм формирует последовательность, которой смешивает данные. Получатель с тем же ключом и правильными параметрами восстанавливает сообщение. Повтор такой последовательности для разных сообщений способен раскрывать связи между их содержимым.
Поточные шифры используют внутри изученных протоколов и схем аутентифицированного шифрования. Само шифрование не обязательно обнаруживает подмену данных. Поэтому для защиты сообщений выбирают подходящую законченную схему, а не добавляют к тексту только поток шифра.
Сервис использует ChaCha20-Poly1305 через криптографическую библиотеку. Для каждого сообщения соблюдает правила nonce, сохраняет тег аутентификации и отклоняет сообщение при неверном теге. Нельзя считать, что вариант «просто ChaCha20» автоматически предоставит ту же проверку целостности.
Для ChaCha20 нельзя повторять его с одним ключом. Условия проверяют по конкретной схеме.
Поточный шифр сам защищает от изменений?Не обязательно. Нужна аутентификация, например в законченной AEAD-конструкции.
AES-CTR — тот же тип алгоритма?Это режим блочного шифра, который создаёт гамму и используется подобным образом, но AES остаётся блочным алгоритмом.