Что такое асимметричная криптография

Ответ

Асимметричная криптография (или криптография с открытым ключом) — это метод шифрования, где используются два разных ключа: открытый (public key) для шифрования и закрытый (private key) для расшифровки.

Пример с кодом (Node.js, crypto):

const { generateKeyPairSync, publicEncrypt, privateDecrypt } = require('crypto');

// Генерация пары ключей
const { publicKey, privateKey } = generateKeyPairSync('rsa', {
  modulusLength: 2048,
});

// Шифрование открытым ключом
const message = 'Секретное сообщение';
const encrypted = publicEncrypt(publicKey, Buffer.from(message));

// Расшифровка закрытым ключом
const decrypted = privateDecrypt(privateKey, encrypted);
console.log(decrypted.toString()); // 'Секретное сообщение'

Применение:

  • SSL/TLS (HTTPS)
  • Цифровые подписи
  • Криптовалюты (например, Bitcoin)

Плюсы:

  • Безопасный обмен ключами не требуется
  • Возможность цифровых подписей

Минусы:

  • Медленнее симметричного шифрования
  • Требует больше вычислительных ресурсов