Рейтинг:0

Ключ AES против ключа RSA

флаг in

Я совершенно новичок в криптографии и недавно пытался понять ее более тщательно. Мой вопрос: Чем отличается Генерация ключей в случае AES и RSA. Я понял, что открытый и закрытый ключи RSA можно получить напрямую с помощью некоторой модульной магии.

Я понял (по крайней мере, я надеюсь) следующее:

Пара ключей (закрытый и открытый) тесно связана с алгоритмом RSA, то есть с тем, как вещи шифруются/расшифровываются.

Чего я не понял, так это:

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

Итак, мой вопрос:

Являются ли ключи/пары ключей по своей сути (как они создаются) связанными с алгоритмом, или это относится только к RSA. Если да, то какую «форму» должен иметь ключ в случае AES?

Спасибо уже!

kelalaka avatar
флаг in
Добро пожаловать в Cryptography.SE. Лучше указать источник путаницы. AES и RSA - разные вещи. см. [Генерация ключей RSA] (https://crypto.stackexchange.com/search?q=RSA+key+generation), а ключи AES выбираются равномерно случайным образом, как и во всех блочных шифрах.
Рейтинг:4
флаг gb

AES — это алгоритм с симметричным ключом, что означает наличие только одного ключа, используемого как для шифрования, так и для расшифровки. Это отличается от RSA, где у вас есть два ключа — закрытый и открытый, связанные определенным образом.

Ключи AES — это просто случайные байты. Например, AES-128 использует 128-битные (16-байтовые) ключи. Таким образом, любые случайные 128 бит могут использоваться в качестве ключа AES-128. Никакой другой формы быть не должно.

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

Рейтинг:1
флаг cn

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

AES является симметричным шифром, т.е. использует один единственный ключ для шифрования и дешифрования (каждый, кто знает ключ, может расшифровать сообщение). Обычно в симметричной криптографии (в современной криптографии) единственным ограничением для ключа является его размер. Например, AES поддерживает 128-, 192- и 256-битные ключи. Обычно ключи требуется выбирать единообразно из набора всех его возможных значений*.
NB: набор всех возможных значений ключа, фактически определенных алгоритмом. Для AES-128 это набор всех 128-битных векторов. $\mathbb{F}_2^{128}$, а для шифра Цезаря это просто число от 0 до 26 - $\mathbb{F}_{27}$.
Конкретный симметричный алгоритм определяет набор возможных значений ключа.Для современных шифров это обычно бинарные векторы определенного размера**.

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


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

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

Рейтинг:0
флаг si

Этот ответ конкретно о вашем заявлении «… RSA-алгоритм, также известный как то, как вещи шифруются / расшифровываются». RSA обычно не используется для шифрования, а если и используется, то только алгоритм RSA. AES используется не только для шифрования!

AES — это алгоритм с симметричным ключом, в частности, блочный шифр. Он принимает ключ и входной блок и создает выходной блок. Использование той же клавиши в выходном блоке создает исходный входной блок. В AES блоки имеют размер 128 бит (16 байт). Ключи бывают 128, 192 или 256 бит. Они должны быть выбраны равномерно случайным образом, но в остальном не имеют никаких ограничений.

AES можно использовать для построения схемы шифрования, но сам по себе он не используется для шифрования, поскольку он может надежно зашифровать только один 16-байтовый блок! Он должен использоваться в «режиме работы» для эффективного шифрования всего, что больше или меньше 16 байт. AES также можно использовать для создания криптографических хеш-функций (ни один обычный хэш не делает этого, но AES-хэш было предложено), коды аутентификации сообщений (AES-CMAC), функции вывода ключей (NIST СП 800-108 описывает как) и многое другое. Поэтому неправильно рассматривать AES (или любой другой блочный шифр) только как функцию шифрования, несмотря на «шифрование» в названии.

RSA — это алгоритм с асимметричным ключом. Он имеет два ключа, «открытый» ключ и «закрытый» ключ. Предполагается, что открытый ключ общедоступен, а закрытый ключ никогда никому не передается. Операция RSA использует один из ключей и может быть отменена с помощью другого ключа.Ключи RSA имеют определенную математическую структуру, позволяющую сделать это возможным; закрытые ключи выбираются первыми, а открытый ключ получается из закрытого ключа. Этот Статья в Википедии хорошо описывает генерацию ключей RSA, но для этого ответа подробности не важны.

Как и AES, RSA сам по себе не используется для шифрования. Он должен использоваться с «схемой заполнения» для шифрования. Даже при этом он довольно медленный и ограничен шифрованием нескольких сотен байтов за раз для практических размеров ключей. RSA чаще используется для создания схемы подписи (опять же со схемой заполнения), хотя иногда он используется для создания механизма обмена ключами для обмена симметричными ключами (например, для использования с AES в режиме работы счетчика Галуа).

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.