Как выбрать алгоритм симметричнго шифрования?
Dоброго Времени Суток!
Как в GnuPG выбрать алгоритм симметричнго шифрования?
По умолчания стоит CAST5, можно ли использовать другой?
Thanks.
|
||||||||||||||||||||||||
|
||||||||||||||||||||||||
Нормы пользования. Некоторые права на материалы сайта защищены по условиям лицензии CreativeCommons. Движок
openSpace 0.8.25a и дизайн сайта © 2006-2007 Vlad "SATtva" Miller.
|
||||||||||||||||||||||||
комментариев: 9796 документов: 488 редакций: 5664
В начале девяностых был дефицит стойких блочных шифров. DES имел короткий ключ, 3-DES — неудобен, да и разрабатывался DES ещё в 70-хх взакрытую в IBM под контролем АНБ. Его вообще планировалось выпускать вначале только в виде залоченных микросхем и держать в секрете, но при передаче документов в НИСТ он был по ошибке опубликован и утёк в открытую литературу. Эту ошибку АНБ спустя двадцать лет признала одной из самых больших в своей истории.
На замену DES одно время стали широко использовать алгоритм IDEA от контролируемой АНБ компании Crypto AG, но она наложила патентный запрет. На сцену вышел CAST-5, Шнайер его удачно переделал в Blowfish, который и стал самым популярным в свободном ПО того времени.
На волне популярности Blowfish командой под руководством Шнайера был создан Twofish с самыми современными на тот момент требованиями: 128-битным блоком и ключом в 128-256 бит. Он получил распространение сразу после публикации, ещё до того, как был объявлен AES. Twofish вроде как не создавался под этот конкурс, но полностью подходил под его критерии и вошёл в пятёрку финалистов.
Threefish создавался под конкурс хэшей SHA-3 в составе хэша Skein и также вошёл в пятёрку финалистов. С его размером блока в 1024 бита использовать его для шифрования в большинстве приложений — неэкономно. Маловероятно, что его включат в GnuPG. Кроме того, он принадлежит к группе т.н. ARX-шифров, против которых были открыты неожиданные атаки. Ещё более настораживают атаки, основанные на другом принципе. Считалось, что для ARX невозможно составить таблицу дифференциалов, как для традиционны шифров с S-блоками или их аналогами. Но были найдены способы упрощения этой задачи и было найдено неожиданно много рабочих дифференциалов. Это не значит, что такие шифры нестойкие, но сами доказательства стойкости из-за этого становятся плохообоснованными.
Camellia, GOST — прогиб под национальные стандарты.
Serpent неформально получил высшие оценки стойкости на конкурсе AES, но я отношусь к этому скептически, а к такому сравнению, как спекулятивному и слабообоснованному. В нём мелкие S-блоки, плохо обоснованный по конструкции, хотя и интересный, слой линейной диффузии, а стойкость накручена удвоением числа раундов — также как это сделано в ГОСТ. Ну да, громкие имена его авторов. Но и его обоснование и исследования — особо не впечатляют. Работы Шнайера по Twofish и Skein сразу видны, что идут по своему уровню и затратам усилий на построение доказательств на уровне работ по AES и Keccak. Это — эталон того, как надо. Даже если чего-то не понятно, приятно читать и видно, что авторы старались в каждой мелочи. Субъективно — над серпентом как будто так не старались, не знаю.
Если не ошибаюсь, Twofish уникальный шифр в том, что никаких оптимизаций на этот случай не предусмотрено и там фактически одинаковая имплементация: любой размер ключа, меньший 256 бит просто дополняется до 256 бит нулями побайтово. Могу, правда ошибаться, пишу по памяти.
комментариев: 11558 документов: 1036 редакций: 4118
Можете никак не сортировать, просто не указывайте то, что Вам не интересно. В крайнем случае будет использован 3DES.
Это документация libgcrypt. Хотя GnuPG использует эту библиотеку в качестве криптографического бекэнда, по факту он импортирует из неё только то, что есть в стандарте OpenPGP.
Всё сказанное справедливо и для Twofish, раз он предок Threefish?
С учётом того, что Threefish и Serpent отсутствуют в OpenPGP, Twofish можно считать 256-битовым:
а национальной малоизвестной экзотике мы
вообще не доверяем* доверяем только в качестве умолчального SSL-шифра для pgpru.com, присутствующие по дефолту алгоритмыможно рассортировать по группам так:
Есть ли у кого-нибудь возражения по поводу такой сортировки?
Есть --personal-cipher-preferences, которая полностью полагается на систему предпочтений, а есть --cipher-algo, которая фиксирует алгоритм, полностью игнорируя предпочтения. Есть ли что-то среднее между этими двумя крайностями? Можно ли инструктировать GnuPG полагаться, например, на предпочтения получателя, но при этом запретить использование какого-нибудь конкретного слабого/нежелательного шифра вообще? Можно ли как-то отключить в конфиге поддержку некоторых встроенных шифров (той же CAMELLIA, к примеру)?
*3DES всё-таки лучше в литературе, думаю, изучен, чем CAMELLIA.
комментариев: 11558 документов: 1036 редакций: 4118
Так --personal-cipher-preferences для того и служит — это перечень Ваших предпочтений, который объединяется с перечнем получателя (булевым пересечением) для формирования итогового списка, из которого берётся алгоритм, стоящий первым. Если Вы исключите из своего списка, допустим, CAMELLIA, то он не будет использоваться ни при каких обстоятельствах, даже если у получателя он первый в списке.
комментариев: 9796 документов: 488 редакций: 5664
Twofish — скорее полностью переработанный Blowfish, от которого остались в качестве интересной идеи только ключезависимые S-блоки, но другие по параметрам, по другому создаваемые и работающие, упакованные в другую структуру.
А Threefish создавался совсем с нуля и никаких идей от предыдущих фишей вообще не использовал. Общее с предшественниками только кусок названия и соавторство Шнайера.
Правильно ли я понимаю, что это работает следующим образом?
Почему в OpenPGP до сих пор 3DES, а не какой-нибудь AES/Twofish?! Почему никто не работает? Вопрос риторический.комментариев: 11558 документов: 1036 редакций: 4118
У «неё» — это у кого из них? RIPEMD160 или MD5?
комментариев: 11558 документов: 1036 редакций: 4118
Ровно это я и предлагал в нескольких постах выше.
AES и Twofish добавлены в GnuPG более 10 лет назад, SHA-1 является MUST по стандарту. Никакие актуальные версии такой шаг не затронет. Плюс, как уже было сказано, в крайнем случае будет использован 3DES, так что без связи не останетесь.
комментариев: 9796 документов: 488 редакций: 5664
У RIPEMD160 больше запас прочности, чем у MD5. Не только по размеру отпечатка, но и по способу обработки хэшируемых данных. Возможно, она даже более стойкая, чем SHA-1. Но поскольку они всё равно принадлежат к схожей по конструкции группе, не исключено, что будет создан метод анализа, ломающий их всех.
А вам кто-то реально пишет с использованием этих алгоритмов?
Пока нет, но я же заранее не могу предсказать, кто, когда и с каким PGP-софтом захочет что-либо написать.
Теперь понятно.
Выражение «если ..., то ...» ≠ «так следует делать», поэтому и был задан уточняющий вопрос. ☺
Тоже игнор. В ключе:
комментариев: 9796 документов: 488 редакций: 5664
У меня по опыту тоже складывалось такое мнение. Сначала генерится ключ. В экспертном режиме можно задать асимметрику при генерации, а затем править предпочтения симметрики.
Здесь ещё указывали, что некоторые заранее заданные предпочтения при генерации работают только в batch-режиме.