Встречается на собеседованиях • сегодня

Какие методы шифрования используются в HTTPS

HTTPS использует комбинацию симметричного и асимметричного шифрования для безопасной передачи данных:

  1. Асимметричное шифрование (RSA, ECC) – для аутентификации и обмена ключами. Клиент и сервер обмениваются публичными ключами, чтобы создать общий секретный ключ.
  2. Симметричное шифрование (AES, ChaCha20) – для шифрования данных. После установления соединения используется общий ключ для быстрого и безопасного обмена данными.
  3. Хеширование (SHA-256, SHA-384) – для проверки целостности данных (HMAC).

Пример обмена ключами в TLS (HTTPS):

python
# Упрощенный пример обмена ключами
from cryptography.hazmat.primitives.asymmetric import rsa, padding
from cryptography.hazmat.primitives import serialization, hashes

# Сервер генерирует ключевую пару
private_key = rsa.generate_private_key(public_exponent=65537, key_size=2048)
public_key = private_key.public_key()

# Клиент шифрует симметричный ключ с помощью публичного ключа сервера
symmetric_key = b"supersecretkey123"
encrypted_key = public_key.encrypt(
    symmetric_key,
    padding.OAEP(
        mgf=padding.MGF1(algorithm=hashes.SHA256()),
        algorithm=hashes.SHA256(),
        label=None
    )
)

HTTPS также использует цифровые сертификаты (X.509) для подтверждения подлинности сервера.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы