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


МАС на основе алгоритма симметричного шифрования



Для вычисления МАС может использоваться алгоритм симметричного шифрования (например, DES в режиме СВС) или ГОСТ 28147-89 в режиме гаммирования с обратной связью и нулевым инициализационным вектором. Основная идея алгоритма заключается в том, чтобы зашифровать сообщение с помощью блочного шифра в указанном режиме, а затем отбросить все блоки кроме последнего. Для сообщения состоящего из блоков Р1....Рn вычисление МАС происходит по следующей схеме:

МАС1 = EK [P1]

МАС2 = EK [P2 Å MAC1]

...

МАСN = EK [PN Å MACN-1]

MAC = МАСN

МАС на основе хэш-функции

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

 

6.1. Общая характеристика алгоритма криптографического преобразования ГОСТ 28147-89

Алгоритм, определяемый российским стандартом ГОСТ 28147-89, является единым алгоритмом криптографической защиты данных для информационных систем, локальных вычислительных сетей и автономных компьютеров.

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

В алгоритме ГОСТ 28147-89 используется 256-разрядный ключ, представляемый в виде восьми 32-разрядных чисел. Расшифровываются данные с помощью того же ключа, посредством которого они были зашифрованы.

Алгоритм «основного шага криптопреобра­зования» построен на основе сбалансированной сети Файстеля. На вход основного шага подается блок четного размера, старшая и младшая половины которого обрабатываются отдельно друг от друга. В ходе преобразования младшая половина блока помещается на место старшей. Старшая - на место младшей, но предварительно с помощью операции побитного исключающего или складывается с результатом вычисления шифрующей функции. Эта функция, принимающая в качестве аргумента младшую половину блока и некоторый элемент ключевой информации ( K ), является содержательной частью шифра и называется его функцией шифрования. Соображения стойкости шифра требуют, чтобы размеры всех перечисленных элементов блоков были равны: | N 1|=| N 2|=| X |, в ГОСТ 28147-89 они равны 32 битам.

 
 

 

 


Рис. 7.1 Результат работы основного шага криптопреобразования

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

ГОСТ 28147–89 содержит описание алгоритмов нескольких уровней. На самом верхнем находятся алгоритмы, предназначенные для шифрования массивов данных и выработки для них имитовставки. Все они опираются на три алгоритма низшего уровня, называемые в тексте ГОСТа циклами. Эти фундаментальные алгоритмы назовём базовыми циклами.

Базовые циклы:

1. цикл зашифрования (32-З);

2. цикл расшифрования (32-Р);

3. цикл выработки имитовставки (16-З).

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

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

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

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

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

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

Рассмотрим некоторые возможные технологии арбитражной цифровой подписи

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

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

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

X→ A: IDX || EKхy [M] ||EKxa [IDX || H (EKxy [M])]

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

A→ Y: EKya [ IDX || EKxy[M] || EKxa [ IDX || H ( EKxy [M])], T]

А передает Y все, что он получил от Х плюс отметку времени, всё шифруя с использованием ключа Kya.

Хотя арбитр и не может прочитать сообщение, он в состоянии предотвратить подделку любого из участников, Х или Y. Остается проблема, как и в первом сценарии, что арбитр может сговориться с отправителем, отрицающим подписанное сообщение, или с получателем, для подделки подписи отправителя.

Базовые циклы ГОСТ 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.

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

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

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

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

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

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

 

 
 
k =1...3

 


Поделиться:



Популярное:

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


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