P.S.
На данный момент в программе-примере доступной на моей страничке используется примитивный полином 1Åx502Åx607, так же исходный код по сравнению с приводимым здесь улучшен и оптимизирован, и работает на порядок быстрее.
Маленькое замечание: если для генерирования гаммы используется примитивный полином, то плохих паролей не существует. Точнее существует, но он единственный – полностью нулевой.
Второе замечание: для лучшей стойкости начальное значение сигнатуры лучше инициализировать на основе ключа или гаммы, особенно для потоковой версии.