Что такое асимметричная криптография
Асимметричная криптография (или криптография с открытым ключом) — это метод шифрования, где используются два разных ключа: открытый (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. Главное преимущество — безопасная передача данных без обмена секретными ключами. Недостаток — более медленная работа по сравнению с симметричным шифрованием.
офферы быстрее!
Следующий вопрос
Это единственный вопрос по вашему фильтру