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


Виды угроз электронным документам



Виды угроз электронным документам

Существуют следующие виды злоумышленных действий при обмене электронными документами:

1. отказ: абонент А заявляет, что не посылал документа абоненту В, хотя на самом деле он его послал;

2. модификация: абонент В изменяет документ и утверждает, что именно таким получил его от абонента А;

3. подмена: абонент В сам формирует документ и заявляет, что получил его от абонента А;

4. активный перехват: нарушитель (подключившийся к сети) перехватывает документы (файлы) и изменяет их;

5. " маскарад": абонент С посылает документ от имени абонента А;

6. повтор: абонент С повторяет посылку документа, который абонент А ранее послал абоненту В.

Основная задача защиты данных, передаваемых по открытым каналам связи в наиболее полной постановке:

В системе имеются две легальные стороны – «отправитель» и «получатель». Информационный процесс заключается в передаче сообщения от первого второму и считается протекающим нормально, если получатель получит сообщение без искажений, кроме него никто не ознакомится с содержанием сообщения, и стороны не будут выставлять претензий друг другу. В задаче также присутствует злоумышленник, имеющий доступ к каналу передачи данных и стремящийся добиться отклонений от нормального течения процесса. Кроме того, каждая из легальных сторон может предпринять злоумышленные действия в отношении другой стороны.

Перечислим возможные угрозы:

1. Угрозы со стороны злоумышленника:

1.1. Ознакомление с содержанием переданного сообщения.
1.2. Навязывание получателю ложного сообщения – как полная его фабрикация, так и внесение искажений в действительно переданное сообщение.
1.3. Изъятие переданного отправителем сообщения из системы таким образом, чтобы получатель не узнал о факте передачи сообщения.
1.4. Создание помех для нормальной работы канала передачи связи, то есть нарушение работоспособности канала связи.

2. Угрозы со стороны законного отправителя сообщения:

2.1. Разглашение переданного сообщения.

2.2. Отказ от авторства в действительности переданного им сообщения.

2.3. Утверждение, что некоторое сообщение отправлено получателю, когда в действительности отправка не производилась.

3. Угрозы со стороны законного получателя сообщения:

3.1. Разглашение полученного сообщения.

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

3.3. Утверждение, что некоторое сообщение получено от отправителя, когда в действительности предъявленное сообщение сфабриковано самим получателем.

Сформулированная выше задача за вычетом угроз 1.3, 1.4, 2.1, 3.1 может быть разделена на три подзадачи, которые решаются криптографией независимо друг от друга:

1. «классическая задача криптографии» – защита данных от разглашения и искажения при передаче по открытому каналу связи;

2. «подпись электронного документа» – защита от отказа от авторства сообщения;

3. «вручение заказного письма» – защита от отказа от факта получения сообщения.

 

Алгоритм Эль Гамаля

Алгоритм Эль-Гамаля может использоваться для формирования электронной подписи или для шифрования данных. Он базируется на трудности вычисления дискретного логарифма. Для генерации пары ключей сначала берется простое число p и два случайных числа g и x, каждое из которых меньше p. Затем вычисляется:

y = gx mod p

Открытым ключом являются y, g, и p. при этом числа g и p можно сделать общими для группы пользователей. Секретным ключом является x.

Схема шифрования

Модификация алгоритма позволяет шифровать сообщения. Для шифрования сообщения M, выбираем случайное секретное число k, взаимно простое с p – 1 (т.е. НОД этих чисел равен 1). После этого вычисляем:

a = gk mod p

b = yk M mod p

Пара чисел a и b является шифротекстом. Причем, длина шифротекста вдвое длинней открытого текста.

Для расшифрования a и b, вычисляем:

M = b/ax mod p

Учитывая тот факт, что:

ax ≡ gkx (mod p) и b/ax ≡ yk M/ax ≡ gxk M/gxk ≡ M (mod p) ,

то вышеприведенные формулы верны.

Схема подписи.

Для подписания сообщения M, вначале выберем случайное число k, такое, что k взаимно простое с p – 1. После чего вычисляем:

a = gk mod p

и, используя расширенный алгоритм Евклида, решаем уравнение относительно числа b :

M = (xa + kb) mod (p – 1)

Подписью является пара чисел: a и b. Случайное число k должно держаться в строгом секрете и являться уникальным для каждого подписываемого сообщения М.

Для проверки правильности подписи, проверяется следующее равенство:

ya ab mod p = gM mod p

В этой системе открытого шифрования та же степень защиты, что для алгоритма RSA с модулем N из 200 знаков, достигается уже при модуле P из 150 знаков. Это позволяет в 5-7 раз увеличить скорость обработки информации. Однако, в таком варианте открытого шифрования нет подтверждения подлинности сообщений.

 

Сеть Файстеля

В начале 1970-х годов, сознавая необходимость защиты уже электронной информации при передаче данных в сетях ЭВМ (особенно бизнес-транзакций, при осуществлении денежных переводов и передаче конфиденциальных финансовых данных), компания International Business Machines (IBM) приступила к выполнению собственной программы научных исследований, посвященных защите информации в электронных сетях, в том числе и криптографии. Так развитие одной передовой технологии повлекло за собой настоящую революцию в другой.

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

 
 


По мнению К.Шеннона в практических шифрах необходимо использовать два принципа: рассеивание и перемешивание.

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

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

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

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

Реализация криптоалгоритмов на основе сети Файстеля позволяет эффективно реализовать указанные принципы и получать достаточно стойкие шифры для практического применения в информационно-вычислительных сетях.

 

Код аутентичности сообщения

Код аутентичности сообщения (message authentication code – MAC ) – это функция, которая принимает на вход два аргумента: ключ К фиксированной длины и сообщение М произвольной длины и выдает значение фиксированной длины. Для обеспечения аутентификации сообщения пользователь отсылает не только сообщение М, но и код аутентичности этого сообщения СK (M).

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

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

Рассмотрим свойства, которыми должна обладать функция МАС. Если длина ключа, используемого при вычислении МАС, равна k, то при условии сильной функции МАС противнику потребуется выполнить 2k попыток для перебора всех ключей. Если длина значения, создаваемого МАС, равна n, то всего существует 2n различных значений МАС.

Функция вычисления МАС должна обладать следующими свойствами:

1. Должно быть вычислительно трудно, зная М и СK (M), найти сообщение М′, такое, что СK(M) = СK(M′ ).

2. Значения СK(M) должны быть равномерно распределенными в том смысле, что для любых сообщений М и M′ вероятность того, что СK(M) = СK(M′ ), должна быть равна 2-n, где n – длина значения МАС.

...

МАС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

 


Ключевая информация

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

1) Ключ является массивом из восьми 32-битных элементов кода, далее он обозначается символом К: K = {Ki}0≤ i ≤ 7. В ГОСТе элементы ключа используются как 32-разрядные целые числа без знака: 0 ≤ Ki ≤ 232. Таким образом, размер ключа составляет 32·8=256 бит или 32 байта.

2) Блок подстановки является матрицей 8´ 16, содержащей 4-битовые элементы, которые можно представить в виде целых чисел от 0 до 15. Строки блокаподстановки называются узлами замен, они должны содержать различные значения, то есть каждый узел замен должен содержать 16 различных чисел от 0 до 15. Таблица замен обозначается символом H: H = {Hi, j} 0 ≤ i ≤ 7, 0 ≤ j ≤ 15 0 ≤ Hi, j ≤ 15. Таким образом, общий объем таблицы замен равен: 8 узлов ´ 16 элементов/узел ´ 4 бита/элемент = 512 бит или 64 байта.

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

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

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

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

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

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

Для создания подписи отправитель вычисляет две величины, 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.Арбитражная цифровая подпись: симметричное шифрование, арбитр видит сообщение

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


Поделиться:



Популярное:

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


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