Модернизация шифра с простым вероятностным механизмом.

Copyright © Titov Oleg, 2001, OTitov@gsu.unibel.by.

Одним из перспективных способов повышения стойкости известных шифров является задание неопределенности хода шифрования информации. Эта идея может быть реализована путем введения случайных данных в преобразуемое сообщение. "Подмешивание" случайных данных к шифруемому сообщению позволяет задать вероятностный характер операций преобразования и тем самым повысить вычислительную стойкость криптосистемы.

Пусть E есть b-битовая функция шифрования, P есть p-битовый блок открытого текста и R - r-битовый случайный блок, где b=r+p. Подадим на вход шифрующей функции блок B = R | P , где знак "|" обозначает конкатенацию двоичных векторов R и P:

P  ->  B = R | P  ->  C = E( B, K ),

где K - ключ шифрования. Для шифрования больших объемов данных исходный текст разбивается на блоки длиной p-бит и с каждым из них проводятся вышеуказанные операции. Для каждого такого блока в простых вероятностных шифрах генерируется новый случайный вектор R. В модернизированном простом вероятностном шифре для второго и далее блоков не генерируется случайный вектор R, а случайные биты берутся из предыдущего зашифрованного блока по следующей схеме.

Пусть P=P1|P2|P3|...|Pn - преобразуемое исходное сообщение, R - случайный r-битовый вектор, тогда

B1 = R | P1 ,   C1' | C1 = E( B1, K ),
Bi = Ci-1 | Pi , Ci' | Ci = E( Bi, K ), 
C=C1' | C2' | ... | Cn' | Cn

где i изменяется от 2 до n, Ci' - p-битовый вектор, Ci - r-битовый вектор.

В результате мы избавляемся от главного недостатка простых вероятностных шифров - увеличение размера зашифрованного текста в сравнении с незашифрованым в b/p раз. Переход от случайных бит к псевдослучайным, при наличии "хорошей" функции E, не является существенным недостатком, т.к. в существующих криптографических системах используются именно псевдослучайные биты.