В моей ситуации у меня есть несколько файлов, которые будут храниться на сервере. Каждый из этих файлов создается приложением C #, которое я пишу.
фон:
Для этого приложения количество времени, необходимое для шифрования, не является важным, файлы имеют тенденцию быть маленькими, и у нас есть много свободных циклов ЦП (клиент является единственным компьютером, который шифрует или дешифрует данные).
Каждый файл не имеет отношения, и мне нужно, чтобы содержание было защищено от слежки системным администратором или любым, кто захватил жесткий диск (предположим, плохой парень)
Насколько я понимаю, RijndaelAlg является надежным алгоритмом для такого рода операций? при условии, что это правильная информация, как правильно использовать функцию RijndaelAlg.CreateEncryptor?
удобство использования, которое я хочу, - чтобы мой пользователь мог ввести пароль, предположим, что пароль является хорошим паролем.
мои вопросы
как лучше всего преобразовать введенную пользователем строку (C # 'string) в байт []? Я предполагаю, что мне нужно хешировать, чтобы обойти проблему наличия нулей на каждом другом символе? Каков наилучший способ сделать это преобразование?
что мне использовать для IV? Насколько я понимаю, это значение должно быть заполнено (даже несмотря на то, что MSDN говорит, что можно пропустить 'null'). что я использую для этого значения? помните, что в моей ситуации у меня есть куча независимых файлов, которые нужно расшифровать независимо.
что, если IV хорошо известен, это проблема? (Могу ли я использовать хэш имени файла, так как это уникальное значение)
Есть ли лучший алгоритм, чем RijndaelAlg, для шифрования множества независимых файлов с использованием одного и того же пароля?