Следуя за this question, я хотел бы знать, что такое ключ RSA, и как я буду создавать и использовать его на C#.Как шифровать/расшифровывать строку?
ответ
От Wikipedia:
В криптографии RSA (который выступает за Rivest, Шамира и Адлеманом кто первым публично описал его, см ниже) представляет собой алгоритм для криптографии с открытым ключом. Это первый алгоритм, который, как известно, подходит для подписи, а также шифрования и является одним из первых достижений в криптографии с открытым ключом. RSA широко используется в протоколах электронной торговли, и считается, что он безопасен, учитывая достаточно длинные ключи и использование современных реализаций.
Вы изучали класс RSACryptoServiceProvider? .NET делает это проще для большинства приложений.
Я умоляю вас прочитать эти сообщения в блоге до внедрения шифрования http://www.codinghorror.com/ блог/архивы/001267.html и http://www.codinghorror.com/blog/archives/001275.html –
Существует два типа шифрования: симметричное и асимметричное.
Симметричный криптографический ключ использует один ключ, который совместно используется между отправителем и получателем.
Асимметричная криптография, также известный как шифрование с открытым ключом, использует два ключа (а пара ключей), один из которых (ключ частного) держится в секрете, а другой (ключ общественного) предоставляются для всех остальных. Отправитель использует открытый ключ приемника для шифрования данных, а получатель использует свой закрытый ключ для его расшифровки.
RSA - асимметричная криптографическая схема с открытым ключом.
AES - симметричная криптограмма.
Гибридные схемы объединяют оба параметра, так что данные шифруются с использованием симметричного шифрования, но сами ключи шифрования шифруются, сохраняются и обмениваются с использованием асимметричного шифрования.
Итак, вам нужно выяснить, как вы собираетесь управлять ключами шифрования. Если вы разрабатываете систему, которая должна только шифровать вещи (например, SSN или пароли), чтобы сохранить их в базе данных, а затем позже расшифровать их, когда им нужно их использовать, то симметричный криптограф подходит. Если вы намерены передавать зашифрованную информацию в разных системах, то асимметричный (или гибридный) криптограф является подходящим.
- 1. Как преобразовать строку [] в строку?
- 2. Как преобразовать строку в строку?
- 3. Как преобразовать строку в строку [] []
- 4. Как разделить строку на строку []?
- 5. Как извлечь строку или строку?
- 6. Как отобразить «\ ,, /» как строку
- 7. Как добавить новую строку под строку font.DrawText?
- 8. Как написать строку и строку int?
- 9. Как сделать строку замены в urlencoded строку
- 10. Как преобразовать строку java в строку javascript?
- 11. Как заменить строку на другую строку?
- 12. JAVA добавить строку и вернуться как строку?
- 13. Как добавить строку во вторую строку?
- 14. Как заменить строку регулярного выражения на строку?
- 15. Как добавить новую строку в строку bash?
- 16. Как заменить строку на другую строку индексом?
- 17. Как преобразовать строку в символ (в строку)
- 18. Как заменить определенную строку на другую строку?
- 19. Как добавить строку в Numpy строку ndarray
- 20. Как добавить строку прерывания в строку AS2
- 21. Как разбить строку и извлечь нужную строку?
- 22. Как добавить отформатированную строку в существующую строку?
- 23. Как заменить строку на строку неизвестной длины?
- 24. SQL Как преобразовать десятичную строку в строку
- 25. Как заменить всю строку, содержащую строку?
- 26. Как изменить строку в форматированную строку?
- 27. Как преобразовать строку DateTime в строку формата
- 28. Как преобразовать текстовую строку в шестнадцатеричную строку?
- 29. Как преобразовать строку шестнадцатеричных значений в строку?
- 30. Как преобразовать векторную строку в простую строку
Коэффициенты хороши, что вы задаете неправильный вопрос. Поиск правильного алгоритма криптографии и его применение тривиальны. Решение проблемы управления ключами - нет. Вопрос, который вы должны задать, - «вот подробная модель угрозы моего приложения, вот угрозы, которые потенциально могут быть смягчены криптографией. Как я могу безопасно управлять ключами, чтобы фактически смягчить реальные угрозы?» –
Помните, что цель криптографического алгоритма состоит в том, чтобы использовать защиту небольшого, бессмысленного ключа в безопасности большого количества значимых данных. Это обязательно влечет за собой решение проблемы безопасного управления ключом! Это тяжелая часть. –
http://stackoverflow.com/questions/10168240/encrypting-decrypting-a-string-in-c-sharp – marbel82