Как настроить смартфоны и ПК. Информационный портал
  • Главная
  • Интересное
  • Криптографический анализ асимметричных систем шифрования. Современные алгоритмы шифрования

Криптографический анализ асимметричных систем шифрования. Современные алгоритмы шифрования

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

Шифр – совокупность заранее оговоренных способов преобразования исходного секретного сообщения с целью его защиты.

Исходные сообщения обычно называют открытыми текстами . В иностранной литературе для открытого текста используют термин plaintext .

Символ - это любой знак, в том числе буква, цифра или знак препинания.

Алфавит - конечное множество используемых для кодирования информации символов. Например, русский алфавит содержит 33 буквы от А до Я. Однако этих тридцати трех знаков обычно бывает недостаточно для записи сообщений, поэтому их дополняют символом пробела, точкой, запятой и другими знаками. Алфавит арабских цифр – это символы 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 . Этот алфавит содержит 10 знаков и с его помощью можно записать любое натуральное число. Любое сообщение может быть записано также с помощью двоичного алфавита, то есть с использованием только нулей и единиц.

Сообщение, полученное после преобразования с использованием любого шифра, называется шифрованным сообщением (закрытым текстом, криптограммой). В иностранной литературе для закрытого текста используют термин ciphertext .

Преобразование открытого текста в криптограмму называется зашифрованием . Обратное действие называется расшифрованием . В англоязычной литературе терминам "зашифрование/ расшифрование" соответствуют термины "enciphering/deciphering" .

Ключ – информация, необходимая для шифрования и расшифрования сообщений.

С точки зрения русского языка термины "расшифрование" и "дешифрование" являются синонимами. Однако в работах по криптографии последних десятилетий часто эти слова различают. Будем считать, что термины "расшифрование" и "дешифрование" не являются синонимами. Примем, что расшифрованием занимается легальный получатель сообщения (тот, кто знает ключ), а человек, которому послание не предназначено, пытаясь понять его смысл, занимается дешифрованием.

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

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

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

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

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

3.5.3 Модели и методы шифрования\дешифрования дискретных сообщений

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

Математической моделью системы шифрования\дешифрования дискретных сообщений называется пара функций

E = f(M,K ш), M = g(E,K д),

которые преобразуют сообщение M в криптограмму E при помощи ключа шифрования К ш и, наоборот, криптограмму Е в сообщение М при помощи ключа дешифрования К д. Обе функции, задающие криптосистему, должны удовлетворять следующим требованиям:

· функции f(М, К ш) и g(Е, К д) при известных аргументах вычисляются просто;

· функция g(E,?) при неизвестном ключе К д вычисляется сложно.

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

Следует различать три основных вида атак на криптосистему:

· только при известной криптограмме Е;

· при известной криптограмме Е и известном сообщении М, которое соответствует определенной части криптограммы, полученной при использовании того же самого ключа (атака при частично известном открытом сообщении);

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

Современные криптосистемы считаются стойкими, если они стойки относительно всех трех видов атак.

Если ключ шифрования равен ключу дешифрования, т.е.

К ш = К д = К

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

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

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

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

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

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

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

не требуется защищённый канал для пересылки секретного ключа, вся связь осуществляется по открытому каналу;

«что знают двое, знает свинья» - наличие единственной копии ключа уменьшает возможности его утраты и позволяет установить чёткую персональную ответственность за сохранение тайны;

наличие двух ключей позволяет использовать данную шифровальную систему в двух режимах - секретная связь и цифровая подпись.

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

Математической моделью системы шифрования/дешифрования дискретных сообщений называется пара функций

,
,

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


Голландский криптограф А. Керкхофс (1835 – 1903) предположил, что секретность шифров должна основываться только на секретности ключа, а не на секретности алгоритма шифрования, который, в конце концов, может оказаться известным противнику.

Если ключ шифрования равен ключу дешифрования, т.е.

= =,

то система называется симметричной (одноключевой ). Для ее работы в пункты шифрования и дешифрования должны быть секретным образом доставлены одинаковые ключи.

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

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

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

    Идеально (безусловно) стойкие илисовершенные криптосистемы, для которых стойкость к криптоанализу (дешифрованию) без знания ключа не зависит от вычислительной мощности оппонента. Их называюттеоретически недешифруемыми (ТНДШ) системами.

    Вычислительно стойкие криптосистемы, у которых стойкость к криптоанализу зависит от мощности вычислительной системы оппонента.

  1. Критосистема RSA

Для шифрования выбирают целое число N =p q , гдеp иq – два больших простых числа. Сообщение M представляется одним из чисел

M {2,3,...,N –1}.

Формулы, описывающие шифрование/дешифрование, имеют следующий вид:

,
,

где K – открытый ключ шифрования,k – закрытый ключ дешифрования.

Из этих двух соотношений следует равенство

,

которое в обычной арифметике выполняется, если kK = 1, а в модульной арифметике и при

kK = 1 + l (N ), (*)

где l – целое. Действительно с помощью теоремы Эйлера проверяем

,

если M иN – взаимно простые числа.

Рассмотренные соотношения указывают путь формирования ключей. Вначале выбирают очень большие случайные простые числа p иq с мало отличающимся числом разрядов так, чтобы произведение N = pq имело не менее 768 бит (по данным 2001 года). Вычиcляют функцию Эйлера

(N ) = (p –1)(q –1).

Равенство (*) эквивалентно

K k = 1 mod (N ),

откуда следует, что оба ключа взаимно обратные по модулю (N ).

Открытый ключ K выбирают, соблюдая необходимые условия:

K < (N ), НОД(K , (N )) = 1.

Закрытый ключ k вычисляют

k = K 1 mod (N ),

с помощью алгоритма Евклида. Завершив подготовительные работы, открытый ключ K и модульN помещают в открытый справочник, приняв меры, гарантирующие невозможность подмены. Числаp и q хранят в секрете.

Отметим, что условие взаимной простоты чисел M и N , невыполнение которого делает невозможным декодирование, не создает серьезных ограничений. Во-первых, среди чисел меньшихN доля чисел взаимно простых сN равна (p –1)(q –1)/(pq ), т.е. неотличима от единицы, а, во-вторых, условие легко обеспечивается несущественной модификацией сообщения. Также степеньM K не должна быть меньшеN . При невыполнении этого условия криптограмма имеет вид

и без вычислений по модулю она легко вскрывается, т.к. K известно.

Очевидно, что в рассмотренных соотношениях числа K иk равноправны, т.е. ключи можно поменять местами, и использоватьk как открытый ключ шифрования, аK как закрытый ключ дешифрования.

Таким образом, оба ключа RSA задаются парами целых чисел: (K , N ) и (k , N ).

Когда авторы R. Rivest,A.Shamir,L. Adleman(Ривест, Шамир, Адлеман) в 1977 году предложили криптосистемуRSA, они зашифровали фразу “ItsallGreektome”, представленную в цифровой форме. Были опубликованы значенияM , K , N с указанием, что 129 десятичных разрядовN получены при умножении 64- и 65-разрядных чиселp иq . ФакторизацияN и вскрытие криптограммы были выполнены примерно за 220 дней лишь в 1994 году после предварительной теоретической подготовки. В работе принимало участие 600 добровольцев и 1600 компьютеров, объединенных в сеть с помощью Интернет.

Стойкость системы с открытым ключом, и в частности RSA, зависит от выбора ее параметров. Если выбратьlog 2 N = 200 бит, то для факторизации потребуется примерно 2,710 11 операций, что на персональном компьютере займет несколько дней. Если выбратьlog 2 N = 664 бит, то для факторизации потребуется 1210 23 операций. При скорости выполнения 10 6 операций в секунду на факторизацию уйдет несколько миллиардов лет.

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

Реализация шифраRSAотработана как в программном, так и в аппаратном варианте. ИспользуетсяRSAи для шифрования в смарт-картах. В программном варианте скорость шифрования имеет порядок 1 кбит/с, в аппаратном – 1050 кбит/с.

Сравнительно низкая скорость шифрования и дешифрования по сравнению с симметричными, блоковыми или потоковыми системами, является недостатком всех асимметричных систем шифрования, в том числе RSA.

  1. Цифровая подпись

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

Однако при передаче документов по компьютерным сетям воспользоваться данными условиями невозможно, в том числе и при передаче факсимильных сообщений (ФАКС), поскольку они допускают простую подделку.

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

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

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

    каждый пользователь сети, законный или незаконный, может проверить истинность цифровой подписи;

    подписавший не может отказаться от сообщения, заверенного его цифровой подписью;

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

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

Существуют различные виды цифровой подписи, основанные на криптосистемах с открытым ключом. Рассмотрим реализацию ЦП на основе криптосистемы RSA.

В этом случае пользователь A , подписывающий сообщениеM , генерирует пару ключейk A ,K A и сообщает пользователям сети значенияK A иN . Далее пользовательA создает контрольную группу

,

которая и будет цифровой подписью (рис. 17). Контрольная группа приписывается к сообщению и передается вместе с ним.

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

Однако рассмотренная система выработки цифровой подписи имеет два существенных недостатка:

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

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

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

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

Не следует путать с криптографией латентное (симпатическое) письмо, суть которого в сокрытии видимости написанного. Например, надпись, сделанная молоком на белой бумаге, не видна без нагрева этой бумаги.

Так за 400 лет до н. э. в Спарте использовалось шифрование на круговом цилиндре. На него наматывался свиток, после чего по свитку параллельно оси цилиндра записывался текст - строка за строкой. В результате на развернутом свитке буквы располагались без видимого порядка. Для прочтения послания получатель должен был намотать свиток на точно такой же цилиндр.

За 300 лет до н. э. в Греции был написан труд «Тактикус» о скрытых сообщениях. За 200 лет до н. э. изобретен полибианский квадрат, содержавший 5x5=25 клеток для двадцати четырех букв греческого алфавита и пробела, вписанных в произвольном порядке. При шифровании текста нужная буква отыскивалась в квадрате и заменялась на другую букву из того же столбца, но вписанную строкою ниже. Буква, которая находилась в нижней строке квадрата, заменялась на букву из верхней строки того же столбца. Получатель, имевший точно такой же квадрат, производил расшифровку сообщения, выполняя указанные операции в обратном порядке.

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

п=(К + I) mod m,

где п - номер буквы, полученной в результате шифрования буквы с номером I Здесь использована операция вычисления по модулю т, при выполнении которой записывается не сама сумма К+ I , а остаток от деления этой суммы на т.

Обобщение шифра Цезаря называется шифром простой замены. Его суть заключается в том, что все буквы алфавита заменяются другими буквами того же алфавита по правилу, которое является ключом. Например, а заменяется на в, б-на с, в - на в ,..., я - на г. Количество возможных при таком шифровании перестановок, соответствующих алфавиту с объемом т = 32, составляет m ! =32! = 2, 63 10 35 . Если в одну секунду при дешифровании методом простого перебора перебирать миллион ключей, то общее время на дешифровку составит 8,3-10 21 лет.



Развитием шифра простой замены стал шифр Блеза Виженера (XVI век, Франция). В этом шифре ключом служит слово, т.е. последовательность из порядковых номеров букв ключа. Ключ, при необходимости повторяя, подписывают под сообщением, после чего выполняют сложение по модулю т в каждом столбце, который содержит по одной букве сообщения и ключа.

Криптографией занимались многие известные математики, такие как Виет, Кардано, Лейбниц и, наконец, Френсис Бэкон. Последний предложил двоичное кодирование латинского алфавита.

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

Промышленная революция в развитых странах привела к созданию шифровальных машин. В конце XVIII века Джефферсоном (будущим третьим президентом США) были изобретены шифрующие колеса. Первую практически работающую шифровальную машину предложил в 1917 г. Вернам. В том же году была изобретена роторная шифровальная машина, впоследствии выпускавшаяся фирмой Сименс под названием «Энигма» (загадка), - основной противник криптографов Союзных держав в годы Второй мировой войны.

Неоценимый вклад в криптографию внес К. Шеннон, особенно своей работой «Секретность и скрытность», написанной в 1948 г. В 1976 г. Диффи и Хеллман предложили криптосистемы с открытым ключом. В 1977 г. в США был введен открытый Федеральный стандарт шифрования для несекретных сообщений (DES). В 1989 году вводится открытая отечественная система шифрования ГОСТ 28147-89.

Рис. 1. Основные этапы развития криптографических систем

Одновременно с совершенствованием искусства шифрования (рис. 1) шло развитие и криптоанализа, предметом которого является вскрытие криптограмм без знания ключей. Хотя постоянное соревнование между шифрованием и криптоанализом продолжается и в настоящее время, однако имеется ряд существенных отличий современного этапа от предыдущих, а именно:

Широкое использование математических методов для доказательства стойкости шифров или для проведения криптоанализа,

Использование средств быстродействующей вычислительной техники,

Открытие нового вида криптографии с более «прозрачными» методами криптоанализа (криптография с общедоступным ключом),

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

Использование новейших физических методов в криптографии (динамический хаос, квантовая криптография, квантовый компьютер).

2. Математическая модель системы шифрования/дешифрования дискрет-ных сообщений

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

Математической моделью системы шифрования/дешифрования дискретных сообщений называется пара функций

, (1)

, (2)

которые преобразуют сообщение М в криптограмму Е при помощи ключа шифрования К Ш и, наоборот, криптограмму Е в сообщение М при помощи ключа дешифрования К ДШ. Обе функции, задающие криптосистему, должны удовлетворять следующим требованиям:

Функции f (,) и g(,) при известных аргументах вычисляются просто,

Функция g(E, К ДШ ) при неизвестном ключе К ДШ вычисляется сложно.

Предполагается, что ключ дешифрования К ДШ неизвестен нелегальным пользователям, хотя они и могут знать функции f (.) и g (.), а также ключ шифрования К Ш , если он не совпадает с ключом К ДШ. Последнее условие составляет, так называемый, принцип Казиски.

Если ключ шифрования равен ключу дешифрования, т.е. К Ш = К ДШ то система называется симметричной (одноключевой). Для ее работы в пункты шифрования и дешифрования должны быть секретным образом доставлены одинаковые ключи.

Если К Ш = К ДШ, то система шифрования называется несимметричной {двухключевой). В этом случае ключ К Ш доставляется в пункт шифрования, а ключ К ДШ - в пункт дешифрования. Оба ключа очевидно должны быть связаны функциональной зависимостью К ДШ = φ(К Ш) но такой, что по известному ключу шифрования К Ш нельзя было бы восстановить ключ дешифрования К ДШ Это означает, что для несимметричной системы шифрования φ(.) должна быть трудно вычислимой функцией. В такой системе имеется возможность распределять секретным образом среди законных пользователей только их ключи дешифрования, а ключи шифрования сделать открытыми и опубликовать, например, в общедоступном справочнике. Поэтому рассматриваемая криптосистема называется системой с открытым {общедоступным) ключом. Криптосистема с общедоступным ключом (Public key cryptosystem) была впервые предложена Диффи и Хелманом в 1976 году. Следует различать три основных вида нападения (атак) оппонентов на криптосистему:

Только при известной криптограмме Е ,

При известной криптограмме Е и известном сообщении М, которое соответствует определенной части криптограммы, полученной при использовании того же самого ключа (атака при частично известном открытом сообщении).

При известной криптограмме и специально выбранной части сообщения, соответствующей части криптограммы, полученной на том же ключе (атака с частично выбранным открытым сообщением),

Современные криптосистемы считаются стойкими, если они стойки относительно всех трех видов атак.

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

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

Поясним сущность понятия размножение ошибок. Пусть при передаче криптограммы Е по каналу связи (рис. 2) возникли ошибки.

Местоположение и величина ошибок в принятой криптограмме определяются вектором канальных ошибок е . При двоичной системе передачи принятая криптограмма будет иметь вид Е - Е ® ё , где знак ® означает побитное сложение по модулю 2, а общее число ошибок t равно норме вектора ошибок |е|,т.е. t= |е|. Число ошибок е" в расшифрованном сообщении М подсчитывается как t"= |f |, где 1= Й8А/. Ошибки не размножаются при условии, что f = t.

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

Перед отправлением данных по линии связи или перед помещением на хранение они подвергаются зашифрованию;
- для восстановления исходных данных из зашифрованных к ним применяется процедура расшифрования.

На следующем ниже рисунке 1 приведена схема преобразования данных при шифровании:

Рис.1. Схема преобразования данных при шифровании.

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

Шифруемое сообщение содержит большую избыточность;
- процесс шифрования хорошо "перемешивает" структурные единицы сообщения (биты, символы и т.д.).

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

Каким же условиям должен удовлетворять шифр? Ну прежде всего, процедура расшифрования должна всегда восстанавливать открытое сообщение в его исходном виде. Иными словами, для каждого допустимого сообщения T преобразования за- и расшифрования должны удовлетворять следующему свойству:

T = D(E(T))

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

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

Отправленное сообщение до поступления к получателю является для него и, естественно, для злоумышленника неопределенным - если это было бы не так, тогда не было бы вообще никакого смысла его посылать. Пусть возможна отправка сообщений T1,T2,...,Tn с вероятностью p1, p2,..., pn соответственно. Тогда мерой неопределенности сообщения для всех, кто обладает этой априорной информацией, может служить величина математического ожидания логарифма вероятности одного сообщения, взятая со знаком "минус"; по некоторым соображениям в качестве основания логарифма удобно выбрать 2:

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

H(T ) = -2 N ·2 -N ·log 2 (2 -N ) = N = | T |,

где через | X | обозначен размер блока данных X в битах. А если об исходном тексте неизвестно вообще ничего, даже его размер? В этом случае все равно необходимо принять за основу какую-либо модель распределения. Как правило, в реальности подобных трудностей не возникает, поскольку многие весьма стойкие шифры <не считают нужным> скрывать размер шифруемого сообщения, так как в этом действительно почти никогда нет особой необходимости, и эта характеристика априорно считается известной злоумышленнику. Там же, где этот размер все же реально необходимо скрыть, все сообщения перед зашифрованием преобразуются в массивы данных одной и той же длины, и мы опять получаем рассмотренную выше ситуацию.

После перехвата шифротекста эта величина, естественно, может измениться, теперь она становится апостериорной ("после-опытной") условной неопределенностью - условием здесь является перехваченное шифрованное сообщение T" . Теперь она задается следующей формулой:

,

где через p (T i | T") обозначена вероятность того, что исходное сообщение есть T i при условии, что результат его зашифрования есть T" .

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

I = H (T ) - H (T | T " ).

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

В наилучшем для разработчиков шифра случае обе эти неопределенности равны:

H(T | T " ) = H (T ),

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

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

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

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

1 0 0 1 0 1 1 1 0 1 0 1

Для простоты предположим, что исходное сообщение имеет ту же длину. Если у злоумышленника нет никаких априорных сведений о зашифрованном сообщении, для него каждый из 2 12 исходных вариантов равновероятен, и, таким образом, вероятность правильно определить исходное сообщение простым угадыванием равна 2 -12 . Предположим теперь, что злоумышленнику априорно известно, что зашифрование является наложением одной и той же 4-битовой маски на каждую 4-битовую группу сообщения с помощью операции побитового исключающего или. Очевидно, возможно 16 = 2 4 различных вариантов битовой маски, соответственно, возможно 16 различных значений исходного текста:

маска исходный текст 0000 100101110101 0001 100001100100 0010 101101010110 ..... 1111 011010001010

Таким образом, теперь вероятность правильно угадать исходный текст равна 1/16 - знание особенности использованного способа шифрования повысило ее в 256 раз. Отсюда следует интересный вывод: чем больше неопределенность в шифрующем преобразовании для постороннего лица, тем дальше оно стоит от разгадки шифра, тем шифр надежнее. Шифр, полностью неопределенный для злоумышленника

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

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

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

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

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

1. Анализ зашифрованных данных не должен давать злоумышленнику никаких сведений о внутреннем устройстве шифра. В шифротексте не должно прослеживаться никаких статистических закономерностей - например, статистические тесты не должны выявлять в зашифрованных данных никаких зависимостей и отклонений от равновероятного распределения битов (символов) шифротекста.

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

Второе условие приводит нас к принципу Кирхгофа (в переводах с английского его иногда "обзывают" Керкхоффом, что не вполне верно, так как он голландец, а не англичанин, и транскрипция его фамилии должна быть немецкой, а не английской), безоговорочно принятому сейчас в искусстве построения надежных шифров. Этот принцип заключается в следующем: шифр определяется как параметризованный алгоритм, состоящий из процедурной части, то есть описания того, какие именно операции и в какой последовательности выполняются над шифруемыми данными, и параметров - различных элементов данных, используемых в преобразованиях. Раскрытие только процедурной части не должно приводить к увеличению вероятности успешного дешифрования сообщения злоумышленником выше допустимого предела. По этой причине, а также в силу того, что рассекречивание этой части достаточно вероятно само по себе, особого смысла хранить ее в секрете нет. В секрете держится некоторая часть параметров алгоритма, которая называется ключом шифра :

T" = E (T ) = E K (T ),

здесь K - ключ шифра.

Использование принципа Кирхгофа позволяет получить следующие преимущества в построении шифров:

Разглашение конкретного шифра (алгоритма и ключа) не приводит к необходимости полной замены реализации всего алгоритма, достаточно заменить только скомпрометированный ключ;

Ключи можно отчуждать от остальных компонентов системы шифрования - хранить отдельно от реализации алгоритма в более надежном месте и загружать их в шифрователь только по мере необходимости и только на время выполнения шифрования - это значительно повышает надежность системы в целом;

Появляется возможность для точной оценки "степени неопределенности" алгоритма шифрования - она просто равна неопределенности используемого ключа:

H (E K ) = H (K ).

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

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

H(T ) = | T |.

Максимально возможная неопределенность блока данных фиксированного размера достигается, когда все возможные значения этого блока равновероятны - в этом случае она равна размеру блока в битах. Таким образом, неопределенность ключа K не превышает его длины:

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

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

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

Примером абсолютно стойкого шифра может служить одноразовая гамма Вернама - наложение на открытые данные ( T ) ключа (K ) такого же размера, составленного из статистически независимых битов, принимающих возможные значения с одинаковой вероятностью, с помощью некоторой бинарной операции °:

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

Требует для своей реализации минимальной по сложности логики из всех возможных операций;

Обратна самой себе, поэтому для за- и расшифрования применяется одна и та же процедура.

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

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

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

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

Если ключ равен 0, инвертируются нечетные по номеру биты исходного текста, нумерация слева направо;

Если ключ равен 1, инвертируются четные по номеру биты исходного текста;

Таким образом, E 0 (01) = 11, E 1 (01) = 00. Очевидно, что наш шифр не обладает абсолютной стойкостью. Предположим, что перехвачена шифровка "10". Каков исходный текст? Понятно, что он может быть как 00 так и 11 в зависимости от значения ключа, и однозначно определить это невозможно, что и требовалось доказать. Для более серьезных шифров у криптоаналитика будет просто больше "вариантов выбора" открытого текста, и никаких указаний на то, какой из них предпочесть.

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

1. Функция ненадежности ключа - неопределенность ключа при известных n битах шифротекста:

f (n ) = H (K | T " ), где | T " | = n .

Понятно, что f (n) может быть определена не для всех n .

2. Расстояние единственности шифра - такое значение n , при котором функция ненадежности, то есть неопределенность ключа становится близкой к 0 .

U(E) = n , где n -минимальное из тех, для которых

Шеннон показал, что обе определенные выше величины зависят от избыточности открытого текста, причем расстояние единственности прямо пропорционально размеру ключа и обратно пропорционально избыточности:

,

где избыточность исходного текста R определяется следующим соотношением:

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

H(T ) = H (K ) = | K |

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

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

(Продолжение следует )

Учебный год

Теоретическая часть

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

2. Представление системы шифрования графом, принцип единственности шифрования-дешифрования.

3. Математическая модель системы шифрования-дешифрования информации.

4. Стойкость системы шифрования, классификация систем шифрования по стойкости. Виды атак на систему шифрования.

5. Определение безусловно стойкой системы шифрования, утверждение о необходимых условиях существования безусловно стойкой системы.

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

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

8. Блочный шифр, схема Файстеля, свойства блочного шифра.

9. Шифр замены, его свойства.

10. Шифр гаммирования и его свойства.

11. Моды (режимы работы) блоковых шифров, краткая характеристика режимов.

12. Стандарт шифрования ГОСТ Р34.12-2015, базовый алгоритм шифрования 64-битного блока.

13. Стандарт шифрования ГОСТ Р34.12-2015, базовый алгоритм шифрования 128-битного блока.

14. Стандарт шифрования ГОСТ Р34.13-2015, алгоритм шифрования в режиме простой замены, алгоритм шифрования в режиме гаммирования и гаммирования с обратной связью. Сравнение режимов.

15. Линейный рекуррентный регистр, алгебраические свойства линейной рекуррентной последовательности, анализ свойства предсказуемости.

16. Линейный рекуррентный регистр, статистические свойства линейной рекуррентной последовательности.

17. Принципы построения формирователей шифрующей гаммы (понятие эквивалентной линейной сложности, применение нелинейных узлов для повышения линейной сложности).

18. Шифр А5/1, характеристика шифра, принцип построения, применение.

19. Принцип построения и характеристики шифра AES.

20. Понятие односторонней функции, общий принцип построения криптографических систем с открытым ключом.

21. Понятие хэш-функции, требования, предъявляемые к криптографическим хэш-функциям.

22. Хэширующая функция согласно стандарту ГОСТ Р34.11-12, характеристика, принцип построения, применение.

23. Система шифрования Эль-Гамаля, атаки на систему.

24. Система шифрования РША, атаки на систему.

25. Определение, классификация, основные свойства, модель ЭП.

26. Схема ЭП РША.

27. Схема ЭП Эль-Гамаля.

28. ЭЦП по ГОСТР 34.10-12, общая характеристика, принцип формирования и проверки подписи.

29. Аутентификация сообщений в телекоммуникационных системах (модель системы имитозащиты, стратегии навязывания, показатели имитозащищенности).

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

31. Построение систем аутентификации с гарантированной вероятностью навязывания.

32. Построение системы аутентификации при многократной передаче сообщений.

33. Вычислительно-стойкие системы аутентификации.

34. Выработка имитовставки согласно ГОСТ Р34.12-2015.

35. Модель управления ключами в симметричных криптографических системах, характеристика жизненного цикла ключа.

36. Способы распределения ключей на основе взаимного обмена сообщениями между корреспондентами. Способ Диффи-Хеллмана.

37. Способы генерирования случайных чисел при формировании ключей.

38. Способы распределения ключей с использованием ЦРК на начальном этапе.

39. Способы распределения ключей с использованием ЦРК в интерактивном режиме. Протокол Нидхема-Шредера.

40. Принцип распределения открытых ключей.

41. Понятие инфраструктуры открытых ключей (PKI), состав, принцип взаимодействия элементов структуры.

42. Назначение, принцип формирования и характеристика сертификата открытого ключа.

Практическая часть

1. Зашифровать (расшифровать) сообщение в ручном режиме шифром подстановки, перестановки и гаммирования. Программа LR1_1.exe.

2. Расшифровать криптограмму на основе анализа ее статистики, используя программу CHANGE.EXE.

3. Найти коэффициент размножения ошибок при расшифровании криптограммы блочного подстановочно-перестановочного шифра с длиной блока 16 бит. Программа tst.

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

5. Зашифровать 64-битное сообщение базовым алгоритмом шифрования ГОСТ Р 34.12-2015 г. (1 раунд)

6. Зашифровать сообщение длиной 128 бит, используя программу AES.exe. Проверить, что в первом преобразовании (операция SubBytes) используется обращение элемента в поле GF(2 8).

7. По характеристическому многочлену h(x) построить ЛРР (начальное заполнение 10…01) Определить период последовательности. Найти баланс, проверить свойства серий и окна. Результат проверить с помощью программы ЛРР 1.

8. Найти последовательность на выходе формирователя шифрующей гаммы, содержащего элементы ИЛИ, И-НЕ, Джеффа. Использую программу ЛРР 2, определить эквивалентную сложность последовательности. Построить эквивалентный ЛРР. Сделать выводы.

9. Выполнить следующие вычисления по разделу дискретной математики:

Найти наибольший общий делитель, используя алгоритм Евклида;

Вычислить a x modp, используя алгоритм быстрого возведения числа в степень;

Найти обратный элемент к числу по модулю p.

Найти функцию Эйлера от числа x;

10. - используя тест Ферма проверить, является ли число х простым, найти вероятность того, что проверка дает ошибочный результат.

11. Заданы параметры системы шифрования Эль-Гамаля a=4, p=11, закрытый ключ х=7 , зашифровать сообщение М= . Расшифровать криптограмму.

12. Заданы параметры системы шифрования РША p=11, q=13, зашифровать сообщение М=5. Расшифровать криптограмму.

13. Заданы параметры системы шифрования Эль-Гамаля a=4, p=11, закрытый ключ х=8, подписать сообщение, хэш-код которого h(М)= . Проверить подпись.

14. Заданы параметры системы шифрования РША p=11, q=13, подписать сообщение, хэш-код которого h(М)= 6. Проверить подпись.

15. Используя программу RSA, произвести шифрование файла большого размера безопасной криптосистемой РША и оценить время шифрования и дешифрования.

16. Используя программу RSA, произвести подписание сообщений и проверку подписи. Разрядность сообщения не менее 100 разрядов.

17. Задана эллиптическая кривая Е13(1,1). Найти точку С равную сумме двух точек , координаты точек и x 1 = , y 1 = , x 2 = , y 2 = . Найти противоположную точку . Вычислить точку , где k =3.

18. Сформировать аутентификатор для двоичного сообщения М =1010 на основе строго универсальных хэш-функций по алгоритму K 0 =0101, K 1 = (номер билета) . Вычисления в поле проводить по модулю неприводимого многочлена , b =4.

Лучшие статьи по теме