Криптография
Шифр, шифрование, алгоритмы шифрования. |
|
Хеш, хеширование, алгоритмы хеширования. | Шифр предполагает возможность расшифровки, в свою очередь хеширование работает только в одну сторону данные -> хеш. Дополнение: обычно размер хеша является константным и не зависит от размера входных данных. |
Категория | Описание | Использование | Алгоритм |
---|---|---|---|
Симметричное шифрование | Используется 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, |
ХешКриптографический хеш (отдельно) |
Hash Hash( data ) | Хеш-функция Криптографическая хеш функция обладает рядом свойств, относительно обычной хеш функции. | MD5, |
Хеш с ключом.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 - Питер Торстейнсон & Гнана Арун Ганеш