5

Я читаю статью в Arch Linux wiki о системном шифровании, в качестве примера автор указал 512-битный ключ. Из того, что я читал в Википедии относительно шифровальных шифров, это, кажется, недостаточно безопасно. Это приводит меня к вопросу: какой размер ключа самый сильный?

6 ответов6

12

У меня недостаточно репутации, чтобы комментировать вышеприведенные ответы, касающиеся RSA, но они оба не правы в контексте заданного вопроса, поэтому для всех, кто случайно прочитает этот вопрос в будущем:

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

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

Для полного поиска в пространстве ключей симметричного шифра потребуется 2 n попыток, где n - длина ключа в битах.

Чтобы дать вам представление о масштабах: если бы у вас было 10 миллионов компьютеров, каждый из которых мог бы тестировать 10 миллионов ключей в секунду, то по-прежнему возрастало бы в несколько тысяч раз текущий возраст юниверса для поиска всех ключей с целью определения размера ключа. 128 бит

Это означает, что вы защищены от атаки грубой силы, независимо от того, кто атакующий. Грубое принуждение к симметричному ключу - не тот путь. Даже атаковать слабые места в шифре сложно, когда вы используете высококачественные шифры, такие как AES и т.д., Хотя АНБ может иметь некоторые идеи, которых нет у остального мира. Но, честно говоря, гораздо проще ударить вас по голове большой палкой, пока вы не откажетесь от ключевой фразы.

4

Здесь нет strongest possible key .

Для каждого ключа длины n вы всегда можете добавить один бит, чтобы сделать его сильнее.

2

Сам RSA содержит слабые места, как см. Раздел « Алгоритм RSA » "Недостатки в RSA", а также « Взлом RSA и RSA: взлом и взлом».

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

Недавно 200-летний ключ RSA был учтен за 50 лет компьютерного времени, а 307-длинный - за 100 лет компьютерного времени. Я полагаю, что даже 128-разрядный компьютер все еще займет несколько лет компьютерного времени.

1024 бита могут быть доказательством против большинства криминальных колец, но, вероятно, 512-битные и даже 128-битные. Конечно, 1024 бита, но ожидаете ли вы, что против вас будет использовано агентство с вычислительной мощью Агентства национальной безопасности США?

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

0

Паскаль имеет отличное объяснение размера битов и различий между симметричным и асимметричным шифрованием. Однако есть некоторые дополнительные факторы, такие как шифр. Различия между CBC и XTS хорошо объяснены в этом стековом потоке. Шифр XTS сокращает размер ключа пополам. Если вы хотите AES-128, вам нужно установить размер ключа 256. Для AES 256 размер бита будет 512.

cryptsetup luksFormat --type luks2 --cipher aes-xts-plain64 --key-size 512 --hash sha256 -use-random /dev/sda5

Как примечание, выбранный вами источник энтропии также важен для генерации ваших криптографических ключей. /dev /random может быть лучше, чем /dev /urandom, если закрытый ключ предназначен для длительного использования. Согласно странице руководства urandom:

Если вы не уверены, следует ли вам использовать /dev /random или /dev /urandom, то, вероятно, вы захотите использовать последнее. Как правило, /dev /urandom следует использовать для всего, кроме долгоживущих ключей GPG /SSL /SSH.

-1

RSA рекомендует:

В настоящее время RSA Laboratories рекомендует использовать ключи размером 1024 бит для корпоративного использования и 2048 бит для чрезвычайно ценных ключей, таких как пара корневых ключей, используемая сертифицирующим органом.

http://www.rsa.com/rsalabs/node.asp?id=2218

поэтому я бы пошел по крайней мере 1024 бит.

Обратите внимание, что чем больше размер ключа, тем медленнее будет шифрование / дешифрование.

-1

Я лично использую 2048-битный ключ и обнаружил, что мой процессор без проблем справляется с максимальной пропускной способностью диска SATA. Я бы порекомендовал 2048 на любом современном оборудовании (1 ГГц или более быстрый процессор).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .