Изменения документа Криптография
Редактировал(а) Alexandr Fokin 2023/03/20 12:57
От версии 1.31
отредактировано Alexandr Fokin
на 2022/07/11 16:05
на 2022/07/11 16:05
Изменить комментарий:
Updated parent field.
К версии 1.16
отредактировано Alexandr Fokin
на 2022/07/01 15:51
на 2022/07/01 15:51
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (2 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Родительский документ
-
... ... @@ -1,1 +1,1 @@ 1 - xwiki:Алгоритмы.Другое.Безопасность.WebHome1 +Алгоритмы.Безопасность.WebHome - Содержимое
-
... ... @@ -15,6 +15,8 @@ 15 15 При этом восстановление исходных данных на основании хеша не предполагается. 16 16 17 17 Дополнение: обычно размер хеша является константным и не зависит от размера входных данных. 18 + 19 + 18 18 ))) 19 19 20 20 ---- ... ... @@ -31,7 +31,7 @@ 31 31 Data Decipher(encryptedData, key) 32 32 {{/code}} 33 33 )))|(% style="width:745px" %)Обычное, классическое шифрование.|(% style="width:136px" %)DES, TripleDES, 34 -Rijndael AES,36 +Rijndael, 35 35 RC2 36 36 |(% style="width:269px" %)((( 37 37 Ассиметричное шифрование. ... ... @@ -40,53 +40,18 @@ 40 40 )))|(% style="width:372px" %)((( 41 41 Используется 2 ключа (открытый и закрытый), таким образом, что информация, зашифрованная одним из ключей, может быть расшифрована только с помощью второго. 42 42 43 -Обычно уступают в скорости и криптостойкости симметричным алгоритмам. 44 - 45 ----- 46 - 47 -{{code language="c#"}} 48 -EncryptedData Encrypt(data, privateKey) 49 -Data DecipherData(encryptedData, publicKey) 50 - 51 -EncryptedData Encrypt(data, publicKey) 52 -Data DecipherData(encryptedData, privateKey) 53 -{{/code}} 45 +Обычно уступают в скорости симметричным алгоритмам (из расчета шифрования одного и того-же объема данных) 54 54 )))|(% style="width:745px" %)((( 47 +* Задача установки защищенного соединения между 2 сторонами, при условии, что существует третья сторона, которая может перехватывать все сообщения. (Но даже в случае перехвата сообщений установки соединения 3 сторона не сможет расшифровать последующие зашифрованные сообщения). 55 55 * Можно выдать клиенту открытый ключ. Клиент зашифрует данные перед передачей нам, прочитать их сможем только мы с помощью закрытого ключа. 56 -* Можно зашифровать некоторые данные закрытым ключом, выдуть клиентам публичный ключ для доступа только на чтение. 57 - 58 -Понятие односторонняя функция с черным ходом. 59 - 60 ----- 61 - 62 -Необходимо наличие доверенного центра сертификаций. 63 -Центр выполняет роль хранилища открытых ключей в привязке к конкретному лицу. 64 - 65 -Центр может сгенерировать цифровой сертификат, содержащий открытый ключ клиента, и подписанный собственным закрытым ключом центра. 66 -)))|(% style="width:136px" %)RSA, 67 -ElGamal 68 -|(% style="width:269px" %)Криптографический протокол|(% style="width:372px" %)Некоторое соглашение о формате, обмена данных между сторонами. Может включать в себя совокупность разных алгоритмов шифрования.|(% style="width:745px" %)((( 69 -Установление шифрованной сессии между двумя сторонами: 70 - 71 -1. Стороны используют ассиметричное шифрования для обмена ключами симметричного шифрования 72 -1. Ключи симметричного шифрования используются в рамках сессии для шифрования сообщений 73 - 74 ----- 75 - 49 +)))|(% style="width:136px" %)RSA 50 +|(% style="width:269px" %)Цифровые подписи|(% style="width:372px" %) |(% style="width:745px" %)Подтверждение авторства/подлинности контента (эл. письма, программы ...)|(% style="width:136px" %) 51 +|(% style="width:269px" %)Криптографический протокол|(% style="width:372px" %)Некоторое соглашение о формате, обмена данных между сторонами. Может включать в себя совокупность разных алгоритмов шифрования.|(% style="width:745px" %)Алгоритм ассиметричного шифрования может использоваться как механизм установления криптографической сессии. 52 +В рамках установления сессии стороны используют ассиметричное шифрования для обмена ключами симметричного шифрования. 53 +Ключи симметричного шифрования используются в рамках сессии для шифрования сообщений.|(% style="width:136px" %) 54 +|(% style="width:269px" %)Хеш|(% style="width:372px" %)((( 76 76 77 -)))|(% style="width:136px" %)((( 78 -SSL, 79 -IPSEC, 80 -S/MIME, 81 -PGP 82 -))) 83 -|(% style="width:269px" %)((( 84 -Хеш 85 85 86 -Криптографический хет (отдельно) 87 -)))|(% style="width:372px" %)((( 88 - 89 - 90 90 ---- 91 91 92 92 {{code language="c#"}} ... ... @@ -127,29 +127,5 @@ 127 127 128 128 Возможные проблемы: общий ключ несет за собой такой момент, что получатель самостоятельно может формировать сообщения по той-же логике и в некоторых случаях потделывать исходного отправителя. 129 129 )))|(% style="width:136px" %)HMAC 130 -|(% style="width:269px" %)Цифровые подписи|(% style="width:372px" %)((( 131 -В некотором смысле: Хеш + Ассиметричное шифрование. 132 132 133 ----- 134 - 135 -{{code language="c#"}} 136 -SignedHash SignData(hash, privateKey, hashType) 137 -bool VerifySignedHash(signedHash, calculatedHash, publicKey, hashType) 138 -{{/code}} 139 -)))|(% style="width:745px" %)((( 140 -Подтверждение авторства/подлинности контента (эл. письма, программы ...). 141 - 142 ----- 143 - 144 -Подписанное сообщение = сообщение + цифровая подпись (хеш, зашифрованный на основе асинхронного шифрования и приватного ключа) + публичный ключ. 145 - 146 -1. Потребитель проверяет публичный ключ у центра сертификаций. 147 -1. Потребитель расшифровывает приложенный хеш сообщения с помощью публичного ключа. 148 -1. Потребитель самостоятельно рассчитывает хеш сообщения. 149 -1. Потребитель сравнивает приложенный и рассчитанный хеши. 150 150 151 -)))|(% style="width:136px" %)RSA, 152 -DSA, 153 -ElGamal 154 - 155 -