-либо обратимой операции как правило поразрядного сложения по модулю 2:

Работа добавлена: 2018-07-06






ному байту открытого текста добавляется значение байта с определяемым ключом шифрования смещением. Недостаточная криптостойкость данного алгоритма шифрования при его использовании в чистом виде определяется тем, что ключ шифрования содержится в шифротексте.

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

V/,\<i<nС,= Р,е G,,

где Р = {Рь Р2, ..., Р„ ..., Р„} — открытый текст;п —длина открытого текста; С= {СьС2, ..., С,-, ..., С„} — шифротекст; G = = {Gb G2, ..., G,, ...,Gn}гамма шифра; © — операция поразрядного сложения по модулю 2.

Расшифрование в этом случае заключается в повторном наложении той же гаммы шифра на шифротекст:

V/, 1</<и Р,= С,® G,,

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

V /,\<i<nG,=aG^i + с{modm\,

гдеа, си Go— определяемые ключом параметры датчика псевдослучайных чисел;т=2s (sдлина машинного слова в битах, обычно 32 или 64).

Доказано, что максимальный период генерируемой линейным конгруэнтным датчиком псевдослучайной последовательности достигается при нечетном значении параметрасиа= 1 {mod 4}.

Другим примером датчика псевдослучайных чисел являются линейные последовательные машины (М-последовательности) Определяемое ключом шифрования исходное двоичное значение а0,аи...,ak_iпомещается в сдвиговый регистр. На каждом такте работы датчика происходит сдвиг А; двоичных разрядов, вытесняемый бит а0 добавляется к гамме шифра, а затем замещает битак_\по следующему правилу:

к~\у=0

гдеh = {hQ, hx,...,hk_x)определяемые ключом шифрования коэффициенты передачи (Vy, 0<j<k hj=0 vhj=1); z,— операция   1 суммирования по модулю 2.

Если в качестве коэффициентов передачи выбираются коэффициенты неприводимого многочлена степеник(который нельзя раз-

ложить на сомножители-многочлены степени меньшек),то данный тип генератора псевдослучайных чисел обеспечивает вьщачу последовательности двоичных чисел с периодом, равным 2*- 1.

Приведем пример функций на языке С, выполняющих шифрование и расшифрование гаммированием заданной строки символов (используется линейный конгруэнтный датчик псевдослучайных чисел):

■/*функция шифрования открытого текстаstrдлинойппо

ключуа,   с и дО  сзаписью полученного шифротекста вres

*/

void Crypt(const char *str, char a, char c, char gO,

char *res, unsigned n)

{char Gamma=gO; //гамма шифра

IIцикл шифрования

for(unsigned i=0; i<n; i++)

{ Gamma=(a*Gamma+c) % 256;

res[i]=str[i]"Gamma; }

res[n]='\0'; }

/*функция расшифрования шифротекстаstrдлинойппо

ключуа, с и дО сзаписью восстановленного открытого

текста вres */

void Encrypt(const char *str, char a, char c, char gO,

char *res, unsigned n)

{ char Gamma=gO; //гамма шифра

IIцикл расшифрования

for(unsigned i=0; i<n; i++)

{ Gamma=(a*Gamma+c) % 256;

res[i]=str[i]AGamma;    }

res[n]='\0';    }

Гаммирование лежит в основепотоковыхшифров, в которых открытый текст преобразуется в шифротекст последовательно по одному биту. Криптостойкость потоковых шифров полностью определяется структурой используемого генератора псевдослучайной последовательности (чем меньше период псевдослучайной последовательности, тем ниже криптостойкость потокового шифра).

Основным преимуществом потоковых шифров является их высокая производительность. Эти шифры наиболее пригодны для шифрования непрерывных потоков открытых данных (например, в сетях Передачи данных или связи). К наиболее известным современным потоковым шифрам относятся:

RC4(Rivest Cipher 4), разработанный Р.Ривестомв шифре RC4может использоваться ключ переменной длины;

SEAL (Software Encryption ALgorithm)ключ длиной 160 бит;




Возможно эти работы будут Вам интересны.

1. гортань воспалениегортани связанное как правило с простудным заболеванием либо с такими инфекционны

2. Операции сравнения и логические операции

3. Битовые операции можно применять к переменным, имеющим типы int, char, а также их вариантам (например, long int). Их нельзя применять к переменным типов float, double, void (или более сложных типов). Эти операции задаются следующими символами

4. -либо реальности вне сознания субъекта либо рассматривает ее как нечто полностью определяемое его активнос

5. темах энтропия либо остается неизменной либо увеличивается.

6. -дневный срок рассмотреть закон и принять по нему одно из двух решений: либо подписать либо отклонить.

7. Закон сложения скоростей в СТО. Предельный характер скорости света. 2)Давление. Основное уравнение молекулярно-кинетической теории.

8. Вычисляется целое числох,которое является мультипликативно обратным числу у по модулю

9. шифрования (используется сложение в кольце вычетов по модулю, равному мощности алфавита):

10. тема двух равных по модулю разноименных точечных зарядов расстояние между которыми значительно меньше р.