double arrow

ХФ ГОСТ Р 34.10-94


,

- дополнение до кратности 256 бит;

- нарезка по 256 бит;

- каждый блок сжимается с использованием шифрования ГОСТ Р 28147 ( – шаговая функция хэширования);

- два этапа сжатия с учетом контрольной суммы и длинны сообщения.

Шаговая функция χ

;

.

Алгоритм вычисления шаговой функции:

1) генерация ключей Ki (i=1…4), зависят от H и M;

2) шифрующие преобразование строки H на ключах Ki;

3) перемешивающие преобразование: результат шифрования еще раз перемешивается в H.

Генерация ключей:

Опустим. Ki(H,M), i=1…4.

Шифрующее преобразование:

, ;

| - конкатенация (склейка битовых строк);

;

.

Перемешивание: ;

;

;

;

; s w:val="28"/><w:lang w:val="EN-US"/></w:rPr><m:t>О·</m:t></m:r></m:oMath></m:oMathPara></w:p><w:sectPr wsp:rsidR="00000000"><w:pgSz w:w="12240" w:h="15840"/><w:pgMar w:top="1134" w:right="850" w:bottom="1134" w:left="1701" w:header="720" w:footer="720" w:gutter="0"/><w:cols w:space="720"/></w:sectPr></wx:sect></w:body></w:wordDocument>"> .

.

Процедура вычисления h(M):

M – входные данные;

IV – стартовое значение регистра H;

Mr ϵ V* – часть М, которая еще не прошла процедуру хеширования;

Мр ϵ V* – остаток очередной терации;




Мs ϵ V256 – текущая часть М, которая обрабатывается;

Н ϵ V256 – текущее значение хэш-функции;

Σ ϵ V256 – контрольная сумма;

L ϵ V256 – длина М.

Алгоритм:

1. Mr=M, H=IV, Σ=0, L=0;

2. Пока |Mr|>256 => выполняются шаги 3.-7.;

3. Мr=Mp|Ms;

4. H=χ(Ms,H);

5. L=L+256(mod2256);

6. Σ= Σ+Ms(mod 2256);

7. Mr=Mp;

8. Иначе выполняются 9.-14.;

9. Модификация длины L=L+|Mr|(mod 2256);

10. Дополняются нулевыми битами до 256 бит, M’=0…0|Mr: |M’|=256;

11. Σ= Σ+M(mod 2256) – изменение контрольной суммы;

12. H=χ(M’,H);

13. H=χ(L,H) – учет длины;

14. H=χ(Σ,H) – учет контрольной суммы.

15. h(М)=Н.

Применение хэш-функции без ключа:

1) ЭЦП (хэш-функция должна анализировать совместно с алгоритмом цифровой подписи).

2) Парольная защита:

пользователь инф. система

A B PA

PA

Для улучшения была придумана схема хеширования паролей:

A B

Pi

Сильная ХФ не обязательна. Противник может извлечь пароль из канала связи.

Система однократных паролей:

Пользователь А, выбирает пароль РA,

;

.

A B

Pi

h=n-1…0, H(Pi)=Pi+1 - ? => запомнить Pi.

Недостатки:

- Решить как помнить Pi - ?

- конечность цепочки Pi;

- синхронизм Pi пользователя сервера;

Наблюдение пароля в канале связи ничего не дает, но если противник владеет каналом связи, то ему все возможно сделать. В этом случае ХФ должна удовлетворять свойствам слабой ХФ.

3) Обеспечение целостности:

(М, Н(М)).

Вопрос: какая хэш-функция используется сильная/слабая.

ЭЦП: .

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

;

отказ от (m, S);

.

=> Для защиты от отказа следует использовать сильную хэш-функцию.



Парольная защита:

;

;

сервер .

Атака на сервере => ,

H – односторонняя хэш-функция.

Можно: ;

=> Н должна быть слабой.

Обеспечение целостности информации:

(m; H(m))

(m’, h’) >

; =>

;

e – ошибка.

e2 = 0 => (m’,h’);

H(m’)=H(m);

=> хэш-функция должна быть односторонней и слабой.







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