/ / Как да направите AES-256 ключ в openssl / OSX - macos, openssl, aes, криптиране-симетрични

Как да направите AES-256 ключ в openssl / OSX - macos, openssl, aes, криптиране-симетрични

Трябва да генерирам ключ и да дам публичния ключ на някого. Казват, че трябва да бъде:

  • AES-256 CBC 128-битов блок.
  • случайна Инициализация Виктор IV от 16b фиксирана дължина.
  • PKCS7Padding

Аз дори не знам дали това са неизпълнение или не, или дори ако питам на точното място. Как мога да направя ключ като този?

Отговори:

1 за отговор № 1

Вашите изисквания не могат да бъдат верни. AES е симетричен алгоритъм, което означава, че и двете страни трябва да имат същото тайна ключ. Ключови двойки се генерират за асиметрично криптиране като RSA.

През повечето време AES и RSA се използват заедноза криптиране. Това се нарича хибридно криптиране: произволен ключ AES се генерира и се използва за криптиране на текста. След това ключът AES е шифрован с публичния ключ RSA (например с подложка OAEP). След това полученият шифрова текст и криптиран ключ се изпращат до другата страна, която може да дешифрира ключ AES, използвайки частния ключ, а след това и шифрова текст с ключа AES.

Ако просто трябва да дадете таен ключ трябва да използвайте сигурен транспорт. Ключ AES може да бъде 256 бита сигурен случайен ключ, от който лесно може да се извлече /dev/urandom, например:

dd bs=1 count=32 if=/dev/urandom of=aes-256-key.bin

за RSA, използвайте openssl командния ред, например.