Привет всем Мне нужно зашифровать текст, какое лучшее шифрование использовать программно?
В общем, у меня есть файл ввода со строкой, который мне нужно зашифровать, а затем прочитать файл в приложении
Расшифруйте его для потока приложения.
с C++Какое самое сильное шифрование для защиты текста?
ответ
Самое сильное шифрование - использовать one-time pad (например, с XOR). Алгоритм одноразовой прокладки (в отличие от большинства других часто используемых алгоритмов), при условии правильного использования, является безопасным.
Одна серьезная проблема с этим алгоритмом заключается в том, что распределение одноразовой прокладки должно выполняться надежно, и это часто непрактично. Если бы можно было надежно надевать один временной блок, тогда, как правило, также можно было бы безопасно отправлять сообщение с использованием того же канала.
В ситуациях, когда невозможно безопасно отправлять информацию по другому каналу, используется public key cryptography. Как правило, сила этих алгоритмов возрастает по мере увеличения длины ключа, если в алгоритме не обнаружена критическая слабость. RSA - широко используемый алгоритм открытого ключа.
Чтобы получить надежное шифрование с использованием криптографии с открытым ключом, ключи имеют тенденцию быть большими (тысячи бит не редкость), и алгоритмы медленно вычисляются. Альтернативой является использование вместо symmetric key algorithm. Они могут часто получать одинаковое шифрование по силе с более короткими ключами и могут быть быстрее для шифрования и дешифрования. Подобно одноразовым прокладкам, это также связано с проблемой распределения ключей, но на этот раз ключ очень короткий, поэтому более вероятно, что вы сможете безопасно его перенести. Примером обычно используемого алгоритма симметричных ключей является AES.
+1 для одноразовой прокладки. – Skarab
Это не единственный алгоритм, который безопасен, далек от него. Фактически, ссылка Wikipedia относится к классу «безопасных» алгоритмов Shannon, которые одинаково сильны. Тривиально, так как «OTP (текст, ключ)» отлично защищен, «OTP (OTP (текст, ключ1), key2)» также. – MSalters
@MSalters: Спасибо за комментарий. Я обновил свой ответ. –
Одноразовый блок является самым сильным, но, вероятно, вы ищете sth, который вы можете легко использовать в своем приложении. Проверьте эту страницу, чтобы узнать о силе алгоритмов - http://security.resist.ca/crypt.shtml, и здесь у вас есть библиотека C++: crypto ++ (ссылка указывает на сравнительный тест, сравнивающий производительность разных алгоритмов) http://www.cryptopp.com/benchmarks.html.
Ответ зависит от того, что вы подразумеваете под «сильным шифрованием».
Когда криптографам говорить о сильных режимах шифрования, они обычно ожидают, что он имеет по крайней мере два свойства:
- конфиденциальность: Т.е. невозможно получить какую-либо информацию об открытом тексте с учетом зашифрованного текста (за исключением, возможно, длины открытого текста).
- целостность: не должно быть возможным, чтобы противник изменял зашифрованный текст, без получателя сообщения, замечающего модификацию.
Когда криптографы называют криптосистемы «доказуемо безопасными при некотором допущении», то они, как правило, означают, что криптосистема защищена от выбранных атак шифротекста, если только предположения (не, например, не существует эффективного алгоритма для некоторой хорошо известной проблемы) не удовлетворены ,
В частности, некоторые другие ответы утверждают, что одноразовая панель является наиболее безопасным алгоритмом. Однако одноразовая панель не обеспечивает целостности. Без какой-либо модификации легко модифицировать зашифрованный текст, без которого приемник замечает модификацию. Это означает, что одноразовая панель удовлетворяет довольно слабой концепции безопасности, называемой «совершенной секретностью». То естьв настоящее время совершенно неверно называть одноразовый блок «доказуемо безопасным», не говоря уже о том, что это относится только к модели безопасности, которая не включает целостность сообщения.
Чтобы выбрать сильный режим шифрования, вы также можете посмотреть на практический аспект. Например, сколько криптоанализа перешло в режим шифрования или насколько хорошо анализируется криптографическая библиотека, которая реализует алгоритм. Имея это в виду, выбирая известную криптографическую библиотеку, правильно шифруя с помощью AES, аутентификация с помощью HMAC будет близка к оптимальной.
- 1. Какое самое сильное шифрование доступно в .Net 3.5
- 2. Сильное шифрование, сделанное вручную
- 3. Какое шифрование?
- 4. Сильное шифрование SQL Server 2005-2008
- 5. Какое шифрование использует MVC4?
- 6. Какое шифрование это?
- 7. Какое шифрование мне нужно?
- 8. Какое шифрование находится здесь?
- 9. Какое шифрование это?
- 10. Какое самое связующее место для использования регистратора?
- 11. Какое самое раннее время для запуска MachineFunctionPass?
- 12. Какое самое точное представление времени для «DateUTC»?
- 13. Какое шифрование используется для шифрования пароля
- 14. Какое самое компактное представление последовательности?
- 15. Какое самое впечатляющее приложение Lisp?
- 16. Какое шифрование пароля используется Jenkins?
- 17. Какое шифрование AES я использую?
- 18. Шифрование URL-адреса и сервера защиты
- 19. Какое шифрование пароля используется Hudson?
- 20. HTTPS на iPhone - Какое шифрование?
- 21. CSS для защиты перекрытия текста с изображением
- 22. Какое безопасное шифрование я могу использовать для входа пользователя в мою программу?
- 23. как активировать шифрование содержимого для защиты данных в папке
- 24. J2ME шифрование текста - javax.crypto.IllegalBlockSizeException
- 25. Какое у вас самое большое улучшение индексации?
- 26. Какое crm самое лучшее и низкое обслуживание?
- 27. Какое самое длинное регулярное выражение вы видели
- 28. Какое самое постоянное хранилище данных HTML5?
- 29. Какое самое простое решение для получения цифрового изображения текста на изображении?
- 30. Какое самое лучшее решение для того, чтобы размеры текста были совместимы со всеми экранами?
Лучшее в каком смысле? Каждый алгоритм имеет компромиссы, которые необходимо учитывать при выборе. –
@Ignacio: «Что такое шифрование __strongest__ [...]?» – sbi
Каковы компромиссы, которые необходимо учитывать при выборе? – user63898