Что такое подпись в криптографии

Python Senior Без компании
Что такое подпись в криптографии
Ответы
Подпись в криптографии — это цифровой аналог рукописной подписи, используемый для подтверждения подлинности и целостности данных. Она создается с помощью закрытого ключа и может быть проверена соответствующим открытым ключом. Основные свойства: - **Аутентичность** — подтверждает автора сообщения - **Целостность** — гарантирует, что данные не изменены - **Неотрекаемость** — автор не может отрицать подписание Пример с использованием RSA в 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"Important 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: print("Подпись недействительна") ```