Подстановки, перестановки, гаммирование

Под гаммированием понимается "процесс наложения по определенному закону гаммы шифра на открытые данные". Но это слишком общее определение -- под него подходит практически любой алгоритм (если назвать ключ гаммой). Здесь под гаммированием будет пониматься сложение открытых данных с гаммой по модулю 2 (хотя можно использовать и другой модуль, например, 256). Такая операция эффективно реализуется в современных микропроцессорах. Таким образом, некоторые схемы поблочного шифрования подходят под это определение, но скажем, DES или RSA – это не гаммирование.

Гамму можно получать по-разному, например, положить все байты гаммы равными одному и тому же числу. Это пример неудачного выбора гаммы. Вообще, чем гамма случайнее и чем длиннее ее период, тем лучше.

Для получения таких гамм, можно получать каждый следующий байт, как функцию предыдущего (генератор псевдослучайных чисел), или строить гамму на основе каких-либо аутентифицирующих параметров (это один из способов организации проверок этих параметров в программе).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: