Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Общие компоненты группы пользователей



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

160-битное простое число q, т.е. 2159 < q < 2160.

Простое число р длиной между 512 и 1024 битами должно быть таким, чтобы q было делителем (р - 1), т.е. 2L-1 < p < 2L, где 512 < L < 1024 и (p-1)/q является целым.

g = h(p-1)/q mod p, где h является целым между 1 и (р-1) и g должно быть больше, чем 1, 10.

Зная эти числа, каждый пользователь выбирает закрытый ключ и создает открытый ключ.

Закрытый ключ отправителя

Закрытый ключ х должен быть числом между 1 и (q-1) и должен быть выбран случайно или псевдослучайно.

x - случайное или псевдослучайное целое, 0 < x < q,

Открытый ключ отправителя

Открытый ключ вычисляется из закрытого ключа как у = gx mod p. Вычислить у по известному х довольно просто. Однако, имея открытый ключ у, вычислительно невозможно определить х, который является дискретным логарифмом у по основанию g.

Случайное число, уникальное для каждой подписи.

k - случайное или псевдослучайное целое, 0 < k < q, уникальное для каждого подписывания.

Подписывание

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

r = (gk mod p) mod q

s = [ k-1 (H (M) + xr) ] mod q

Подпись = (r, s) пересылается вместе с сообщением.

Проверка подписи

Получатель выполняет проверку подписи с использованием следующих формул. Он создает величину v, которая является функцией от компонент общего открытого ключа, открытого ключа отправителя и хэш-кода полученного сообщения. Если эта величина равна компоненте r в подписи, то подпись считается действительной.

w = s-1 mod q

u1 = [ H (M) w ] mod q

u2 = r w mod q

v = [ (gu1 yu2) mod p ] mod q

подпись корректна, если v = r

11.1. Базовый цикл расшифрования криптографического преобразования ГОСТ 28147-89

Поскольку ГОСТ 28147-89 относится к классу блочных шифров, то единицей обработки информации в нем является блок данных. В ГОСТе определены алгоритмы для криптографических преобразований, то есть для зашифрования, расшифрования и выработки имитовставки. Именно эти алгоритмы мы назвали базовыми циклами ГОСТа.

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

7. Цикл зашифрования 32-З:

K 0, K 1, K 2, K 3, K 4, K 5, K 6, K 7, K 0, K 1, K 2, K 3, K 4, K 5, K 6, K 7, K 0, K 1, K 2, K 3, K 4, K 5, K 6, K 7, K 7, K 6, K 5, K 4, K 3, K 2, K 1, K 0.

8. Цикл расшифрования 32-Р:

K 0, K 1, K 2, K 3, K 4, K 5, K 6, K 7, K 7, K 6, K 5, K 4, K 3, K 2, K 1, K 0, K 7, K 6, K 5, K 4, K 3, K 2, K 1, K 0, K 7, K 6, K 5, K 4, K 3, K 2, K 1, K 0.

9. Цикл выработки имитовставки 16-З:

K 0, K 1, K 2, K 3, K 4, K 5, K 6, K 7, K 0, K 1, K 2, K 3, K 4, K 5, K 6, K 7.

Каждый из циклов имеет собственное буквенно-цифровое обозначение, соответствующее шаблону «n-X», где первый элемент обозначения (n), задает число повторений основного шага в цикле, а второй элемент обозначения (X), буква, задает порядок зашифрования («З») или расшифрования («Р») в использовании ключевых элементов

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

Ц32-Р ( Ц32-З ( T ))= T,

где: T – произвольный 64-битный блок данных;

ЦX ( T ) – результат выполнения цикла X над блоком данных T.

Для выполнения этого условия для алгоритмов, подобных ГОСТу, необходимо и достаточно, чтобы порядок использования ключевых элементов соответствующими циклами был взаимно обратным. Зашифрование Расшифрование

 

 
 
k =1...3

 


Простые хэш-функции

Хэш-функция – это односторонняя функция, которая на вход принимает файл данных произвольной длины, а выдает результат фиксированной длины (128, 256, 512 или другое количество битов), иногда говорят предназначена для получения дайджеста или " отпечатков пальцев" файла, сообщения или некоторого блока данных. Стандартной областью применения функций хеширования являются цифровые подписи. Вместо самого сообщения (которое может иметь слишком большую длину) подписывают хэш-код сообщения.

Хэш-функция Н, которая используется для аутентификации сообщений, должна обладать следующими свойствами:

1. Хэш-функция Н должна применяться к блоку данных любой длины.

2. Хэш-функция Н создает выход фиксированной длины.

3. Н (М) относительно легко (за полиномиальное время) вычисляется для любого значения М.

4. Для любого данного значения хэш-кода h вычислительно невозможно найти M такое, что Н (M) = h.

5. Для любого данного х вычислительно невозможно найти y ≠ x, что H (y) = H (x).

6. Вычислительно невозможно найти произвольную пару (х, y) такую, что H (y) = H (x).

Хэш-функция, которая удовлетворяет первым пяти свойствам, называется простой или слабой хэш-функцией. Если кроме того выполняется шестое свойство, то такая функция называется сильной хэш-функцией. Шестое свойство защищает против класса атак, известных как атака " день рождения".

Простые хэш-функции

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

Одним из простейших примеров хэш-функции является побитное сложение по модулю 2 (операция XOR) каждого блока:

Сi = bi1 Å bi2 Å ... Å bik

Где: Сi i ый бит хэш-кода, 1≤ i ≤ n, k – число n – битных блока входа, bij – i – ый бит в j – ом блоке, Å - операция XOR.

В результате получается хэш-код длины n, известный как продольный избыточный контроль. Это эффективно при случайных сбоях для проверки целостности данных.

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

1. Установить n -битный хэш-код в ноль.

2. Для каждого n -битного блока данных выполнить следующие операции:

А)сдвинуть циклически текущий хэш-код влево на один бит;

Б)выполнить операцию XOR для очередного блока и хэш-кода.

Это даст эффект " случайности" входа и уничтожит любую регулярность, которая присутствует во входных значениях.

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

12.1.Базовый цикл выработки иммитовставки криптографического преобразования ГОСТ 28147-89

Поскольку ГОСТ 28147-89 относится к классу блочных шифров, то единицей обработки информации в нем является блок данных. В ГОСТе определены алгоритмы для криптографических преобразований, то есть для зашифрования, расшифрования и выработки имитовставки. Именно эти алгоритмы мы назвали базовыми циклами ГОСТа.

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

1. Цикл зашифрования 32-З:

K 0, K 1, K 2, K 3, K 4, K 5, K 6, K 7, K 0, K 1, K 2, K 3, K 4, K 5, K 6, K 7, K 0, K 1, K 2, K 3, K 4, K 5, K 6, K 7, K 7, K 6, K 5, K 4, K 3, K 2, K 1, K 0.

2.Цикл расшифрования 32-Р:

K 0, K 1, K 2, K 3, K 4, K 5, K 6, K 7, K 7, K 6, K 5, K 4, K 3, K 2, K 1, K 0, K 7, K 6, K 5, K 4, K 3, K 2, K 1, K 0, K 7, K 6, K 5, K 4, K 3, K 2, K 1, K 0.

3.Цикл выработки имитовставки 16-З:

K 0, K 1, K 2, K 3, K 4, K 5, K 6, K 7, K 0, K 1, K 2, K 3, K 4, K 5, K 6, K 7.

Схемы базовых циклов приведены на рисунках 7.4 – 7.6. Каждый из них принимает в качестве аргумента и возвращает в качестве результата 64-битный блок данных, обозначенный на схемах N. Символ Шаг (N, K) обозначает выполнение основного шага криптопреобразования для блока N с использованием ключевого элемента K. Между циклами шифрования и вычисления имитовставки есть еще одно отличие: в конце базовых циклов шифрования старшая и младшая часть блока результата меняются местами, это необходимо для их взаимной обратимости.

Цикл выработки имитовставки вдвое короче циклов шифрования, порядок использования ключевых элементов в нем такой же, как в первых 16 шагах цикла зашифрования.

 

Рис. 7.6. Схема выработки иммитовставки

 

12.2.Арбитражная цифровая подпись: симметричное шифрование, арбитр видит сообщение

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

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

Существуют различные схемы с применением арбитражной подписи. В общем виде арбитражная подпись выполняется следующим образом. Каждое подписанное сообщение от отправителя Х к получателю Y первым делом поступает к арбитру А, который проверяет подпись для данного сообщения. После этого сообщение посылается к Y с указанием того, что оно было проверено арбитром. Присутствие А решает проблему схем прямой цифровой подписи, при которых Х может отказаться от сообщения.

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

Симметричное шифрование, арбитр видит сообщение:

Абонент X посылает арбитру А своё сообщение М, и месте с нимхэш-код сообщения H (M) и свой идентификатор IDX, которые зашифрованы секретным ключом EKxa. Х → A: M || EKxa [ IDX || H (M)]

Предполагается, что отправитель Х и арбитр А разделяют секретный ключ Kxa и что А и Y разделяют секретный ключ Kya. Х создает сообщение М и вычисляет его хэш-значение Н (М). Затем Х передает сообщение и подпись А. Подпись состоит из идентификатора Х и хэш-значения, все зашифровано с использованием ключа Kxa. А дешифрует подпись и проверяет хэш-значение.

Затем А передает сообщение к Y, шифруя его Kya.

A→ Y: ЕКya [ IDX || M || EKxa [IDX || H (M)], T ]

Сообщение включает IDX, первоначальное сообщение от Х, подпись и отметку времени. Y может дешифровать его для получения сообщения и подписи. Отметка времени информирует Y о том, что данное сообщение не устарело и не является повтором. Y может сохранить М и подпись к нему. В случае спора Y, который утверждает, что получил сообщение М от Х, посылает следующее сообщение к А:

ЕКya [ IDX || M || EKxa [IDX || H (M)] ]

Арбитр использует Kya для получения IDХ, М и подписи, а затем, используя Kxa, может дешифровать подпись и проверить хэш-код. По этой схеме Y не может прямо проверить подпись Х; подпись используется исключительно для разрешения споров. Y считает сообщение от Х аутентифицированным, потому что оно прошло через А. В данном сценарии обе стороны должны иметь высокую степень доверия к А:

1. Х должен доверять А в том, что тот не будет раскрывать Kxa и создавать фальшивые подписи в форме ЕKка [IDX || H (M)].

2. Y должен доверять А в том, что он будет посылать ЕKya [ IDX || M || EKxa [IDX || H (M)] ] только в том случае, если хэш-значение является корректным и подпись была создана Х.

3. Обе стороны должны доверять А в решении спорных вопросов.


Поделиться:



Популярное:

  1. E) Горные породы, климат, почва, биокомпоненты, вода.
  2. Активные компоненты подобраны таким образом, чтобы максимально тщательно воздействовать на проблемные зоны вокруг глаз и ликвидировать темные круги, припухлости и отечность.
  3. Активные компоненты: морской коллаген, экстракт черной икры.
  4. Алгоритм А-3 Представление результатов работы группы (мастерской).
  5. Анкета оценки эффективности группы
  6. В зависимости от цели изучения того или иного документа указанные исследования условно подразделяются на три группы.
  7. В качестве третьего основного фактора эволюции признается обособленность группы организмов.
  8. В походе необходимо своевременно информировать руководителя группы об ухудшении состояния здоровья или травмировании.
  9. Взаимодействие индивида и малой группы
  10. Возникновение и особенности технического документирования. Основные группы и виды технической документации.
  11. Возникновение и развитие малой неформальной группы
  12. Вопрос 1(35) Экологические группы водорослей. Основные представители групп, их распространение и значение в экосистеме.


Последнее изменение этой страницы: 2016-03-25; Просмотров: 749; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.04 с.)
Главная | Случайная страница | Обратная связь