Сборник трудов III международной научно практической конференции


Симметричный блочный шифр и хеш- функция



Pdf көрінісі
бет3/35
Дата25.12.2016
өлшемі7,09 Mb.
#405
түріСборник
1   2   3   4   5   6   7   8   9   ...   35

Симметричный блочный шифр и хеш- функция 
Зафиксируем достаточно большое натуральное n и l в (1), (2) и обозначим  
??????̃  максимально  возможное  натуральное  число  в  представлении  (1).  Пусть  S  – 
любой двоичный файл произвольной длины. Зададим конкатенацию блоков S = 
S
1
  ||  S
2
  ||  …  ||  S
m
,    где  длина  каждого  блока,  за  исключением  последнего, 
фиксирована.  Считая  выполненным  равномерно  по  всем  индексам  S
i
  ≤ 
??????̃,  для 
каждого блока применим представление (2). Жадный алгоритм в теореме 1(в), 
который  находит  (3)  есть  функция  шифрования  блока,  которую  обозначим 

29 
 
 
??????
??????
(??????
??????
, ??????). Обратный алгоритм – функция дешифрования. На основе выделения 
блоков стандартным образом конструируется блочный шифр в режиме кодовой 
книги  или  режиме  зацепления  блоков.  В  режиме  зацепления  блоков  каждый 
блок  открытого  текста  побитово  складывается  по  модулю  2  с  предыдущим 
результатом  шифрования.  Обозначим   
??????
0
  –  вектор  инициализации  режима  
зацепления блоков, тогда: 
??????
??????
=   ??????
??????
??????
??????
 (??????
??????
 ⊕ ??????
??????−1
),                                           (3) 
где  i  –  номер  текущего  блока; 
??????
??????
??????
??????
   –  алгоритм  шифрования,  ??????
??????
  –  блок 
открытого текста.  
Обозначим 
??????
??????
±1
(??????)  функции блочного шифрования в режиме зацепления 
блоков  для верхнего индекса  (+1)  и, соответственно дешифрования для (-1). 
Зафиксируем  общую  память.  Обозначим  здесь  и  ниже   
?????? = (??????1, … , ????????????, ∆) 
симметричный  ключ  шифрования.  Свяжем  с  функцией 
??????
??????
±1
(??????)  хеш-функцию 
??????
??????
??????
(??????),  для  создания  которой    используем    стандартную    итеративную 
процедуру  порождения  хеш-функций  на  основе  XOR-  свертки  выходных 
значений  блочного  шифра  в  режиме  зацепления  блоков  H
0
  =  const        ,     
i=1,2,…r  
??????
??????
= ??????
??????
(?????? ⊕ ?????? 
??????−1
). 
Теорема  2.  Пусть  e  =  (e
1
,  …,  e
n
)  –  набор  битов,  определяющий  выбор 
подмножества  общей  памяти  для  пары  (Sender,  Receiver). 
{??????
??????
??????
}
1
??????
  –  базис 
симметричной  рюкзачной  криптосистемы, 
??????
??????
??????
(??????)  –  ей  соответствующая 
хеш-функция,  полученная  XOR-  сверткой  из  блочного  шифра 
??????
??????
(??????)
построенного на базисе 
{??????
??????
??????
}
1
??????
  .  Тогда: 
??????
??????
??????
(??????) – односторонняя хеш-функция. 
Поскольку 
??????
??????
??????
(??????)  –    однозначно  идентифицирует  пару  (Sender,  Receiver)  за 
счет  выбора  параметра 
??????
??????
,  то    в  случае  передачи  пакета       
(??????, ??????
??????
??????
(??????))  в 
открытом канале связи  функция 
??????
??????
??????
(??????) контролирует целостность значения 

30 
 
 
S,  в  частности  эффективно      противостоит  атакам  подмены  текста  S  в 
канале связи, в том числе атакам типа “Man in the middle».  
 В  самом  деле,  все  построения,  в  том  числе  и  хеш-функция 
параметрически  зависят от согласованного парой (Sender, Receiver) параметра 
??????
??????
  общей  памяти  этой  и  только  этой  пары  (Sender,  Receiver),  и 
нескомпрометированной  общей  памяти  по  отношению  к  противнику  в 
открытом  канале  связи,  что,  как  оговорено  выше,    предполагается 
выполненным. 
 
 
Литература 
1.
 
Diffie  R. Merkle, M. Hellman.  Hiding information  and  signatures  in trapdoor 
knapsacks // Information Theory, IEEE Transactions, 1978, P. 525-530. 
2.
 
Odlyzko A. M. and Lagarias J. C. Solving Low-Density Subset Sum Problems 
// J. Association Computing Machinery. 1985. V. 32. No.1. P. 229–246. 
3.
 
Александров  А.В.,  Метлинов  А.Д.  Симметричная 
рюкзачная 
криптосистема с общей памятью и плотностью укладки больше единицы 
//  Журнал  «Проблемы  информационной  безопасности.  Компьютерные 
системы», №4 2014, с. 58-65. 
4.
 
Dolev D., Yao A. On the Security of Public Key Protocols // IEEE Transact. 
on Inform. Theory. 1983. Vol. 29, N 2. P. 198—208. 
 
Альмухамбетов С. 
ЗАЩИТА  ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 
Центрально-Азиатский университет 
 
Создание 
копий 
программных 
средств 
для 
изучения 
или 
несанкционированного  использования  является  одним  из  наиболее  широко 
распространенных  правонарушений  в  сфере  компьютерной  информации,  что 
предопределяет необходимость защиты программного обеспечения. 

31 
 
 
В  общем  случае  под  защитой  программного  обеспечения  понимается 
комплекс  мер,  направленных  на  защиту  программного  обеспечения  от 
несанкционированного 
приобретения, 
использования, 
распространения, 
модифицирования, изучения и воссоздания аналогов. 
При  организации  защиты  программного  обеспечения  используются 
различные  меры:  организационные,  правовые,  технические.  Основная  идея 
организационных  мер  защиты  заключается  в  том,  что  полноценное 
использование  программного  продукта  невозможно  без  соответствующей 
поддержки  со  стороны  производителя:  подробной  пользовательской 
документации, «горячей линии», системы обучения пользователей, обновление 
версий  со  скидкой  и  т.п.  Организационные  меры  защиты  применяются,  как 
правило,  крупными  разработчиками  к  достаточно  большим  и  сложным 
программным продуктам. 
Правовые  меры  защиты  программного  обеспечения  заключаются  в 
установлении  ответственности  за  использование  программного  обеспечения  с 
нарушением порядка, установленного действующим законодательством. 
Технические 
методы 
защиты 
программного 
обеспечения 
можно 
классифицировать  по  способу  распространения  защищаемого  программного 
обеспечения и типу носителя лицензии. 
Локальная программная защита 
Данный  вид  защиты  подразумевает  необходимость  ввода  серийного  номера 
(ключа) при установке или запуске программы. История этого метода началась 
тогда, когда приложения распространялись только на физических носителях (к 
примеру,  компакт-дисках).  На  коробке  с  диском  был  напечатан  серийный 
номер, подходящий только к данной копии программы. 
С  распространением  сетей  очевидным  недостатком  стала  проблема 
распространения  образов  дисков  и  серийных  номеров  по  сети.  Поэтому  в 
настоящий  момент  данный  метод  используется  только  в  совокупности  одним 
или более других методов (к примеру, организационных). 

32 
 
 
Сетевая программная защита 
В  этом  случае  осуществляемое  программой  сканирование  сети  исключает 
одновременный  запуск  двух  программ  с  одним  регистрационным  ключом  на 
двух  компьютерах  в  пределах  одной  локальной  сети.  Недостаток  данного 
метода  заключается  в  том,  что брандмауэр  можно настроить  так,  чтобы он не 
пропускал пакеты, принадлежащие защищённой программе. 
 
Глобальная программная защита 
Если  программа  работает  с  каким-то  централизованным  сервером  и  без  него 
бесполезна (например, сервера обновлений антивирусов), она может передавать 
серверу свой серийный номер; если номер неправильный, сервер отказывает в 
услуге.  Недостаток  в  том,  что,  существует  возможность  создать  сервер, 
который не делает такой проверки. 
Защита при помощи компакт-дисков 
Программа  может  требовать  оригинальный  компакт-диск.  Стойкость  таких 
защит невелика, ввиду широкого набора инструментов снятия образов компакт-
дисков.  Как  правило,  этот  способ  защиты  применяется  для  защиты  программ, 
записанных на этом же компакт-диске, являющимся одновременно ключевым. 
Для защиты от копирования используется: 
- запись информации в неиспользуемых секторах; 
- проверка расположения и содержимого «сбойных» секторов; 
- проверка скорости чтения отдельных секторов. 
Первые два метода практически бесполезны из-за возможности снятия полного 
образа с диска с использованием соответствующего прикладного программного 
обеспечения.  Третий  метод  считается  более  надежным  (используется,  в 
частности,  в  защите  StarForce).  Но  существуют  программы,  которые  могут 
эмулировать  диски  с  учётом  геометрии  расположения  данных,  тем  самым 
обходя и эту защиту. В StarForce, в числе прочих проверок, также выполняется 
проверка  возможности  записи  на  вставленный  диск.  Если  она  возможна,  то 

33 
 
 
диск  считается  не  лицензионным.  Однако,  если  образ  будет  записан  на  диск 
CD-R,  то  указанная  проверка  пройдет.  Возможно,  также,  скрыть  тип  диска, 
чтобы CD-R или CD-RW был виден как обычный CD-ROM. Однако, в драйвер 
защиты может быть встроена проверка на наличие эмуляции. 
В настоящее время наибольшую известность в мире имеют системы защиты от 
копирования SecuROM, StarForce, SafeDisc, CD-RX и Tages. 
Защита при помощи электронных ключей 
Электронный ключ, вставленный в один из портов компьютера (с интерфейсом 
USB,  LPT  или  COM),  содержит  ключевые  данные,  называемые  также 
лицензией, записанные в него разработчиком защищенной  программы. Защита 
программы  основывается  на  том,  что  только  ему  (разработчику)  известен 
полный алгоритм работы ключа. 
Ключ  распространяется  с  защищаемой  программой.  Программа  в  начале  и  в 
ходе  выполнения  считывает  контрольную  информацию  из  ключа.  При 
отсутствии ключа выполнение программы блокируется. 
Одним  из  основных  достоинств  защиты  программных  средств  с 
использованием электронных ключей является то, что ключ можно вставлять в 
любой компьютер, на котором необходимо запустить программу. 
Привязка к параметрам компьютера и активация 
Привязка  программного  обеспечения  к  информации  о  пользователе  / 
конфигурации  компьютера  и  последующая  активация  программного 
обеспечения  в  настоящий  момент  используется  достаточно  широко  (пример  – 
операционная система Windows). 
В  процессе  установки  программа  подсчитывает  код  активации  –  контрольное 
значение,  однозначно  соответствующее  установленным  комплектующим 
компьютера и параметрам установленной программы. Это значение передается 
разработчику  программы.  На  его  основе  разработчик  генерирует  ключ 
активации,  подходящий  для  активации  приложения  только  на  указанной 

34 
 
 
машине  (копирование  установленных  исполняемых  файлов  на  другой 
компьютер приведет к неработоспособности программы). 
Достоинство  данного  метода  защиты  заключается  в  том,  что  не  требуется 
никакого  специфического  аппаратного  обеспечения,  и  программу  можно 
распространять посредством цифровой дистрибуции (по сети Интернет). 
Основной  недостаток  заключается  в  том,  что  программное  обеспечение 
становится  неработоспособным  в  случае,  если  пользователь  производит 
модернизацию  компьютера  (если  привязка  осуществляется  к  аппаратной 
конфигурации компьютера). 
В  качестве  привязки  используются,  в  основном,  серийный  номер  BIOS 
материнской  платы,  серийный  номер  винчестера.  В  целях  сокрытия  от 
пользователя  данные  о  защите  могут  располагаться  в  неразмеченной  области 
жесткого диска. 
Защита программ от копирования путём переноса их в онлайн 
Другим направлением защиты программ является использование подхода SaaS, 
то  есть  предоставление  функционала  этих  программ  (всего  или  части),  как 
сервиса.  При  этом  код  программы  расположен  и  исполняется  на  сервере, 
доступном  в  глобальной  сети.  Доступ  к  нему  осуществляется  по  принципу 
тонкого клиента. 
 
ЗАКЛЮЧЕНИЕ 
Защита  информации  в  современных  условиях  становится  все  более  сложной 
проблемой,  что  обусловлено  рядом  обстоятельств.  При  этом  необходимо 
помнить, что естественные каналы утечки информации образуются спонтанно, 
в  силу  специфических  обстоятельств,  сложившихся  на  объекте  защиты.  Что 
касается  искусственных  каналов  утечки  информации,  то  они  создаются 
преднамеренно  с  применением  активных  методов  и  способов  получения 
информации.  Активные  способы  предполагают  намеренное  создание 
технического  канала  утечки  информации  с  использованием  специальных 

35 
 
 
технических  средств.  К  ним  можно  отнести,  в  том  числе,  и 
несанкционированный доступ к информации, обрабатываемой в компьютерных 
системах  и  т.д.  В  этой  связи  особую  роль  и  место  в  деятельности  по  защите 
информации  занимают  мероприятия  по  созданию  комплексной  защиты, 
неотъемлемым  элементом  которой  является  защита  информации  в 
компьютерных системах. 
Для  более  полного  уяснения  вопросов,  рассмотренных  в  рамках  настоящей 
лекции,  необходимо  внимательно  ознакомиться  с  основной  и  дополнительной 
литературой  по  теме  лекции,  а  также  выполнить  задания,  вынесенные  на 
самостоятельную подготовку. 
 
Арипов М.М., Курьязов Д.М.  
ОБ ОДНОЙ АЛГОРИТМ  ЭЦП  С УВЕЛИЧЕННОЙ  СТОЙКОСТИ 
Национальный университет Узбекистана,  город Ташкент, Узбекистан  
  
 
Подпись  является  юридическим  гарантом  авторства  документа.  
С  широким  распространением  в  современном  мире  электронных  форм  
документооборота, в том числе и конфиденциальных, в сети телекоммуникации 
особо  актуальной  стала  проблема  установления  подлинности  и  авторства  
безбумажной  электронной  документации.  Так  как,  в  ситуациях,  например  в 
силу  изменившихся  обстоятельств,  отдельные  лица  могут  отказаться  от  ранее 
принятых  обязательств.  В  связи  с  этим  необходим  некоторый  механизм, 
препятствующий  подобным  попыткам.  Основным  механизмом  решения  таких 
проблем является электронная цифровая подпись (ЭЦП).      
        ЭЦП 
позволяет 
решить 
следующие 
три 
задачи 
электронного 
документооборота  в сети телекоммуникации[1-4]: 
-осуществить аутентификацию источника сообщения; 
-установить целостность сообщения (по значению хеш-функции); 

36 
 
 
-обеспечить невозможность отказа от факта подписи  конкретного 
сообщения. 
       ЭЦП  включает  два  алгоритма,  один  ─  для  вычисления,  а  второй  ─  для 
проверки  подписи.  Вычисление  подписи  может  быть  выполнено  только 
автором  подписи.  Алгоритм  проверки  должен  быть  общедоступным,  чтобы 
проверить правильность подписи мог каждый.  
       В  настоящее  время  предложено  несколько  принципиально  различных 
подходов к созданию схем ЭЦП. Их можно разделить на три группы: 
1) схемы на основе систем шифрования с открытыми  ключами; 
2) схемы на основе симметричных систем шифрования; 
3)  схемы  со  специально  разработанными  алгоритмами  вычисления  и 
проверки подписи.  
К  примеру,  стандарты  ЭЦП  со  специально  разработанными 
алгоритмами являются[2,4]: 
1.  Российский  стандарт  ЭЦП:  ГОСТ  Р  34.10-94  и  его  модификация  на 
эллиптических кривых ГОСТ Р 34.10-2001
2. Американский стандарт ЭЦП: DSA и его модификация на эллиптических  
кривых   ECDSA (2000 г.). 
       
 
Стойкость  приведенных  стандартов  ЭЦП  основаны  сложности 
вычисления дискретного логарифма в конечном поле и дискретного логарифма 
в эллиптических кривых.  
        Модификация  алгоритмов  ЭЦП  на  эллиптических  кривых  увеличить 
стойкость  сложностью  нахождения  точку  с  рациональными  координатами  на 
эллиптических кривых высокого порядка (количество точек с таким свойством 
оказывается  не  много)  относительно  введенной  операции  сложения  точек  на 
эллиптических кривых.  
  На  сегодняшний  день  для  повышения  безопасности  ЭЦП  представляет 
интерес  разработка  алгоритмов,  взлом  которых  требует  одновременного 

37 
 
 
решения двух независимых (например, задача дискретного логарифмирования в 
конечной группе большого простого порядка и задача факторизации составного 
числа)  вычислительно  трудных  задач.  Этот  подход  к  повышению  уровня 
безопасности  криптосхем  были  обоснованы  и  апробирован  для  случая  
алгоритмов ЭЦП [5-7],  коллективной ЭЦП [10] и протоколов  слепой ЭЦП [8]. 
В данной работе предлагается алгоритм ЭЦП с увеличением стойкости на 
основе сложности разложения достаточно большого нечетного числа простым 
множителям. 
         Приведем  основную  часть  этого  алгоритма.  В  алгоритме  используются 
следующие открытые исходные параметры:  
1) Достаточно большое простое число p длиной , где принимает значение, 
кратное 64 бит, в диапазоне от 512 до 1024 бит, т.е. 2
512
<p<2
1024
.   
2) Простое число q длиной L
1
 , где L
1
 принимает значение, в диапазоне от 159 
до 160 бит, т.е.  
    2
159
   2
160
, делитель числа p-1
Число g=h
(p-1)/q
 mod p, где h –любое число, такое 0<h< p-1, для которого g>1, 
      т.е. g=h
(p-1)/q
 mod p > 1. 
4) Открытый ключ  y, который сформирован по правилу  g
x
  mod  p,  причем 
0<xгде секретный ключ x, известный только подписавшему лицу. 
5)  Хеш-функция  H(M),  которая  по  исходному  сообщению  (тексту)  M 
формирует целое число в диапазоне от 1 до q, т.е. 1< H(M)<.   
         Алгоритм генерация подписи. Входные данные: сообщение M, исходные 
параметры и секретный ключ подписи. Выходные данные: подпись (r, s).  
        Шаги алгоритма генерации подписи: 
1.
 
Выбрать  случайное  число  k  в интервале  1   k   q,  держать  его  в секрете  и 
уничтожать сразу после получения (сформирования) подписи.  
2.  Вычислить   = ( g
k
 mod n )mod p( mod q); 
3.
 
Вычислить значение хеш-функции H(M) по передаваемому сообщению M. 





38 
 
 
4. Вычислить s = k (xr+H(M))
-1
  ( mod q), где x, d -секретные ключи (причем  
     0<x
и 
de 1mod (n), 
достаточно 
большое 
число 
,   
     
неизвестные простые числа, разумеется 
). 
5. Подписью является пара  (r,s) 
Алгоритм  проверка  подписи.  Входные  данные:  сообщение  M,  исходные 
параметры,  открытый  ключ  проверки  подписи  и  подпись  к  M  –  пара  (r,s). 
Выходные данные: утверждение, что подпись действительная или фальшивая.  
Шаги алгоритма проверки подписи: 
1.
 
Если  условия  1   r,  s  <  q,  нарушаются,  то  вывести  «подпись 
фальшивая» и завершить работу алгоритма. 
2.
 
Вычислить e=H(M). 
3.
 
Вычислить w=s
-1
mod q. 
          4.  Вычислить     u
1
 = е (H(M) s) mod q
5.  Вычислить u
2
 = е (r s)(mod q). 
6.
 
Вычислить u = (( g 
u
1
  y 
u
2
  ) mod n )mod p(mod q). 
7.
 
Если  u  =  r,  то  вывести  «подпись  действительная»,  иначе  –  «подпись 
фальшивая», и завершить работу алгоритма. 
  Корректность алгоритма.  
        Покажем,  что  значение  число  r,  генерированное  по  алгоритму  ЭЦП, 
равно значению u, вычисленное  в части проверки подписи алгоритма.  
       Действительно,  имеем     
(( 
u
1
  
u
2
  ) mod n) mod p (mod q) = (g
H(M) s е
 g
xrsе
 (mod n) mod p (mod q) =  
                                   = (g
(H(M )+x r)sе 
mod n) mod p (mod q) =  
                                   = (
kde (H (M)+xr)  (H (M )+xr
 mod n) mod p (mod q)
 
=  
                                   = (
kde
 mod n ) mod p (mod q) = 
                                   = (
k(t
+1)
 mod n ) mod p (mod q)= 
                                   = (
kt
 mod n ) (
k
 mod n ) mod p (mod q)= 
                                   = (
 mod n )  (
k
 mod n ) mod p (mod q)= 
                                   = 1  (
k
 mod n ) mod p (mod q)= 


1
1
q
p
n


1
1
q
p
p
n


1

 
n

 
n

 
n

kt
kt

39 
 
 
                                   = (g
k
 mod n) mod p( mod q).  
  
Таким образом,   u= r, и корректность алгоритма доказана. 
 
 

Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   35




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет