бітових слів: 8-бітових слів, 16-бітових слів, 32-бітових слів, і т.д.: Х1, Х2, X3, ..., Хm. Це первинний стан і є ключем. i-е слово генератора виходить як:
=(Xi-a + Xi-a + Хi-c + + Xi-m) mod 2n (2.12)
При правильному виборі коефіцієнтів а, b, с,. . . , Т період цього генератора не менш 2n - 1. Однією з вимог до коефіцієнтів є те, що молодший значущий біт утворює LFSR максимальної довжини.
Наприклад, (55,24,0) - це примітивний многочлен mod 2 з 14-й. Це означає, що довжина наступного адитивного генератора максимальна.
=(Xi - 55 + Xi - 24) mod2n (2.13)
2.4.7.1 Fish
Fish - це адитивний генератор, заснований на методах, що використовуються в проріджувати генераторі. Він видає потік 32-бітових слів, які можуть бути використані (за допомогою XOR) з потоком відкритого тексту для отримання шифротекста або з потоком шифротекста для отримання відкритого тексту. Назва алгоритму являє собою скорочення від Fibonacci shrinking generator - проріджують генератор Фіббоначі.
перше використовуйте два наступних адитивних генератора. Ключем є початкові стану цих генераторів.
=(Ai - 55 + Ai - 24) mod232=(Bi - 52 + Bi - 19) mod 232
Ці послідовності проріджуються попарно залежно від молодшого значущого біта Вi: якщо його значення дорівнює 1, то пара використовується, якщо 0 - ігнорується. Сj-це послідовність використовуваних слів Ai, a Dj - це послідовність використовуваних слів Вi. Для генерації двох 32-бітових слів-результатів К2j і K2j +1 ці слова використовуються парами - C2j, C2j +1, D2j, D2j +1.
j=C2j + (D2j, ^ D2j +1) j=D2j +1 ^ (Ej, ^ C2j +1) j=E2j + F2jj +1=C2j +1 + F2j
Цей алгоритм швидкий. на процесорі i486/33 реалізація Fish мовою З шифрує дані зі швидкістю 15-Мбіт / с. На жаль він також не безпечний, порядок розкриття становить близько 240.
2.4.7.2 Mush
Mush являє собою взаємно проріджувати генератор. Його роботу пояснити легко. Візьмемо два адитивних генератора: А і В. Якщо біт перенесення А встановлений, тактується В. Якщо біт перенесення В встановлений, тактується А. Тактіруем А і при переповненні встановлюємо біт перенесення. Тактіруем В і при переповненні встановлюємо біт перенесення. Остаточним виходом є XOR виходів А і В. Найпростіше використовувати ті ж генератори, що і в Fish:
=(Ai - 55 + Ai - 24) mod232=(Bi - 52 + Bi - 19) mod 232
В середньому для генерації одного вихідного слова потрібно три ітерації генератора. І якщо коефіцієнти адитивного генератора обрані правильно і є взаємно простими, довжина вихідний послідовності буде максимальна.
3. МЕТОДИ ОЦІНКИ ЯКОСТІ ГЕНЕРАТОРІВ ПСП
Для дослідження ПСП застосовуються дві групи тестів.
Графічні тести. Користувач отримує певні графічні залежності і з їхнього вигляду робить висновок про властивості тестируемой послідовності.
Оціночні тести. На основі оціночних критеріїв робиться висновок про ступінь близькості статистичних властивостей аналізованої й істинно випадкової послідовності.
3.1 Графічні тест...