.NET Encryption / Decryption только с общей ключевой фразой - PullRequest
1 голос
/ 28 марта 2011

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

Когда я больше копался в классах .NET для шифрования (AES - это то, что я хотел использовать), стало очевидно, что это было сложнее, чем я изначально.Из ограниченного количества, которое я понимаю, похоже, что согласования общей ключевой фразы недостаточно.И соль, и вектор инициализации должны быть общими для шифрования и дешифрования.

Я что-то упустил?Есть ли способ зашифровать текст, который я хочу (используя .NET), и кто-то еще сможет расшифровать сообщение, используя только общую ключевую фразу?

Я также не могу зависеть от того, кто расшифровывает сообщение, используя.СЕТЬ.Поэтому я искал стандартный метод шифрования.

1 Ответ

1 голос
/ 28 марта 2011

Для безопасного шифрования на основе пароля вам необходим для каждого сообщения соль и вектор инициализации, которые известны обеим сторонам.

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

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

Что касается стандартного метода, вы можете использовать PBES2 из RFC2898 .

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