
Лекція 9 міждержавний стандарт гост 34.311-95
9.1 Призначення та загальні відомості
В галузі КЗІ в Україні діють чотири стандарти: ГОСТ 28147-89, ГОСТ 34.310-95, ГОСТ 34.311-95, ДСТУ 4145-2002, з яких останні три пов’язані з технологіями цифрового підпису, а перший є стандартом шифрування.
Особливістю останніх трьох останніх стандартів є те, що для їх реалізації необхідно застосовувати алгоритм ГОСТ 28147-89.
Стійкість стандартизованих криптоалгоритмів залежить від якості їхніх параметрів, у тому числі, ключів, однак, не всі стандарти надають рекомендації з методики вибору безпечних параметрів. Наприклад, стандарт ГОСТ 28147-89, не містить рекомендацій щодо побудови довгострокового ключа. З іншого боку, стандартизована геш-функція ГОСТ 34.311-95 при перетвореннях використовує ГОСТ 28147-89.
При використанні симетричних криптосистем, розповсюдження ключів можна покласти на асиметричну криптосистему. Таким чином, необхідно лише реалізувати генерацію ключів. Стандарти, щодо асиметричних криптосистем в Україні на даний час відсутні, тобто, побудову асиметричних криптосистем треба здійснювати самостійно.
ГОСТ 34.311-95 визначає геш-функцію для стандарту ГОСТ 34.310-95. Він має велике значення як діючий стандарт, що встановлює процедури побудови стійких параметрів для рандомізованих цифрових підписів типу Ель Гамаля (таким чином, і для відповідних асиметричних криптосистем і криптопро-токолів).
Зауважимо, що, разом з тим, методика генерації рандомізаторів для ЦП у цих стандартах не надається. Для генерації рандомізаторів, а також симетричних ключів, можна використати рекомендації додатку А до ДСТУ 4145-2002.
Опис стандарту ГОСТ 34.311-95 не можна визнати вдалим ні за системою позначень, ні за прозорістю викладення матеріалу. Тому, крім позначень стандарту, ми будемо користуватися також іншими поширеними позначеннями, а також, з метою полегшення розуміння, додамо коментарі та дещо змінимо порядок викладення змісту.
За встановленими правилами, застосування довільного стандарту має бути здійснено, виходячи з тексту оригіналу. Викладення змісту стандарту в інших джерелах розглядається лише як пояснення до основного тексту.
9.2 Основні позначення
-
множина всіх слів скінченної довжини
в алфавіті
.
- довжина
слова (рядка)
в бітах.
- множина
двійкових слів довжини
.
,
або
-
конкатенація (послідовний запис) слів
.
-
конкатенація
екземплярів слова
.
За стандартом, нумерація слів у
конкатенації, а також нумерація бітів
у слові проводиться зправа наліво і
починається з одиниці.
- слово
довжини
,
що містить молодші (праві)
розрядів двійкового запису числа
.
Іншими словами, - це значення
,
,
у двійковій системі счислення, яке,
можливо, буде доповнено зліва нулями
до
розрядів.
-
невід’ємне
число, двійковий запис якого представляє
слово
(перехід до числа
дозволяє комп’ютеру
виконувати
арифметичні операції над словом
).
- у
стандарті - порозрядна сума за модулем
два двох слів рівної довжини (ми будемо
позначати цю операцію через
).
- у
стандарті - додавання двох слів однакової
довжини
за правилом
.
Іншими словами, результатом цієї операції
є молодші
розрядів суми
(ми будемо позначати цю операцію через
).
повідомлення,
що підлягає гешуванню ( у стандарті -
,
але це викликає деяку плутанину в описі
процедур геш-функції).
-
ітеративна геш-функція, що визначається
цим стандартом і відображає повідомлення
у двійковий блок (геш-код) довжини 256
бітів
.
- результат
шифрперетворення слова
на несекретному сеансовому ключі
.
(Довгостроковий ключ вважається
узгодженим між користувачами, тобто
також не є секретним).
-
стартовий вектор гешування (вектор
ініціалізації). Це довільний, несекретний
вектор, спільний для групи користувачів.
-
присвоєння параметру
значення
.