Какое самое сильное шифрование доступно в .Net 3.5? - PullRequest
5 голосов
/ 26 июня 2009

Я храню файлы на S3 и хочу максимально зашифровать данные. Я использую библиотеку ThreeSharp S3, и она использует DESCryptoServiceProvider для шифрования данных. Насколько надежен DESCryptoServiceProvider по сравнению с другим шифрованием, доступным в .Net?

Я также видел такие сервисы, как Mozy.com, которые используют 448-битное шифрование Blowfish. Я провел некоторое исследование и нашел несколько бесплатных библиотек, которые предлагают Blowfish. Но ничего, что объясняет, почему Blowfish лучше, чем то, что предоставляет .Net.

Мне нужно знать, какое самое надежное шифрование возможно в .Net 3.5. Я также хотел бы получить какие-либо предложения по другим библиотекам, которые могут отсутствовать в .Net, которые предлагают более высокое шифрование.

Ответы [ 6 ]

17 голосов
/ 26 июня 2009

DES устарел. Его 56-битный ключ в основном может быть подстроен вычислительной мощностью ноутбука за считанные часы. Лучшее симметричное ключевое шифрование, которое поставляется с .Net из коробки - это AES 256 (http://msdn.microsoft.com/en-us/library/system.security.cryptography.aescryptoserviceprovider.aspx).). Сравнение Blowfish и AES (он же Rijndael) выходит за рамки этого обсуждения, но AES - это принятый стандарт NIST и путь в обозримом будущем. Подробнее см. http://en.wikipedia.org/wiki/Advanced_Encryption_Standard.

4 голосов
/ 26 июня 2009

DES небезопасен. Используйте AES . AES одобрен АНБ для всех своих сверхсекретных операций.

3 голосов
/ 26 июня 2009

DES является номинально 64-битным, но фактически 56-битным шифрованием, из-за использования битов четности в ключе. Тем не менее, это старый федеральный стандарт, который, несмотря на его возраст, никогда не нарушался, кроме как грубой силой. Как правило, вы должны придерживаться стандартизированных алгоритмов шифрования для обеспечения совместимости, а также потому, что, если бы они подвергались более тщательному анализу, чем другие, они, вероятно, уже были бы. Таким образом, для надежного шифрования, предоставляемого .NET, лучше всего использовать 3DES (168-битная эффективная) или AES (до 256-битная) - последняя реализована под своим первоначальным именем Rijndael, так как .NET впервые опубликовала это библиотека до официального завершения процесса отбора AES.

При шифровании вам нужно достаточно сильное шифрование, а не самое сильное из доступных. Любой из этих способов поможет, если вы не пытаетесь защитить информацию от людей с таким же уровнем ресурсов, как у АНБ ...

2 голосов
/ 26 июня 2009

Использовать 256-битный ключ System.Security.Cryptography.RijndaelManaged. Ничто не сломает это, и если бы произошла криптографическая революция, которая могла бы внезапно сломить это, вероятно, есть более важные цели, чем защищаемые данные; банки, международные корпорации, правительства.

2 голосов
/ 26 июня 2009

Я говорю очень давно (VB6 дней), но я использовал некоторые модули, которые работали с PGP из VB, это работало превосходно, и учитывая репутацию PGP, я бы сделал, если бы у меня был выбор (то есть модули/ новые библиотеки .net все еще существуют), выберите его из любого шифрования Builtin CLR по соображениям безопасности.

Хотя если в последнее время нет библиотек .net для PGP, то 256-битный AES, вероятно, является лучшим выбором.

РЕДАКТИРОВАТЬ: Что-то, вероятно, стоит отметить с AES, это то, что АНБ требует, чтобы все новые алгоритмы шифрования содержали систему доступа к секретным данным, чтобы они могли использовать их с зашифрованными данными, если им требуется доступ (зашифрованные данные террористов и т. Д.).(оригинальный автор PGP) в упор отказался сделать это.Хотя я понятия не имею, какие алгоритмы шифрования содержат заднюю дверь (AES был введен в .Net задолго до того, как этот аргумент имел место, поэтому существует большая вероятность, что у него есть задняя дверь), можно с уверенностью сказать, что PGP этого не делает!

http://www.philzimmermann.com/EN/faq/faq.html

Цитата с какого-то сайта по безопасности

"Фил Циммерманн, антиправительственный создатель PGP, говорит, что копии его программного обеспечения для шифрования, которые были проданы до осени 2001 года, когда он покинул NAI, он твердый, но будущие версии могут быть испорчены "

Так что, может быть, он не подходит для последних версий, но я рад использовать версию до 2001 года (7.0.3это последняя версия, за которую Циммерман ручается): -)

EDIT2: http://www.codeproject.com/KB/security/gnupgdotnet.aspx похоже, это может помочь.

HTH

OneSHOT

0 голосов
/ 26 июня 2009

Blowfish - более старый шифр, чем Rijndael. Blowfish достаточно стар, чтобы его можно было глубоко изучить, и на него не было эффективных атак, поэтому он, вероятно, достаточно безопасен.

Тем не менее, ребята, которые разработали Blowfish, не рекомендуют использовать его больше. Так как я не гуру кирптографии, я бы предпочел их мнение по этому вопросу. Вместо этого они рекомендуют преемника Blowfish Twofish, который был одним из финалистов AES.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...