Сравнительный обзор алгоритмов PGP


Тема, которую я в ответ на полученный в письме вопрос изначально собирался осветить в форуме, оказалась несколько шире, чем я предполагал. Итог печален: вместо темы в форуме получилась статья[link1] в Литературе. Читайте, в общем. Если возникнут вопросы — их сюда.


Комментарии
Гость (22/12/2003 04:38)   
Стоит ли это понимать, как конец PGP?

http://www.compulenta.ru/2003/1/28/37101/
Израильские ученые придумали чип для взлома 1024-битного шифра RSA
28 января 2003 года, 12:11
Ученые, работающие в отделе информатики и прикладной математики Вайсмановского научного института (Израиль) разработали проект вычислительного устройства, способного с высокой скоростью раскладывать большие числа на простые множители. Как известно, именно принцип вычислительной трудности факторизации (разложения на множители) больших чисел положен в основу многих современных криптографических алгоритмов.
До сих пор наиболее эффективным алгоритмом факторизации считался алгоритм NFS (number field sieve – сито числового поля). С его помощью в 1999 году был взломан алгоритм RSA c ключом длиной 512 бит. Процесс взлома занял много месяцев и потребовал огромных вычислительных ресурсов. Стойкости 1024-разрядного шифра RSA, по мнению большинства экспертов достаточно для надежной защиты информации в течение ближайших 15-20 лет.
Однако Ади Шамир (один из соавторов алгоритма RSA) и Эран Тромер полагают, что это не так. Двое исследователей разработали новое вычислительное устройство, способное факторизовать числа в несколько раз быстрее всех предыдущих разработок такого рода. В результате, взлом стойких шифров значительно облегчается.
До последнего времени наиболее совершенным устройством для быстрого разложения чисел на множители была оптоэлектронная система TWINKLE. Она состояла из подложки, разбитой на множество вычислительных ячеек, каждая из которых работала с собственной числовой последовательностью. TWINKLE последовательно перебирает различные области числового сита в соответствии с сигналами от тактового генератора. Поскольку в TWINKLE применяются оптические компоненты, полупроводниковой основой устройства служит дорогой арсенид галлия.
Устройство TWIRL, разработанное Шамиром и Тромером, использует близкий к TWINKLE подход к реализации алгоритма разложения чисел на множители. Однако новое устройство может параллельно рассматривать тысячи участков числового сита, а схема устройства не содержит оптических элементов. По сути, TWIRL представляет собой специализированную сверхбольшую интегральную схему (СБИС), работающую на частоте 1 ГГц, выполненную по 0,13-микронной технологии.
Пока исследователи разработали лишь схему TWIRL и не реализовали ее на практике, хотя предварительная оценка показывает, что с помощью TWIRL взлом шифров с ключами длиннее 512 бит становится возможным. Например, для вскрытия 1024-битного шифра понадобится специальный компьютер на основе TWIRL стоимостью около 10 млн. долл. США. Для взлома шифра такой машине понадобится около года. 512-битный шифр RSA TWIRL-компьютер стоимостью в 10000 долларов США вскроет менее чем за десять минут.
По итогам своих исследований израильские ученые готовятся опубликовать статью. С ее предварительным вариантом в формате PDF можно ознакомиться здесь (размер файла 324 кб). http://psifertex.com/download/twirl.pdf
— SATtva (22/12/2003 12:20)   
B, нет, так считать не стоит.

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

Более того, PGP кроме RSA поддерживает алгоритм шифрования Эльгамаля (названный в PGP Diffie-Hellman'ом, что формально неверно) и алгоритм подписания DSA, оба основанные на математической проблеме вычисления дискретного логарифма в конечном поле. Несмотря на то, что проблемы факторизации и дискретного логарифмирования во многом близки, решение последней является более ресурсоёмкой задачей и пока недоступно с той же эффективностью, что разложение на множители.

В FAQ ( http://www.pgpru.com/faq ) в разделе Криптография я приводил некоторые доводы "за" и "против" ключей RSA и DH/DSS в PGP.

Кроме того, не исключено, что будущие версии PGP привнесут поддержку алгоритмов, основанных на эллиптических кривых (место под такой алгоритм, например, зарезервировано в самом стандарте OpenPGP) — этот подход хотя и является относительно молодым и не обладает той же научной базой, что Эльгамаль и RSA, видится весьма многообещающим: во-первых, он многократно быстрее последних, во-вторых, требует очень компактных ключей для обеспечения эквивалентной RSA и Эльгамалю стойкости.
— Вий (02/02/2005 11:54)   

Например, для вскрытия 1024-битного шифра понадобится специальный компьютер на основе TWIRL стоимостью около 10 млн. долл. США. Для взлома шифра такой машине понадобится около года. 512-битный шифр RSA TWIRL-компьютер стоимостью в 10000 долларов США вскроет менее чем за десять минут.



последние алгоритмы факторизации уже субэкспоненциальны


Если последние алгоритмы факторизации уже субэкспоненциальны, то почему почему такая разница – около года и 10 минут на взлом ключей 1024 и соответственно 512 бит?
— SATtva (02/02/2005 13:29)   
Потому что субэкспоненциальны, но не линейны. Соотношение между 2^512 и 2^1024 — не 1:2, а 1:2^512.
— Вий (03/02/2005 07:37)   
Да в общем понятно, что каждый бит увеличивает пространство ключей вдвое. Вопрос несколько иной был. Да ладно, черт с ним, с вопросом.
— unknown (03/02/2005 08:41)   
В FAQ ( http://www.pgpru.com/faq ) в разделе Криптография я приводил некоторые доводы "за" и "против" ключей RSA и DH/DSS в PGP.

Еще один недостаток DSS – ему нужно для каждой подписи генерировать уникальное случайное сеансовое число. И под одним и тем же документом подпись будет каждый раз разная.

Если это число можно как-то предугадать, то и секретный ключ можно будет раскрыть. А еще с помощью выбора этого числа можно создавать "потайные каналы". Поэтому DSS многим поначалу не нравился по сравнению с более простым и прозрачным RSA (для подписи).
— SATtva (03/02/2005 12:17)   
Да, и возможность скрытого канала в DSS стала серьёзным вопросом, применительно к PGP 7.x, исходный код которых никогда не был опубликован. При том, что неоднократно возникали подозрения в связах NAI и АНБ, многие пользователи отказались переходить на седьмую версию именно по этой причине.
— unknown (03/02/2005 13:52)   
Может про особенности DSS/DSA добавить инфу в FAQ?
Хотя бы как примечание мелким шрифтом.
— SATtva (03/02/2005 14:15)   
Что-то мне казалось, я там об этом писал... :roll: Добавлю, конечно.
Гость (18/03/2005 01:19)   
Почти взломан RSA – А прочие алгоритмы? Теоретически можно подобрать под любой из них систему, м-да-а-а...
URL: http://lenta.ru/news/2005/03/16/quantum/
В Австрии осуществили "необратимые" квантовые вычисления
"Необратимые" квантовые вычисления удалось впервые осуществить австрийским ученым. Антон Цайлингер (Anton Zeilinger) и его сотрудники из венского Института экспериментальной физики использовали для этого так называемые "запутанные состояния" фотонов. Результаты эксперимента, опубликованные в журнале Nature, неизбежно повлияют на современные представления о практической разрешимости ряда важных проблем теории чисел и криптографии.
Квантовые компьютеры основаны на качественно иной логике, чем современные классические. Принципы действия последних описываются булевой алгеброй, и любому состоянию вычислительной машины отвечает некоторая последовательность битов. Единицей квантовой информации является q-бит – состояние двухуровневой квантовой системы. В вычислениях существенно используются квантовые явления – суперпозиция и "запутывание" (entanglement) состояний, так что N q-битам отвечает 2N-мерное пространство, базисные векторы которого – последовательности "q-нулей" и "q-единиц".
Если "измерить" состояние квантовой системы "до" и "после", мы получим результат вычисления, которое в математической модели описывает соответствующий физический процесс. Это соображение встречается в работах Фейнмана, а в 1980 году советский алгебраист Манин сформулировал на его основе концепцию квантовых вычислений. Постановка вопроса была непривычной для математиков: требовалось "приспособить" задачу к некоторой системе, могущей ее решить.
Задач, для которых уже придуманы квантовые алгоритмы, сравнительно немного. Среди них, однако – проблема разложения на простые множители, исключительно важная для теории чисел и криптоанализа. Многие алгоритмы шифрования, криптостойкость которых с точки зрения классических вычислений не вызывает сомнений, взламываются посредством квантового компьютера.
Попытки воплотить q-бит в конкретных физических системах предпринимались с 1980-х годов. Эффективных квантовых компьютеров на основе сверхпроводимости или ядерного магнитного резонанса так и не удалось построить

А вот "реальная" машина?
URL: http://lenta.ru/internet/2001/05/18/quantumlight/
Американские ученые из университета Рочестера (University of Rochester) создали квантово-световой компьютер, который считает в миллиарды раз быстрее современных суперкомпьютеров, сообщает CNN. Появление этого устройства может сделать ненужными суперкомпьютеры.
Вместо традиционных электронных технологий в новом устройстве используются лучи света. Для такой машины элементарными задачами становится, например, взламывание шифров путем перебора комбинаций или поиск в больших базах данных.
Разработчики, представлявшие машину на конференции в Балтиморе, штат Мэриленд, привели такой пример: если обычный суперкомпьютер, выполняющий поисковую задачу – это библиотекарь, который идет к полкам с множеством книг искать среди них одну нужную, то квантово-световой компьютер – это устройство, которое клонирует библиотекаря в большом количестве, и на поиски одновременно отправляется уже целая бригада.
Проект по созданию машины финансировался американским министерством обороны.
— unknown (18/03/2005 09:01)   
Сообщения о создании квантового суперкомпьютера появляются в прессе чуть ли не каждый месяц, в течении десятков лет, как сообщения о создании лекарств от рака или СПИДа. Каждый раз говорят, что СПИД (Рак, синдром Альцгеймера) почти окончательно побежден. Со временем выясняется, что в лабораторных условиях удалось замедлить рост каких-то клеток и особенного практического значения это не имеет.

А термоядерный синтез? Уже в 60-е годы вот-вот должны были сделать. Почему же человечество до сих пор сжигает нефть и уран вместо тяжелой воды?

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

Не стоит буквально воспринимать журналистские публикации. Желательно по-возможности читать первоисточники и научные доклады (если есть возможность самому разобратья в этой теме).
— Souran (01/08/2005 00:12)   
Заранее извиняюсь за дилетантский вопрос. Но при наличии гипотетического квантового компьютера, существуют ли математические методы защиты информации, способные противостоять производительности квантовых криптоанализаторов?
— Вий (01/08/2005 06:35)   
Добрый день! :)

Вот данные из книги Б. Шнайера.

Сложность вычисления порядком величины: Если сложность обработки для данного алгоритма составляет 2^128, то 2^128 операций требуется для вскрытия алгоритма (эти операции могут быть сложными и длительными). Так, если предполагается, что ваши вычислительные мощности способны выполнять миллион операций в секунду, и вы используете для решения задачи миллион параллельных процессоров, получение ключа займет у вас 10^19 лет, что в миллиард раз превышает время cуществования вселенной.

Теперь можно посчитать:
Пусть гипотетический квантовый компьютер будет работать в миллиард раз быстрее (хотя какова будет его скорость мне неизвестно, я просто предположил ткнув пальцем в небо) чем система из миллиона процессоров, о которой говориться в книге, каждый из которых проверяет миллион ключей/операций в секунду. Тогда для нахождения ключа грубой силой квантовому компьютеру потребуется не много не мало – время существования вселенной. При этом мы рассматриваем алгоритм с длиной ключа "всего лишь" 128 бит. А если мы возмем ключ с длиной 256 бит?

Вот еще несколько больших чисел из книги Шнайера:
Возраст планеты 2^30 лет
Время до следующего оледенения 2^14 лет
Возраст вселенной 2^34 лет
Число атомов планеты 2^170
Число атомов вселенной 2^265
Объем вселенной 2^280 см.куб.
— Вий (01/08/2005 16:28)   
Еще есть сравнительные оценки построенные не на временных факторах, а на энергетических, кстати где то в этом форуме об этом уже писали. Смысл таков – если представить, что на одну операцию по проверке ключа уходит минимальная в физике единица энергии (по моему переход электрона с одной орбиты атома на другую, как раз что то из области квантовых вичислений) то для проверки всех ключей пространства 2^128 нужно будет истратить энергии столько, сколько хватит для растопления всех льдов Антарктиды. Представите, что это да компьютер должен быть и какой у этого компьютера должен быть источник питания? Роль высокопроизводительных квантовых или каких-либо других суперкомпьютеров по моему мнению важна не для прямого взлома грубой силой, а для работ криптоанализа, именно поэтому огромная роль в криптографии отводится стойкости криптосистем.
— SATtva (01/08/2005 18:02)   
Souran, почитайте статьи "Пределы роста"[link2] и [[http://www.pgpru.com/articles/crypto/keysize.shtml "Длина ключа и его
полный перебор"]]. Там приведены некоторые методики атак, их ресурсозатраты и практическая осуществимость, исходя из длин ключей и других факторов, упомянутых Вием: энергетических, тепловых. Вообще пробегитесь по разделу Литературы[link3]. Думаю, найдёте немало полезного.
— unknown (01/08/2005 20:26)   
Подбору симметричных ключей квантовые компьютеры принципиально не угрожают, а вот для криптографии с открытым ключем квантовые вычисления могут быть фатальными. Возможно решение "трудных задач" в таком компьютере будет субполиномиальным, ну проще говоря использовать очень большой ассиммметричный ключ пользователям будет непрактично по скорости, а маленький (для квантовых комп-ов) можно будет быстро взломать.

А вот что написано по этому поводу в черной книге:




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

Б. Шнайер "Секреты и ложь. Безопасность данных в цифровом мире".



— Вий (03/08/2005 18:40)   
unknown:
Подбору симметричных ключей квантовые компьютеры принципиально не угрожают, а вот для криптографии с открытым ключем квантовые вычисления могут быть фатальными

Мда, – еще из книги Шнайера.

Все считают, что разложение на множители является трудной математической задачей, но это никогда не было доказано математически.
Разлагать большие числа на множители нелегко, но, к несчастью для проектировщиков алгоритмов, этот процесс становится все легче. Что еще хуже, он становится легче с большей скоростью, чем предсказывалось математиками. В 1976 году Ричард Гай писал: «Я был бы немало удивлен, если бы кто-нибудь научился разлагать на множители произвольные числа порядка 10^80 в течении данного столетия». В 1977 году Рон Ривест заявил, что разложение на множители 125-и разрядного числа потребует 40 квардиллионов лет. В 1994 году было разложено на множители 129-разрядное число.

Остается надеяться, что ключи 2048 бит и более все же будут достаточно надежны в течении нами обозримого промежутка времени. Но мало кто думает о том, что будет через сотню лет, или же просто боятся делать прогнозы. Я все же думаю, что будут придуманы новые ассиметричные алгоритмы, и возможно с уже доказанной стойкостью. Может быть я и заблуждаюсь, но исключительно образно я бы сравнил RSA с песочными часами – это одна система, в которой песочек медленно сыплется из одной колбочки в другую через то самое узкое отверстие, которое можно гипотетически сравнить с медленным процессом разложения чисел на множители, больше длина ключа – тоньше отверстие. А можно ли придумать единую систему без такого отверстия? Насколько я помню основательница сайта Kat писала что-то о порванной фотографии. Если фотографию порвать не пополам (археологи как известно по костям воссоздают внешность древних животных), а в удачном месте? Или что то еще, пока мысли не идут, а интересно…
— unknown (04/08/2005 20:07)   
Одна из лучших на мой взгляд работ, до сих пор не утратившая свой актуальности, где даны (в том числе) прогнозы стойкости RSA:

"Selecting Cryptographic Key Sizes" Arjen K. Lenstra, Eric R. Verheul. October 27, 1999

http://www.secinf.net/uplarticle/4/cryptosizes.pdf


Там же про симметричные шифры, дискретные логарифмы и эллиптические кривые. Пока прогнозы совпадают с теми графиками и таблицами, которые там есть.
— unknown (12/08/2005 16:53)   
Я все же думаю, что будут придуманы новые ассиметричные алгоритмы, и возможно с уже доказанной стойкостью.

Christofer Wolf и Bart Preenel исследовали ассиметричные алгоритмы типа "Multivariate quadratic public key systems", устойчивые (пока) к квантовому вскрытию.

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

Может когда-нибудь вместо RSA и ECC будет MQ?

Но пока их стойкость малодоказанна.
— Вий (13/08/2005 11:53)   
В чем суть недоказанности (или даже недоказуемости может быть) долговечной стойкости асимметричных алгоритмов? В том, что существует открытый ключ, по которому можно пытаться вычислить закрытый или есть какие-либо дополнительные факторы?
— unknown (13/08/2005 12:40)   
Собственно, я только повторяю вышеизложенное:

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

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

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

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

Нет ни одного абсолютного доказательства!

Есть еще более фундаментальная проблема P=NP. Если смогут решить и ее то криптография в худшем случае вообще прекратит свое существование даже в области симметричных шифров.

Вот интересная статья с http://www.cryptography.ru/db/msg.html?mid=1169815

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

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

Но пока такие достижения в математике выглядят чистой фантастикой вроде "машины времени" или "путешествия в гиперпространстве".

Более вероятно, что "трудные проблемы" не смогут решить мгновенно, а будут постепенно изобретать все более быстрые численные способы их решения.
— unknown (17/08/2005 10:36)   
В 2006 году состоится конференция по постквантовой крипографии:
http://postquantum.cr.yp.to/
Гость (24/08/2005 18:24)   
Вопрос по генерированию асимметричный ключей.
Предположим, что в симметричной системе шифрования существует множество ключей 2^128. При получении ключа используется алгоритм случайного подбора. Допустим соответствие каждого из 128 бит нулю или единице определяется подкидыванием монеты 128-ю разными людьми по выстрелу стартового пистолета. Здесь все ясно.
Теперь что касается асимметричных ключей. Из сравнительных таблиц известно, что имея длину асимметричного ключа около 2304 бит для подбора правильного ключа грубой силой с вероятностью встречи нужного ключа 50% нужно перебрать примерно 2^127 вариантов. Но для генерирования асимметричного ключа требуется не просто подкинуть монеты n-раз, а произвести вычисления. Позволяют ли методы формирования ключа получить столько разных ключей, что бы их количество действительно было около 2^128? Т.е. есть ли соответствие между количеством вариантов перебора при поиске ключа и количеством ключей, которые можно сгенерировать?
— unknown (25/08/2005 09:32)   
Позволяют ли методы формирования ключа получить столько разных ключей, что бы их количество действительно было около 2^128?

Да! Вы подметили правильный критерий генерации ассиметричных ключей.

Нужно к примеру выбрать интервал в котором встретится примерно 2^128 простых чисел (этот интервал можно предсказать с большой точностью, он небольшой, числа в нем будут иметь примерно одинаковый порядок длины в битах), среди них перебирать случайным образом числа кандидаты и проверять на простоту тестом Рабина-Миллера. А именно так и делается.

Требование перебора 2^128 (например среди простых чисел из интервала) для асимметричных алгоритмов соблюдается обязательно.

Ну есть еще кое-какие тонкости, но это уже в специальной литературе читайте.
— unknown (25/08/2005 20:22)   
Наконец-то я добрался до полки со Шнайером (и Фергюссоном)
Вот Вам от них хороший пример:


В окружении числа n приблизительно одно из каждых ln n чисел является простым <...>
Число длиной 2000 бит находится в диапазоне от 2^1999 до 2^2000.

В этом диапазоне примерно одно из каждых 1386 чисел является простым.


От себя: 2^2000 / 1386 это примерно 2^1990 или 1990 бит. Явно больше, чем 128.

Вся проблема только в скорости подбора простого числа из заданного диапазона.

Так что проблема защиты ключа от брутфорса самая легкая и была продумана с самого начала.
Гость (03/09/2005 20:15)   
SATtva:

Более того, PGP кроме RSA поддерживает алгоритм шифрования Эльгамаля (названный в PGP Diffie-Hellman'ом, что формально неверно) и алгоритм подписания DSA, оба основанные на математической проблеме вычисления дискретного логарифма в конечном поле.

Ничего неверного в этом нет. Шифрование ElGamal — ничто иное, как генерирование сеансого DH-ключа и согласование секретного симметричного ключа на его базе с публичным DH-ключем корреспондента. Публичная половина сеансового DH-ключа передается вместе с сообщением. Ключ ElGamal и ключ DH — одно и тоже.

Один и тот же ключ и один и тот же алгоритм использованный в разных протоколах. В случае DH — для согласования ключа, в случае ElGamal — для шифрования.
Но называть ключ ElGamal ключем DH совершенно корректно, так как это одно и то же.
— SATtva (04/09/2005 17:55)   
Но называть ключ ElGamal ключем DH совершенно корректно

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

Не думаю, что совсем уместно проводить между ними прямую параллель. Это всё равно, как сравнивать схему одноразовых блокнотов с пороговой схемой разделения секрета. Да, между ними много общего, и OTP скорее частный случай схем secret sharing на базе простого XOR, но это не одно и то же.
Гость (04/09/2005 20:04)   
Все так интересно, жаль, что не очень понятно.
Скажите. Известно, что блочные симметричные шифры работают с блоками текста. К примеру блок текста с которым работает алгоритм равен 64 битам, а длина ключа равна 128 битам. Значит количество вариантов перестановок битов в блоке может быть намного меньше чем позволил бы это сделать ключ. Каким образом тогда достигается "полное" использование всех вариантов ключа?
— unknown (04/09/2005 20:47)   
2 Sattva:

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

Это формальности, просто один параметр (случайное число x) не создается в ходе сеанса, а зафиксирован в ключе в виде g^xmodP. Заменили эфемерность на постоянство. Подпись – это "шифрование наоборот", поэтому x генерирует подписывающая сторона. Формулы те же. Возведение в степень – мультипликативные группы те же. А дискретные логарифмы злоумышленнику для взлома придется считать, что в одном что в другом случае абсолютно одинаково.

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

2 Гость:

Все так интересно, жаль, что не очень понятно.
Скажите. Известно, что блочные симметричные шифры работают с блоками текста. К примеру блок текста с которым работает алгоритм равен 64 битам, а длина ключа равна 128 битам. Значит количество вариантов перестановок битов в блоке может быть намного меньше чем позволил бы это сделать ключ. Каким образом тогда достигается "полное" использование всех вариантов ключа?

Если шифры бы были устроены, так как Вы предполагаете, они бы взламывались элементарно. :-)
Ключ дает не 2^128 перестановок, а значительно больше.

Значит количество вариантов перестановок битов в блоке может быть намного меньше чем позволил бы это сделать ключ.

Ни в коем случае!

КАЖДЫЙ ключ создает уникальную псевдослучаюную таблицу перестановок размером 2^64 (pseudorandom permutation). Для уникального соответствия каждого из 2^64 возможных открытых текстов каждому 2^64 шифртексту.

<...>

Дальше было неправильно :-(
— unknown (04/09/2005 22:08)   
Вот еще пара замечаний:

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

Если бы у какого-то алгоритма использовались не все биты ключа – это сокращенное пространство ключей, обычно грубый просчет в дизайне или тайная закладка для легкого взлома шифра (совместно с другими методами).
Гость (11/09/2005 17:57)   
Со 128-битным ключом у нас 2^128 таблиц размером 2^64 каждая.


Тогда не возникает ли в пространстве 2^128 таблиц повторяющихся таблиц?
— unknown (11/09/2005 19:47)   
Тогда не возникает ли в пространстве 2^128 таблиц повторяющихся таблиц?

Я несколько неправильно дал ответ выше. Исправляюсь. Вот как легко запутаться даже в таких элементарных понятиях!

Перестановка для 64-битного блочного шифра считается как факториал:
(2^64)!
Все пространство перестановок значительно больше, но ключи размером и 2^64 и 2^128 и 2^256
дают лишь ничтожную выборку значений из этого гигантского пространства. Смотрите более
подробные расчеты в специальной литературе.


Вообще это важное понятие в криптоанализе – любая атака начинается в построении различителя шифра от случайной перестановки, затем идет к восстановлению ключа, поэтому в литературе по криптоанализу эти перестановки служат отправной точкой.

Насчет собственно повторяющихся таблиц, конечно они могут с ничтожной долей вероятности совпасть и стать одинаковыми для разных ключей, тогда речь идет об эквивалентных ключах или коллизиях ключей. Это похоже на естественные коллизии в хэш-функциях. Главные, чтобы они не были "неестественными", встречающимися чаще, чем по вероятности им положено или по какой-то закономерности, облегчающей криптоанализ.
— unknown (12/09/2005 08:49)   
Вот ссылки на определения "Pseudorandom functions and permutations", которые являются базовыми в построении блочных шифров:

http://www.cs.berkeley.edu/~da.....ing/cs276-s04/03b.ps[link4]
http://www.cs.berkeley.edu/~da.....ing/cs276-s04/04a.ps[link5]
http://www.cs.berkeley.edu/~da.....ing/cs276-s04/04b.ps[link6]

Попробуйти найти что-то более легкое для понимания, если сможете.

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

(Иначе бы например 3-DES образовывал бы группу, хотя доказано, что комбинация трех разных ключей не сводится к одному ключу, т.е. дает иное отображение, не входящее в множество 64 (56)-битных ключей. Тут относительно не такая очевидная и простая математика, как кажется и "на пальцах" это все не объяснить).
— unknown (12/09/2005 11:57)   
... А ответ на самом деле надо было дать простой:

Nb – длина блока. Nk – длина ключа.
Для фиксированного ключа мы имеем 2^Nb входов и (2^Nb)! Всех возможных псевдослучайных перестановок.
Для всего множества ключей: (2^Nb)!^(2^Nk)

Если я в очередной раз ничего не перепутал. ;-)
Гость (12/09/2005 19:56)   
unknown, простите, что за ps файл? Скачал, не знаю чем открывать.
— unknown (13/09/2005 08:43)   
unknown, простите, что за ps файл? Скачал, не знаю чем открывать.

Не знаю чем Вам помочь. Если бы Вы были в Линуксе, то такой бы вопрос у Вас бы даже не возник. ps.gz – "стандарт де факто" (В крайнем случае .pdf). для научных работ и статей и набор программ для работы с ним большой (начиная от gv).


Может под Win его тоже какой нибудь акробат-reader открывает?

P. S. Научные статьи в формате оффиса мне встречались только из России, Украины и Польши. Да и то от этого стараются уходить.
— sentaus (13/09/2005 11:48)   
Гость,
GSView
http://www.cs.wisc.edu/~ghost/gsview/index.htm
Гость (13/09/2005 15:41)   
unknown, Вам большое спасибо за ответы и интересную инфу. Acrobat Reader такие файлы не открывает, к сожалению.
sentaus, спасибо, скачал, но теперь еще нужно Ghostscript качать.
— unknown (13/09/2005 16:40)   
unknown, Вам большое спасибо за ответы и интересную инфу. Acrobat Reader такие файлы не открывает, к сожалению.

Всегда рад, когда кого-то интересуют вопросы криптографии и всего что с ней связано.

sentaus, спасибо, скачал, но теперь еще нужно Ghostscript качать.

[offtopic] Вот после этого Линукс у меня становится навязчивой идеей. ;-)
Как все проще.
Просто для примера:
Нам нужен просмотрщик для файлов postscript

Набираем: apt-cache search postscript | grep view

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

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

Например, на запрос apt-cache search | grep network | grep anonimity среди разных вариантов можно получить tor, а при попытке его поставить будут предложены privoxy и соксификаторы.

[/offtopic]

Ссылки
[link1] http://www.pgpru.com/articles/openpgp/pgp_compare.shtml

[link2] http://www.pgpru.com/articles/crypto/limits.shtml

[link3] http://www.pgpru.com/articles/

[link4] http://www.cs.berkeley.edu/~daw/teaching/cs276-s04/03b.ps

[link5] http://www.cs.berkeley.edu/~daw/teaching/cs276-s04/04a.ps

[link6] http://www.cs.berkeley.edu/~daw/teaching/cs276-s04/04b.ps