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

Python Middle Без компании
Что такое асимметричная криптография
Ответы
Асимметричная криптография (или криптография с открытым ключом) — это метод шифрования, где используются два разных ключа: открытый (public key) для шифрования и закрытый (private key) для расшифровки. Это позволяет безопасно обмениваться данными без необходимости предварительно передавать секретный ключ. **Пример с RSA (Python):** ``` from cryptography.hazmat.primitives.asymmetric import rsa, padding from cryptography.hazmat.primitives import hashes # Генерация ключей private_key = rsa.generate_private_key(public_exponent=65537, key_size=2048) public_key = private_key.public_key() # Шифрование message = b"Secret message" ciphertext = public_key.encrypt( message, padding.OAEP( mgf=padding.MGF1(algorithm=hashes.SHA256()), algorithm=hashes.SHA256(), label=None ) ) # Расшифровка plaintext = private_key.decrypt( ciphertext, padding.OAEP( mgf=padding.MGF1(algorithm=hashes.SHA256()), algorithm=hashes.SHA256(), label=None ) ) print(plaintext) # b'Secret message' ``` **Применение:** SSL/TLS, цифровые подписи, PGP. Главное преимущество — безопасная передача данных без обмена секретными ключами. Недостаток — более медленная работа по сравнению с симметричным шифрованием.