Какой алгоритм TrueCrypt является самым безопасным?

83

Если производительность не имеет значения, какой алгоритм TrueCrypt является самым безопасным для использования?

  • AES
  • змий
  • Тройной DES
  • Twofish
  • AES-Twofish
  • AES-Twofish-Serpent
  • Serpent-AES
  • Serpent-Twofish-AES
  • Twofish-Serpent
Амир Резаи
источник
13
Они все в безопасности, иначе их бы не было в продукте. Но используйте AES, так как это стандарт.
Ян Бойд
13
Я бы сказал, что если после вас нет правительственного агентства, качество вашего пароля, скорее всего, будет проблемой, чем алгоритм шифрования.
полковник
3
Это так странно; Я мог бы поклясться, что заголовок спрашивал, какой самый быстрый . ಠ_ ఠ
Synetech

Ответы:

37

Вот итоги голосования в финальном туре AES-конкурса:

Rijndael 86-10 = 76
Serpent 59-7   = 52
Twofish 31-21 = 10
RC6 23-37 = -14
MARS 13-83 = -70 

( http://csrc.nist.gov/archive/aes/round2/comments/20000523-msmid-2.pdf , связанный через змея truecrypt , прочитайте также).

Итак, по разным причинам Рейндаэль стал AES, который является преемником DES (и 3DES).

и только потому, что она появилась сегодня на news.ycombinator.com, история AES:

http://www.moserware.com/2009/09/stick-figure-guide-to-advanced.html

Акира
источник
62

Используя TrueCrypt 7.0a, наиболее безопасный метод шифрования: Используйте каскадное шифрование AES-Twofish-Serpent с методом XTS. Используйте алгоритм хеширования Whirlpool. (SHA-512 очень близко второе место здесь ... это спорно ... Я склоняюсь к Whirlpool потому, что SHA-512 уже имеет преемника разработан из-за опасений, что она основана на более старой SHA-1, который имеет был взломан.) САМОЕ ВАЖНОЕ - использовать ОЧЕНЬ надежный пароль. От 20 до 30+ символов, прописные, строчные, цифры, символы. Используйте онлайн-проверку пароля Microsoft для проверки на прочность. Вы также можете использовать ключевые файлы для дополнительной защиты вашего пароля.

Я рекомендую AES-Twofish-Serpent вместо Serpent-Twofish-AES, потому что вы хотите, чтобы самое внешнее шифрование (AES будет первым слоем, который им необходимо преодолеть), было самым стандартным в отрасли. Это самый проверенный и самый верный и самый проверенный из всех. Кроме того, если кто-то предполагает, что файл зашифрован с помощью AES, нет никакого способа увидеть, что он затем шифруется с помощью Twofish ... поэтому они делают всю эту работу, чтобы взломать AES, только чтобы обнаружить, что Twofish стоит на их пути сейчас. И затем снова, после Twofish, они сталкиваются с Serpent, который является самым большим зверем из всех (несмотря на то, что он меньше используется / тестируется, чем AES, он все еще имеет гораздо более высокий запас безопасности, чем AES)

Если вы используете ключевые файлы, я бы порекомендовал TrueCrypt создать 3 ключевых файла для вас. Создайте один ключевой файл для каждого алгоритма хеширования, который они предоставляют. Вы также можете добавить несколько файлов .jpg и .mp3. Однако я бы сделал каждый файл ключей доступным только для чтения.

Это, вероятно, излишне, хотя.

Чарльз Хепберн II
источник
2
Вы говорите использовать 20-30 символов, но разве это не излишне? Даже 10 строчных букв будут составлять 26 ^ 10 = 141 167 095 653 376 комбинаций (4 миллиона лет при одной проверке в секунду). Более чем достаточно, конечно?
Дан W
12
@Dan W: На одну проверку в секунду, конечно. Однако, хотя методы хэширований варьируются много в производительности, потребительский класс аппаратных средства приходят гораздо ближе к тестированию миллиардов паролей в секунду. Ваш пароль из десяти символов в нижнем регистре будет взломан в течение нескольких часов.
Маркс Томас
7
Ваше обоснование каскадного заказа не имеет никакого смысла. Злоумышленнику придется прорваться через каждый уровень (каждый из которых использует независимый ключ), независимо от того, является ли AES первым или последним.
Jjlin
15

Каскадные шифры (AES-Twofish-Serpent и т. Д.) Должны быть максимально безопасными. Ваши данные зашифрованы одним алгоритмом, затем выходные данные зашифрованы вторым алгоритмом, выход которого зашифрован третьим алгоритмом. Согласно документации TrueCrypt , каждый алгоритм использует свой ключ, каждый из которых получен из вашей парольной фразы.

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

Крис Ачесон
источник
8
Я хотел бы добавить, что если будет выбран только один шифр, то Serpent, вероятно, будет наиболее безопасным, но значительно медленнее, чем AES (обратите внимание, что выбор правительством Advanced Encryption Standard подразумевал производительность, а не только безопасность).
bwDraco
5

Либо AES-Twofish-Змей или Змей-Twofish-AES. Но обычного AES достаточно.

Fantius
источник
5

Рейндаэль победил в конкурсе AES прежде всего потому, что он самый быстрый и простой в реализации на аппаратном уровне, а не потому , что он самый «безопасный». Twofish и Serpent, как правило , считаются более безопасными, но так как они все очень незыблемым, что это очень субъективное утверждением. И, конечно же, шифрование с использованием нескольких алгоритмов будет еще более «безопасным», но снизит скорость еще больше.

Опять же, они все безупречны, поэтому я бы советовал просто использовать тот, который быстрее всего на вашей машине (обычно AES).

BlueRaja - Дэнни Пфлугхофт
источник
1

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

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

Я бы порекомендовал либо Rijndael (AES), либо Serpent, и если вы хотите, чтобы он был надежным: самый важный элемент - это ключ, поэтому создайте очень длинный ключ, по крайней мере, с одним из каждого набора прописных и строчных букв, цифр и символов.

funkotron
источник
1

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

Я бы избежал 3DES, хотя. Прочитав страницу Truecrypt со списком вариантов алгоритма, он даже не перечисляет тройной DES, поэтому они, возможно, недавно удалили его.

pipTheGeek
источник
3
Для тех, кто заинтересован в более глубоком обсуждении «опасностей» каскадирования нескольких шифров, проверьте эту тему: crypto.stackexchange.com/questions/6486/…
Tiago
Основным недостатком 3DES будет то, что он мучительно медленный по сравнению с более современными шифрами, но в лучшем случае предлагает аналогичную защиту. (3DES может обеспечить вам 112-битную защиту благодаря тому, что они встречаются в середине атаки, в то время как AES-128 в настоящее время дает вам почти 128-битную защиту при гораздо большей пропускной способности.) Кроме того, использование DES 64-битных блоков является ответственность из-за ограниченной диффузии возможно с меньшими блоками.
CVn
0

Можно использовать более короткий пароль, если вы используете ключевые файлы, и если вас не беспокоит снижение производительности, использование AES Twofish и Serpent вызовет много головной боли у тех, кто пытается проникнуть в зашифрованный материал. Но также не забывайте, что вы также можете взять один зашифрованный файл и поместить его внутрь большего зашифрованного файла. Таким образом, вы можете «позволить» злоумышленникам посмотреть на внешний контейнер и дать им подумать, что у них есть весь контейнер. На самом деле у них вообще ничего нет. Не стесняйтесь помещать что-то слегка теневое во внешний файл, но ничего такого, что могло бы вызвать проблемы. Я думаю, что множество порнографических фотографий поместится этот счет хорошо, вот это то, что кто-то хотел бы скрыть, и как таковой, у вас есть хороший повод. Внешний контейнер не показывает, что внутренний контейнер даже существует. Поместите свой фактический материал во внутренний контейнер. Еще лучше сделать внешний контейнер «слабым» с недостаточным паролем и без ключевого файла. Пусть ваши злоумышленники подумают, что они взломали ваше шифрование, пожмут плечами и скажут: «Черт, ты молодец, у меня мертвый человек».

Джин Абшир
источник
0

Лучший публичный криптоанализ для каждого, предполагая 256-битные варианты (более высокая временная сложность лучше, но все виды предостережений):

  • Rijndael: 2 ^ 254.4 сложность времени (игнорирование связанных ключевых атак, которые здесь не обсуждаются)
  • Змей: 12 раундов из 32, 2 ^ 228,8 сложности времени (но требует 2 ^ 118 известных открытых текстов)
  • Twofish: 6 раундов из 16 (но требует 2 ^ 51 выбранных открытых текстов)
  • 3DES: 2 ^ 118 (с 2 ^ 32 известными открытыми текстами; обратите внимание, 3DES использует 168 бит, поэтому грубая сила составляет 2 ^ 168 вместо 2 ^ 256)

Несомненно, 3DES является наименее безопасным, но это не обязательно делает его небезопасным (за исключением обычного неопубликованного бэкдора). Однако я бы этого избежал. Все остальные алгоритмы обычно считаются безопасными. Для определения наличия намеренно расположенного черного хода в любом из них Сноуден, вероятно, выпустит больше документов. И, честно говоря, если бы у кого-то из топ-3 был черный ход, это было бы абсолютным откровением. Учитывая его послужной список, я лично счастлив предположить, что они все еще в безопасности.

Боб Аман
источник
3DES с тремя независимыми ключами (168 битов материала ключа) уязвимо для атаки «посередине», что означает, что эффективная защита - это безопасность 112-битного ключа. en.wikipedia.org/wiki/Triple_DES#Security
CVn
0

В 2001 году Национальный институт стандартов и технологий (NIST) выпустил расширенный стандарт шифрования (AES) и включил в короткий список пять кандидатов (через несколько конференций кандидатов) с противоположными алгоритмами для представления стандарта. Шифр Змея был одним из них, получив высокий уровень безопасности, но, в конце концов, заняв второе место, за шифром Рейндаэль. Хотя это произошло несколько лет назад, оно дает увлекательный взгляд на электронное шифрование данных и компромисс между производительностью и безопасностью. Интересно, что производительность победила!

По сравнению с другими пятью кандидатами, шифр Serpent имел самый высокий коэффициент безопасности 3,56, что было довольно неплохо, учитывая тот факт, что следующим лучшим был шифр Twofish с коэффициентом безопасности 2,67. Rijndael-256 имел запас прочности 1,56

https://www.100tb.com/blog/security-performance-serpent-cipher-rijndael/

https://veracrypt.codeplex.com/wikipage?title=Serpent

скан
источник
-1

Поскольку нет известных атак на AES, которые делают возможным грубое принуждение (ссылка: https://en.wikipedia.org/wiki/Advanced_Encryption_Standard#Known_attacks ), если только вы не ожидаете, что трехбуквенные агентства посвятят всю свою вычислительную мощность следующим тысячелетия, чтобы взломать ваш диск, AES это путь. Последняя версия TrueCrypt также поддерживает вилки AES-NI, которые на моем Core i7 3770 обеспечивают пропускную способность более 2,5 ГБ / с.

Ваше подключение к IP-адресу, объявленному этим доменом, использует шифрование AES в большинстве браузеров (хотя CloudFlare хранит ключ, видимый вашим браузером, и расшифровывает и перекодирует ваши данные перед отправкой на серверы StackExchange, поэтому не используйте ваш TrueCrypt / VeraCrypt / CipherShed пароль для вашего пароля StackExchange, потому что, если указанные трехбуквенные агентства взломают ваш диск, они перехватят ваш пароль на прокси-сервере CloudFlare и попытаются сделать это задолго до того, как предпринять грубую перебор.

Уильям
источник
-2

Я рекомендую использовать хэш Whirlpool с этими алгоритмами, так как он самый сильный.

Для алгоритмов шифрования вы должны использовать каскад. Я рекомендую AES, Twofish, Serpent. AES довольно слаб (по сравнению с другими алгоритмами, но является самым быстрым) и является отраслевым стандартом, поэтому будет эффективным в качестве внешнего уровня. Twofish еще сильнее, и после расшифровки слоя AES будет еще один слой (Twofish), который будет еще сильнее. Змей - самый сильный, и этот каскад оказывается эффективным.

Некоторая дополнительная информация: Для паролей у АНБ есть квантовый компьютер, который может очень быстро расшифровать. Я бы не стал доверять АНБ (они разработали AES). Я бы порекомендовал минимум 40 букв, строчных и прописных букв, цифр, символов и не использовать словарные слова или личную информацию (даты рождения и т. Д.), И вы могли бы использовать ключевые файлы. Если вы подвержены риску со стороны злоумышленника, используйте функции вероятного отрицания, встроенные в TrueCrypt.

UndefeatedWarrior786
источник
Нет известных известных атак квантовых вычислений на AES. Квантовые компьютеры не быстрее наших двоичных компьютеров. Они только разные.
Марк Лопес
АНБ не проектировал AES. AES был спроектирован парой бельгийских криптографов под именем Rijndael, проверен (и подвергнут серьезному избиению) криптографами всего мира во время конкурса NIST AES и стандартизирован NIST как AES после того, как он выиграл конкурс на основе набора общеизвестных критериев. , Если вы собираетесь участвовать в оловянной фольге, пожалуйста, по крайней мере, правильно изложите свои факты. Кроме того, AES не имеет ничего общего с паролями.
CVn
Что касается правдоподобного отрицания, то есть убедительный аргумент, почему это не сработает на практике, в разделе часто задаваемых вопросов о криптографии Linux , раздел 5.18 «Как насчет правдоподобного отрицания?» это также затрагивается в разделе 5.2 «Является ли LUKS небезопасным? Все могут видеть, что я зашифровал данные!». В некотором смысле это вариант xkcd.com/538 (да, законное использование ссылки xkcd).
CVn
-2

AES

Рейндаэль (в настоящее время AES) - лучший алгоритм.

С https://crypto.stackexchange.com/questions/24307/why-is-aes-unbreakable :

Во-первых, не говорится, что AES является неразрушимым, просто то, что ни одна из известных в настоящее время атак не снижает вычислительные затраты до такой степени, когда это возможно. Наилучшая в настоящее время атака на AES-128 занимает 2 ^ 126,1 операций, если бы у нас был компьютер (или кластер), который в несколько миллионов раз эффективнее любого существующего компьютера и мог бы работать при термодинамическом пределе Ландауэра, потребовалось бы 234 петаджоуля, просто чтобы увеличить счетчик через каждое значение ключа. Это примерно половина годового потребления электроэнергии в Норвегии. На самом деле вычисление раунда AES занимает в несколько раз больше энергии.

Twofish

Из Википедии :

Twofish - это блочный шифр с симметричным ключом с размером блока 128 бит и размером ключа до 256 бит. Это был один из пяти финалистов конкурса Advanced Encryption Standard, но он не был выбран для стандартизации. Twofish связан с более ранним блочным шифром Blowfish.

Отличительными особенностями Twofish являются использование предварительно вычисленных зависимых от ключа S-блоков и относительно сложное расписание ключей. Одна половина n-битного ключа используется в качестве фактического ключа шифрования, а другая половина n-битного ключа используется для модификации алгоритма шифрования (зависимые от ключа S-блоки). Twofish заимствует некоторые элементы из других конструкций; например, псевдо-преобразование Адамара (PHT) из семейства шифров SAFER. Twofish имеет структуру Фейстеля, как DES. Twofish также использует матрицу с разделением по максимальному расстоянию.

На большинстве программных платформ Twofish был немного медленнее, чем Rijndael (выбранный алгоритм для Advanced Encryption Standard) для 128-битных ключей, но несколько быстрее для 256-битных ключей.

змий

Из Википедии :

Serpent - это блочный шифр с симметричным ключом, который был финалистом в конкурсе Advanced Encryption Standard (AES), где он занял второе место после Rijndael. Змей был разработан Россом Андерсоном, Эли Бихамом и Ларсом Кнудсеном.

Как и другие представления AES, Serpent имеет размер блока 128 бит и поддерживает размер ключа 128, 192 или 256 бит. [2] Шифр представляет собой 32-раундовую сеть подстановки-перестановки, работающую на блоке из четырех 32-битных слов. Каждый раунд применяет один из восьми 4-битных и 4-битных S-блоков 32 раза параллельно. Змей был спроектирован так, чтобы все операции могли выполняться параллельно, используя 32-битные слайсы. Это максимизирует параллелизм, но также позволяет использовать обширную работу по криптоанализу, выполненную на DES.

Serpent придерживался консервативного подхода к безопасности, выбрав большой запас безопасности: разработчики посчитали достаточным 16 раундов против известных типов атак, но указали 32 раунда как страховку от будущих открытий в криптоанализе. Официальный отчет NIST о конкуренции AES классифицировал Змея как имеющего высокий запас безопасности наряду с MARS и Twofish, в отличие от адекватного запаса безопасности RC6 и Rijndael (в настоящее время AES). В финальном голосовании Змея имела наименьшее количество отрицательных голосов среди финалистов, но набрала второе место в целом, потому что у Рейндаэля было значительно больше положительных голосов, решающим фактором было то, что Рейндаэль позволил гораздо более эффективно внедрить программное обеспечение.

SHA намного лучше, чем MDA, Whirpool и т. Д. Но они нашли способ сломать SHA. Там идет SHA-2 (HMAC). Снова они нашли способ сломать это. Там идет SHA-3 (Kakee или что-то вроде этого). Но в TrueCrypt, VeraCrypt, CipherShed или TrueCryptNext не существует SHA-3 .--------------------------- Источник: любое место в моей памяти ;-)

AES-Twofish-Serpent + SHA-512 = ЛУЧШИЙ АЛГОРИТМ И ХЕШ ДЛЯ TrueCrypt И ДРУГИХ.

гигабайт
источник
-3

После быстрого поиска я бы сказал AES 256 bits.

Я бы избегал Triple AES и Triple blowfish. Запуск одного и того же алгоритма несколько раз может привести к снижению безопасности, чем при использовании исходного алгоритма один раз.

источник

gulbrandr
источник
1
Кажется правдоподобным предположением, но Triple DES, безусловно, усиливается за счет нескольких проходов. (Если разработчик базовой реализации не делает грубую ошибку и не произносит «EK2 (DK1 (EK1 (незашифрованный текст)))», как это сделал Саймон Сингх в своей проблеме шифрования: P)
RJFalconer
5
1) Ваш источник - шутка. Случайный пост на форуме. 2) Нет оснований полагать, что тройное шифрование с разными ключами ослабит шифрование.
CodesInChaos