Шифрование .NET: Зашифровано ли содержимое сложнее / иначе с использованием RSA поверх AES?

#.net #encryption #rsa #aes

#.net #шифрование #rsa #aes

Вопрос:

Я шифрую строку «usingAES» с помощью AES 256 и удаляю файл ключа. Затем я шифрую другую строку «usingRSA», используя 4096 бит RSA с 256-битным блочным шифром AES, и удаляю файл закрытого ключа.

Учитывая эти две зашифрованные строки, кому-то сложнее взломать шифрование строки «usingRSA», чем взломать зашифрованную строку «usingAES»?

Другими словами — помогает ли шифрование RSA ключа блочного шифрования вообще защитить строку? Или эта часть интересна только по причинам общедоступности / приватности / обмена данными?


Werner

Ответ №1:

  • Расшифровать usingRSA строку не сложнее. В обоих случаях открытый текст был зашифрован с использованием AES256 (единственное место, где RSA фактически используется, — это шифрование ключа, который использовался для операции AES).

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

  • AES256 достаточно безопасен сам по себе. Если вы обеспокоены тем, что он недостаточно надежен (и вы знаете достаточно о криптографии, чтобы это беспокойство было обоснованным), то вашим противником является NSA (и они совершили несколько крипто-прорывов, о которых никто не знает).

Комментарии:

1. Это было то, что я думал; просто нужно было некоторое подтверждение по этому вопросу. Спасибо Дэмиену.

Ответ №2:

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

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

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

Комментарии:

1. PS: Я бы подумал, что они достаточно хорошо понимают любой стандарт шифрования, который рекомендует АНБ, включая надежность ключа. Все измерения надежности шифрования основаны на вычислениях на оборудовании общего назначения…

2. Просто для пояснения: я читал, что RSA считается безопасным в будущем при использовании 4096-битного шифрования. Но также и то, что AES считается безопасным, используя только 256 бит. И причина этого в том, что вычисления, необходимые для взлома RSA, проще (на основе простых чисел), чем вычисления, необходимые для взлома AES?

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