Sobes.tech
Back to questions
Junior
138

Приведите пример асимметричного шифрования.

Answer from AI

sobes.tech AI

Асимметричное шифрование использует пару ключей: публичный и приватный. Примером является алгоритм RSA. Публичный ключ используется для шифрования данных, а приватный — для их расшифровки. Это позволяет безопасно обмениваться информацией без предварительного обмена секретным ключом.

Пример использования RSA на Python с библиотекой cryptography:

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"Секретное сообщение"

# Шифрование с помощью публичного ключа
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.decode())  # Выведет: Секретное сообщение