Безопасность - Криптография

Page / - Изменено Alexandr Fokin в 2023/03/20 12:57

Криптография

Изменено Alexandr Fokin

в 2023/03/20 12:57

Оглавление

Шифр, шифрование, алгоритмы шифрования.	Шифр - данные над которыми было произведено шифрование, результат. Шифрование - процесс, получающий на вход некие данные и ключ и возвращающий в результате шифр. Данные - Шифрование -> Шифр Расшифровка - процесс, обратный шифрованию, принимающий на вход шифр и ключ и возвращающий данные. Шифр - Расшифровка -> Данные Алгоритмы шифрования - конкретные реализации алгоритмов для выполнения шифрования.
Хеш, хеширование, алгоритмы хеширования.	Шифр предполагает возможность расшифровки, в свою очередь хеширование работает только в одну сторону данные -> хеш. При этом восстановление исходных данных на основании хеша не предполагается. Дополнение: обычно размер хеша является константным и не зависит от размера входных данных.

Категория	Описание	Использование	Алгоритм
Симметричное шифрование	Используется 1 общий ключ для шифрования и расшифровки. EncryptedData Encrypt( data, key ) Data Decipher( encryptedData, key )	Обычное, классическое шифрование.	DES, TripleDES, Rijndael AES, RC2, Blowfish
Ассиметричное шифрование. Шифрование с открытым ключом.	Используется 2 ключа (открытый и закрытый), таким образом, что информация, зашифрованная одним из ключей, может быть расшифрована только с помощью второго. Обычно уступают в скорости и криптостойкости симметричным алгоритмам. EncryptedData Encrypt( data, privateKey ) Data DecipherData( encryptedData, publicKey ) EncryptedData Encrypt( data, publicKey ) Data DecipherData( encryptedData, privateKey )	Можно выдать клиенту открытый ключ. Клиент зашифрует данные перед передачей нам, прочитать их сможем только мы с помощью закрытого ключа. Можно зашифровать некоторые данные закрытым ключом, выдать клиентам публичный ключ для доступа только на чтение. Понятие односторонняя функция с черным ходом. Необходимо наличие доверенного центра сертификаций. Центр выполняет роль хранилища открытых ключей в привязке к конкретному лицу. Центр может сгенерировать цифровой сертификат, содержащий открытый ключ клиента, и подписанный собственным закрытым ключом центра.	RSA, ElGamal
Криптографический протокол	Некоторое соглашение о формате, обмена данных между сторонами. Может включать в себя совокупность разных алгоритмов шифрования.	Установление шифрованной сессии между двумя сторонами: Стороны используют ассиметричное шифрования для обмена ключами симметричного шифрования Ключи симметричного шифрования используются в рамках сессии для шифрования сообщений	SSL, IPSEC, S/MIME, PGP
Хеш Криптографический хеш (отдельно)	Hash Hash( data )	Хеш-функция https://ru.wikipedia.org/wiki/Хеш-функция Криптографическая хеш функция обладает рядом свойств, относительно обычной хеш функции.	MD5, SHA, bcrypt
Хеш с ключом. MAC (Message authentication code) Имитовставка (Имитозащитная вставка)	В некотором смысле: Хеш + Симметричное шифрование. Используется 1 общий ключ для хеширования. В криптографии, один из механизмов проверки целостности информации, позволяющий гарантировать то, что данные не были изменены. Hash Hash( data, key )	Отправитель и получатель договариваются об общем ключе. Отправитель создает сообщение, создание хеш с ключем на основе сообщения и общего ключа. Отправитель отправляет получателю данные сообщения и хеша. Получатель со своей стороны также рассчитывает хеш с ключем на основе полученного тексте и общего ключа. Получатель сравнивает рассчитанный и полученный хеши. Получатель проверяет целостность сообщения, а также отправителя. Возможные проблемы: общий ключ несет за собой такой момент, что получатель самостоятельно может формировать сообщения по той-же логике и в некоторых случаях потделывать исходного отправителя.	HMAC
Цифровая подпись	В некотором смысле: Хеш + Ассиметричное шифрование. SignedHash SignData( hash, privateKey, hashType ) bool VerifySignedHash( signedHash, calculatedHash, publicKey, hashType )	Подтверждение авторства/подлинности контента (эл. письма, программы ...). Подписанное сообщение = сообщение + цифровая подпись (хеш, зашифрованный на основе асинхронного шифрования и приватного ключа) + публичный ключ. Потребитель проверяет публичный ключ у центра сертификаций. Потребитель расшифровывает приложенный хеш сообщения с помощью публичного ключа. Потребитель самостоятельно рассчитывает хеш сообщения. Потребитель сравнивает приложенный и рассчитанный хеши.	RSA, DSA, ElGamal

Внутренние ссылки:

Дочерние страницы:

Обратные ссылки:

No back links for this page!

Криптография и безопасность в технологии NET - Питер Торстейнсон & Гнана Арун Ганеш