Изменения документа Криптография
Редактировал(а) Alexandr Fokin 2023/03/20 12:57
От версии 1.24
отредактировано Alexandr Fokin
на 2022/07/01 17:08
на 2022/07/01 17:08
Изменить комментарий:
К данной версии нет комментариев
К версии 1.36
отредактировано Alexandr Fokin
на 2023/01/09 14:35
на 2023/01/09 14:35
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (2 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Родительский документ
-
... ... @@ -1,1 +1,1 @@ 1 - Алгоритмы.Безопасность.WebHome1 +Разработка.Безопасность.WebHome - Содержимое
-
... ... @@ -10,12 +10,12 @@ 10 10 * Алгоритмы шифрования - конкретные реализации алгоритмов для выполнения шифрования. 11 11 ))) 12 12 |(% style="width:390px" %)Хеш, хеширование, алгоритмы хеширования.|(% style="width:1131px" %)((( 13 -В целом немного похоже на шифрование. 14 -Но отличается в том, что шифр предполагает возможность расшифровки, в свою очередь хеширование работает только в одну сторону данные -> хеш. 13 +Шифр предполагает возможность расшифровки, в свою очередь хеширование работает только в одну сторону данные -> хеш. 15 15 При этом восстановление исходных данных на основании хеша не предполагается. 16 16 17 17 Дополнение: обычно размер хеша является константным и не зависит от размера входных данных. 18 18 ))) 18 +|(% style="width:390px" %) |(% style="width:1131px" %) 19 19 20 20 ---- 21 21 ... ... @@ -32,7 +32,8 @@ 32 32 {{/code}} 33 33 )))|(% style="width:745px" %)Обычное, классическое шифрование.|(% style="width:136px" %)DES, TripleDES, 34 34 Rijndael AES, 35 -RC2 35 +RC2, 36 +Blowfish 36 36 |(% style="width:269px" %)((( 37 37 Ассиметричное шифрование. 38 38 ... ... @@ -45,8 +45,11 @@ 45 45 ---- 46 46 47 47 {{code language="c#"}} 48 -EncryptedData Encrypt(data, key1) 49 -Data Decipher(encryptedData, key2) 49 +EncryptedData Encrypt(data, privateKey) 50 +Data DecipherData(encryptedData, publicKey) 51 + 52 +EncryptedData Encrypt(data, publicKey) 53 +Data DecipherData(encryptedData, privateKey) 50 50 {{/code}} 51 51 )))|(% style="width:745px" %)((( 52 52 * Можно выдать клиенту открытый ключ. Клиент зашифрует данные перед передачей нам, прочитать их сможем только мы с помощью закрытого ключа. ... ... @@ -80,7 +80,7 @@ 80 80 |(% style="width:269px" %)((( 81 81 Хеш 82 82 83 -Криптографический хе т(отдельно)87 +Криптографический хеш (отдельно) 84 84 )))|(% style="width:372px" %)((( 85 85 86 86 ... ... @@ -93,9 +93,12 @@ 93 93 Хеш-функция 94 94 [[https:~~/~~/ru.wikipedia.org/wiki/Хеш-функция>>https://ru.wikipedia.org/wiki/Хеш-функция]] 95 95 96 - 97 -)))|(% style="width:136px" %)MD5, 98 -SHA 100 +Криптографическая хеш функция обладает рядом свойств, относительно обычной хеш функции. 101 +)))|(% style="width:136px" %)((( 102 +MD5, 103 +SHA, 104 +bcrypt 105 +))) 99 99 |(% style="width:269px" %)((( 100 100 Хеш с ключом. 101 101 ... ... @@ -126,12 +126,19 @@ 126 126 )))|(% style="width:136px" %)HMAC 127 127 |(% style="width:269px" %)Цифровые подписи|(% style="width:372px" %)((( 128 128 В некотором смысле: Хеш + Ассиметричное шифрование. 136 + 137 +---- 138 + 139 +{{code language="c#"}} 140 +SignedHash SignData(hash, privateKey, hashType) 141 +bool VerifySignedHash(signedHash, calculatedHash, publicKey, hashType) 142 +{{/code}} 129 129 )))|(% style="width:745px" %)((( 130 130 Подтверждение авторства/подлинности контента (эл. письма, программы ...). 131 131 132 132 ---- 133 133 134 -Подписанное сообщение = сообщение + (хеш, зашифрованный на основе приватного ключа) + публичный ключ. 148 +Подписанное сообщение = сообщение + цифровая подпись (хеш, зашифрованный на основе асинхронного шифрования и приватного ключа) + публичный ключ. 135 135 136 136 1. Потребитель проверяет публичный ключ у центра сертификаций. 137 137 1. Потребитель расшифровывает приложенный хеш сообщения с помощью публичного ключа.