Алгоритм эллиптических кривых диффи-хеллмана (ecdh). На какой математической задаче основан этот алгоритм. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Алгоритм эллиптических кривых диффи-хеллмана (ecdh). На какой математической задаче основан этот алгоритм.



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

Такую кривую будем обозначать Ep (a,b). При этом числа а и b должны быть меньше р и должны удовлетворять условию

Задача, которую должен решить в этом случае атакующий, есть своего рода задача "дискретного логарифмирования на эллиптической кривой", и формулируется она следующим образом. Даны точки P и Q на эллиптической кривой Ep (a,b). Необходимо найти коэффициент k < p такой, что

P = k x Q. Относительно легко вычислить P по данным k и Q, но довольно трудно вычислить k, зная P и Q.

Аналог алгоритма Диффи-Хеллмана обмена ключами

Обмен ключами с использованием эллиптических кривых может быть выполнен следующим образом. Сначала выбирается простое число и параметры a иb для уравнения эллиптической кривой. Это задает множество точек Ep (a,b). Затем в Ep (a,b) выбирается генерирующая точка G = (x1,y1). При выборе Gважно, чтобы наименьшее значение n, при котором n x G = 0, оказалось очень большим простым числом. Параметры Ep (a,b) и G криптосистемы являются параметрами, известными всем участникам.

Обмен ключами между пользователями А и В производится по следующей схеме.

  1. Участник А выбирает целое число nA, меньшее n. Это число является закрытым ключом участника А. Затем участник А вычисляет открытый ключ PA = nA x G, который представляет собой некоторую точку на Ep (a,b).
  2. Точно так же участник В выбирает закрытый ключ nB и вычисляет открытый ключ PB.
  3. Участники обмениваются открытыми ключами, после чего вычисляют общий секретный ключ K

Участник А, K = nA x PB

Участник В: K = nВ x PА

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

 

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

Сравнение алгоритмов

Безопасность

Тысячи математиков в течение многих лет изучали задачу разложения на множители (наиболее настойчиво — с 1978 г.). Некоторые из них думают, что если решение в принципе может быть найдено, оно будет найдено в ближайшее время.

ЕСС — новый и менее изученный алгоритм. Пока слишком мало исследователей работали над его взломом, слишком мало времени было посвящено этой проблеме. Обычно считается, что необходимо много времени и усилий для анализа степени его защищенности. Кроме того, некоторые классы эллиптических кривых признаны чувствительными к криптоанализу. Не все эллиптические кривые используются в криптографии. Для некоторых из них заранее было известно, что они содержат больше слабых мест, чем другие, и что имеются способы взломать алгоритмы, использующие их, быстрее, чем допускается критериями безопасности. Такие кривые никогда не предлагались к использованию в криптографии. Другие кривые сначала предлагалось применять, но позднее в них были выявлены слабые места. Все найденные до сих пор слабые места относятся к кривым F2. На данный момент считается, что пока ни одно из реально внедренных приложений на основе эллиптических кривых не имело слабых мест. Но поскольку ряд кривых оказались плохими, некоторые криптографы не доверяют алгоритму ЕСС на кривых F2, а другие не доверяют всем кривым вообще, включая Fp и F2. Некоторые отдают предпочтение алгоритму RSA, поскольку DH и ECDH восприимчивы к атаке типа «человек посередине». Другая проблема связана с возможностью выбора ключа каждой из сто-рон. В RSA только инициатор взаимодействия может сообщить,,каким бу-дет сеансовый ключ. В DH и ECDH обе стороны участвуют в создании ключа. Каждая сторона выполняет определенные операции и отправляет результаты другой; окончательный секрет зависит от вклада каждой стороны. Для некоторых такая процедура представляется более надежной, чем схема, в которой одна сторона единолично создает ключ. Для других кто не имеет большого значения. В конце концов, говорят они, другая сторона, плохо формирующая сеансовый ключ, не лучше сделает это при обмене ключам. Итак, выбор алгоритма определяется индивидуальными требованиями к безопасности. На данный момент ни один беспристрастный криптограф не сможет определенно сказать, какой алгоритм является более защищенным.

Длина ключей

Чем длиннее ключ, тем выше степень,защиты и тем медленнее будет ра-ботать алгоритм с открытым ключом. Хочется, чтобы алгоритм выполнялся как можно быстрее, но при этом сохранился определенный уровень безопасности. Вопрос в том, насколько далеко можно зайти, не подвергаясь риску. Сложилось,мнение, что 1024-битный ключ RSA или DH эквивалентен по защищенности 160-битному ключу ЕСС. По этому вопросу еще нет единого мнения, но исследования продолжаются. В этой книге мы, выполняя сравнительный анализ, ориентируемся на 1024-битный ключ RSA или DH и 160-битный ключ ЕСС. В RSA основание формируется из трех простых чисел; в DH секретное значение имеет длину в 160 битов. Итак, какой алгоритм будет наиболее подходящим, зависит от того, что более важно для данного приложения — операции с открытыми ключами или операции с секретными ключами.

Объем передаваемых данных

В RSA и DH объем передаваемых данных совпадает с длиной ключа. В ЕСС объем данных равен двойной длине ключа. Так, использование 1024-битного ключа RSA или пары ключей DH подразумевает, что каждый раз, когда отправляется цифровой конверт, к сообщению добавляется 1024 бита. При использовании 160-битного ключа ЕСС добавляется 320 битов.

Совместимость

При шифровании с симметричным ключом, если вы хотите обеспечить, чтобы любой мог расшифровать щифротекст, следует использовать алгоритм DES, TripleDES или AES. Все стороны, имеющие криптографические средства, смогут использовать эти алгоритмы. Можно использовать RC4 или RC5, поскольку они быстрее, во чтобы обеспечить совместимость, лучше выбирать алгоритмы, которые есть у всех.

Защита секретных ключей

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

Можно также хранить секретный ключ на смарт-карте или в другом устройстве хранения секрета. Карта будет генерировать пару ключей и возвращать открытый ключ, который можно распределять, но не позволит секретному ключу покинуть устройство. Чтобы открыть конверт, вы предоставляете устройству хранения зашифрованный сеансовый ключ (если используется RSA) или временный открытый ключ отправителя (если используется DH или ECDH). Устройство хранения выполняет операцию над секретным ключом и возвращает сеансовый ключ. Для серверов могут использоваться криптоакселераторы. Они ведут себя точно так же, как миниатюрные устройства хранения, но работают гораздо быстрее.

 



Поделиться:


Последнее изменение этой страницы: 2017-01-25; просмотров: 674; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 34.237.75.165 (0.008 с.)