Рейтинг:2

MS CryptoAPI RC4-1024 против AES-128?

флаг cn

Я пытаюсь выяснить, как MS CryptoAPI генерирует симметричный ключ на одном компьютере, а затем ключ RSA на другом, отправляет этот открытый ключ для использования для экспорта симметричного ключа на этот другой компьютер. Я смотрю на их пример здесь и создается сеансовый (симметричный) ключ RC4 длиной 1024 бита, а затем RSA (AT_KEYEXCHANGE) из 1024 бит. Что тогда заставляет меня задаться вопросом, как RC4-1024 сравнивается с AES-128? Или я ошибаюсь в том, что на самом деле делает этот образец?

Рейтинг:5
флаг in

Получение ключа на основе MD5 и шифрование RC4. Действительно? Пример создан в 2018? Microsoft должно быть стыдно за себя. Я не вижу этот 1024-битный ключ, я вижу 128-битный ключ, созданный на основе вышеупомянутого шифрования MD5 и PKCS#1 RSA. Что касается размера ключа, «Размеры сеансового ключа можно установить при генерации ключа. Размер ключа, представляющий длину модуля ключа в битах, устанавливается старшими 16 битами этого параметра. Таким образом, если Необходимо сгенерировать 128-битный сеансовый ключ RC4, значение 0x00800000 сочетается с любым другим dwFlags предопределенное значение с операцией побитового ИЛИ».

RC4 относительно сломан, так как сгенерированный поток ключей смещен, AES с аппаратным ускорением должен быть более безопасным при правильном использовании. Вы хотите использовать OAEP и режим аутентификации, такой как GCM (но удачи в поиске примера). Ах да, и «каждый из этих CSP имеет 128-битную длину симметричного ключа по умолчанию для RC2 и RC4 и 1024-битную длину ключа по умолчанию для алгоритмов с открытым ключом». Вы должны стремиться как минимум к 2048 битам и, если возможно, к 4096 битам; последний должен дать вам более 128-битную безопасность.

В следующем году все криптовалюте, которую вы видите на этой странице, исполнится 30 лет. Современная криптография существует со времен Шеннона (1949 г.), когда начался большой бум в семидесятых годах, около 50 лет назад. Нет 1024-битного RC4, есть только 128-битный RC4. Ключ RSA слишком мал, используя 1024 бита, и, пожалуйста, даже не думайте копировать этот метод получения ключа для пароля.

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

user3161924 avatar
флаг cn
Ты прав, мне нужно исправить зрение. 0x00800000 видел 0x08000000.
Maarten Bodewes avatar
флаг in
В конце концов, это будет 2048 бит - умножить на 16: P

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

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