Небезопасно ли передавать вектор инициализации и соль вместе с зашифрованным текстом?

I ' Я новичок в реализации шифрования и, кажется, все еще изучаю основы.

Мне нужны возможности симметричного шифрования в моей базе кода с открытым исходным кодом. Эта система состоит из трех компонентов:

  • Сервер, на котором хранятся некоторые пользовательские данные и информация о том, зашифрованы они или нет, и как
  • AC # клиент, который позволяет пользователю зашифровать свои данные с помощью простого пароля при отправке к серверу и расшифровать с тем же паролем при получении
  • Клиент JavaScript, который делает то же самое и, следовательно, должен быть совместим с методом шифрования клиента C #

Глядя на различные библиотеки JavaScript, я наткнулся на SJCL, который имеет прекрасная демонстрационная страница здесь: http://bitwiseshiftleft.github.com/sjcl/demo/

Судя по всему, клиенту необходимо знать (помимо используемого пароля), чтобы расшифровать зашифрованный текст. :

  • Вектор инициализации
  • Любая соль, используемая в пароле
  • Размер ключа
  • Сила аутентификации (я не совсем уверен, что это такое)

Относительно безопасно ли хранить все эти данные с зашифрованным текстом? Имейте в виду, что это база кода с открытым исходным кодом, и я не могу разумно скрыть эти переменные, если я не попрошу пользователя запомнить их (да, верно).

Любые советы приветствуются.

16
задан Sandy 3 October 2010 в 12:22
поделиться