Компьютерра, 2006 № 31 (651) - [41]
«Стойкость криптосистем, основанных на эллиптических кривых, недостаточно изучена, во многом из-за переусложненного взгляда на природу самих эллиптических кривых. Очень немногие криптографы понимают, что такое эллиптические кривые, поэтому, в отличие от RSA, нет широкого понимания и консенсуса относительно стойкости, обеспечиваемой их использованием при шифровании. Со временем ситуация может измениться, но сейчас получить оценку стойкости криптосистемы, основанной на эллиптических кривых, - все равно что получить оценку недавно обнаруженной древневавилонской поэзии»
Рональд Ривест, создатель RSA, комментарии к предлагаемому стандарту FIPS, 1997
Когда я впервые услышал о криптосистемах, основанных на эллиптических кривых, они показались мне чем-то безумно сложным: жуткая криптография, в которой совершенно ничего понять невозможно. Дальше - больше: я немного узнал об алгебраической геометрии и о самих эллиптических кривых. Это, разумеется, тоже мгновенно отправилось в категорию «очень сложная наука» (алгебраическая геометрия действительно дело непростое), а соответствующие криптографические протоколы заняли еще более высокое место в моей личной иерархии.
Как вы уже, наверное, догадались, все изменилось в одночасье, когда мне довелось познакомиться с этими протоколами поближе. Оказалось, что идеи, лежащие в их основе, немногим сложнее классических схем RSA и Диффи-Хеллмана. Во всяком случае, суть «эллиптического шифрования» (будем иногда для краткости использовать этот не вполне корректный термин) я намереваюсь рассказать прямо сейчас, фактически с нуля.
Начать, наверное, следует с основ, на которых стоит современная криптография. Всевозможные хитроумные шифры, которые придумывали криптографы прошлого (от Цезаря до «Энигмы») по сути представляли собой системы с секретным ключом: существовало некое тайное знание (способ шифрования или ключ к нему), и тот, у кого был доступ к этому знанию, мог зашифровать и дешифровать любое сообщение.
Среди систем с секретным ключом есть очень стойкие: пока вы не узнаете или не подберете ключ, расшифровать сообщение невозможно. Более того, дешифровщику придется решать, является ли то, что у него получилось, валидным (проще говоря, «правильным») сообщением. Конечно, если был зашифрован текст на естественном языке, распознавание труда не составит. Кроме того, на помощь в случае естественного языка приходит еще и частотный анализ (вспомните Холмса, с помощью частотно-лингвистического анализа разгадавшего записки, написанные «пляшущими человечками»). Но если сообщение - набор цифр (координаты военной базы или количество самолетов на ней), то дешифровальщику может быть практически невозможно установить, правильно ли оно расшифровано.
Кстати, можно создать даже абсолютно стойкую криптосистему с секретным ключом. В такой системе каждое новое сообщение шифруется своим индивидуальным, никогда не повторяющимся ключом, который представляет собой случайную последовательность из нулей и единиц той же длины, что и само послание. Шифрование и дешифрование сводятся к побитовому сложению ключа и текста. Однако надо предварительно снабдить обе стороны комплектом идентичных ключей такого вида, а это очень непросто сделать.
Подобные трудности привели к тому, что с развитием компьютерных сетей криптография с секретным ключом перестала справляться со своими обязанностями. Действительно, предположим, что вы хотите шифровать свою переписку. Значит, сначала нужно договориться о секретном ключе. Как это сделать? Пересылать ключ в открытом виде, мягко говоря, не лучшее решение. Сперва его надо зашифровать. Но как? Получается замкнутый круг.
Криптография с открытым ключом разрывает этот круг. В криптосистеме уже не один ключ, а два - открытый и секретный. Алиса публикует свой открытый ключ - он доступен для всех. Боб (эти имена в криптографии используются с незапамятных времен) берет свое сообщение и шифрует его при помощи ключа Алисы (алгоритм шифрования известен). Однако ни Боб, ни кто-либо другой не может расшифровать это сообщение. Для этого нужно знать секретный ключ Алисы. Преимущество в том, что Алисе не нужно ни с кем делиться своим ключом. Только она одна должна иметь возможность расшифровать сообщение Боба, а чтобы зашифровать его, секретный ключ не нужен.
Криптография с открытым ключом уязвима по отношению к некоторым очевидным атакам. Вот алгоритм, который гарантированно взломает любую такую криптосистему: перебирать всевозможные сообщения, шифруя их при помощи открытого ключа, до тех пор пока результат не совпадет с шифром, который мы хотим разгадать. Это на первый взгляд может показаться обескураживающим, но на самом деле ничего страшного нет: никто никогда не переберет даже все возможные комбинации ста битов входа; что уж говорить о ключах длиной 512 или 1024 бит. Главное - чтобы у противника не было возможности сделать что-нибудь поумнее. Это и есть главная задача построения стойких криптосистем.
Как строить криптосистемы с открытым ключом? Мы уже знаем, что Боб должен суметь зашифровать сообщение, но потом никто не должен иметь возможности расшифровать его - кроме Алисы, конечно. Говоря математическим языком, функция шифрования должна легко вычисляться, а вот вычисление обратной к ней должно быть «практически неосуществимым» [Объем вычислений должен расти быстрее полинома любой степени от длины ключа или аналогичного «параметра безопасности» системы]. Одной из первых криптосистем с открытым ключом была система RSA, названная так по именам создателей: Ривеста (Rivest), Шамира (Shamir) и Адлемана (Adleman) [Примечательно, что на самом деле приоритет принадлежит британскому математику Клиффорду Коксу (Clifford Cocks), который придумал эту криптосистему в 1973 году. Однако его работа оставалась неизвестной до 1997 года, так как относилась к разряду top secret (не только в Советском Союзе ученые работали на ВПК)]. Система, созданная в 1977 году, оказалась на редкость жизнеспособной и по сей день успешно применяется в огромном количестве приложений. Успех не в последнюю очередь объясняется простотой и глубиной математической идеи, лежащей в основе RSA. Поскольку для понимания сути эллиптических шифров лучше сначала «потренироваться на кошках», изложим эту идею и мы (это потребует некоторых знаний по элементарной теории чисел, см. врезку внизу справа). В ее основе - предположение о «практической неосуществимости» разложения на множители больших целых чисел.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
ОглавлениеКолонкаПочему мы позволяем нас обманывать, или Грустные размышления об иррациональности политической жизни Автор: Дмитрий ШабановГолубятня: Samsung Galaxy S4 — цидули перебежчика (часть 1) Автор: Сергей ГолубицкийУроки любви к Родине: McAfee патентует технологию обнаружения и блокировки пиратского содержания Автор: Сергей ГолубицкийПодпадает ли астрономия под закон о митингах Автор: Дмитрий ВибеIT-рынокНасколько глупа шумиха вокруг «умных» часов? Автор: Андрей ПисьменныйПромзонаПосмотрите на свалку, которую китайцы превратили в парк Автор: Николай МаслухинЭтот сайт позволяет создать собственное световое шоу на точном макете Токио Автор: Николай МаслухинТехнологииДжипег, подвинься! Веппи как единственный необходимый графический формат Автор: Евгений ЗолотовИнновацииПочему менеджерам российских корпораций не нужны стартапы Автор: Елена КраузоваИнга Нахмансон (Fitting Reality): «Российскому e-commerce не до виртуальности» Автор: Елена КраузоваГидGoogle Now для iOS появился без лишнего шума и уже собирает сведения Автор: Андрей Васильков.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
ОглавлениеТерралабOpera 10.50: оперативный релиз Автор: Андрей КрупинАнтивирус со вкусом "Яндекса" Автор: Андрей КрупинБлоки питания на любой случай, часть 2. 600–700 Вт Автор: Константин ИвановОбзор Samsung i5700 Galaxy Spica Автор: Алексей СтародымовСвоя играМодель чугунного дирижабля, или Учитель Добреску — 2 Автор: Василий ЩепетневКафедра Ваннаха: Нано-блюз Автор: Ваннах МихаилВасилий Щепетнёв: Разбор полётов перед стартом Автор: Василий ЩепетневКивино гнездо: За что боролись Автор: БЕРД КИВИОткрытые системы Королевского Флота Автор: Ваннах МихаилИнтерактивCeBIT 2010: первые новинки Автор: Алексей СтародымовReaDitorialMovavi: история развития Автор: Наталья ХудяковаГолубятня-ОнлайнГолубятня: Хули Холи Автор: Сергей ГолубицкийГолубятня: Бабу Автор: Сергей ГолубицкийГолубятня: Агора № 20 Автор: Сергей ГолубицкийНаука и жизньМарсианский экспресс Автор: Олег Волошин.
Документ создан на основе открытого контента, расположенного по адресуhttp://offline.computerra.ru/2005/599/Размер изображений не менялся, поэтому некоторые могут быть некорректно отображены на неVGA-моделях КПК (особенно скриншоты и таблицы).
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
ОглавлениеСтатьиTelautograph: месть Cерого кардинала Автор: Евгений Лебеденко, Mobi.ruТерралабОбзор флэш-карты Apacer AH351 Автор: Ника ПарамоноваОбзор электронной книги PocketBook Touch Автор: Олег НечайКолумнистыВасилий Щепетнёв: Колыбель живоглота Автор: Василий ЩепетневКафедра Ваннаха: Сеанс чёрной магии Автор: Михаил ВаннахДмитрий Шабанов: Чудеса самообмана Автор: Дмитрий ШабановДмитрий Вибе: Всюду жизнь Автор: Дмитрий ВибеГолубятня-ОнлайнГолубятня: Гешефт прислонившихся Автор: Сергей ГолубицкийГолубятня: Ударим графематикой по графомании! Автор: Сергей Голубицкий.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.