Этот вопрос проверяет знание основного механизма для проверки подлинности электронных данных.
Цифровая подпись — это математический метод проверки подлинности и целостности электронных сообщений, документов или программного обеспечения. Она используется для предотвращения подделки данных и подтверждения их источника.
1. Что такое цифровая подпись?
Это электронный эквивалент рукописной подписи, обеспечивающий подлинность данных.
Работает на основе криптографии с открытым и закрытым ключом.
2. Как работает:
Отправитель использует закрытый ключ для создания подписи (хэширование данных).
Получатель использует открытый ключ для проверки подписи.
Если данные были изменены, подпись становится недействительной.
3. Применение:
Подтверждение отправителя (аутентификация).
Защита данных от изменения (целостность).
Пример: подписанные электронные документы или защищённые транзакции.
Пример кода (Python):
from cryptography.hazmat.primitives import hashes
from cryptography.hazmat.primitives.asymmetric import padding, rsa
# Генерация ключей
private_key = rsa.generate_private_key(public_exponent=65537, key_size=2048)
public_key = private_key.public_key()
# Создание подписи
message = b"Secure Message"
signature = private_key.sign(message, padding.PSS(mgf=padding.MGF1(hashes.SHA256()), salt_length=padding.PSS.MAX_LENGTH), hashes.SHA256())
# Проверка подписи
try:
public_key.verify(signature, message, padding.PSS(mgf=padding.MGF1(hashes.SHA256()), salt_length=padding.PSS.MAX_LENGTH), hashes.SHA256())
print("Подпись валидна")
except Exception:
print("Подпись недействительна")Цифровые подписи — это надёжный способ проверки подлинности и защиты данных в цифровом мире.