Можно ли расшифровать данные в Silverlight с помощью C ++? - PullRequest
10 голосов
/ 04 февраля 2011

Я смотрю на отправку зашифрованных данных между клиентом Silverlight и сервером с собственным кодом (C ++) с использованием WCF. Я рассматривал использование класса AesManaged для шифрования данных, которые клиент отправляет обратно на сервер, но мне было интересно узнать о расшифровке. Существует предположение, что если класс AesManaged реализован в соответствии со спецификацией AES, он должен быть совместим с любой библиотекой AES C ++, но с учетом опыта «интерпретаций» спецификаций Microsoft (и других поставщиков) ранее я чувствовал, что должен это подтвердить если возможно.

Я планирую создать прототип, но я надеялся получить ответ от кого-то, кто уже имеет опыт в этой области. Использование C ++ / CLI или C # для доступа к классу AesManaged не вариант, так как я имею дело с устаревшим кодом, к которому я добавляю функциональность.

Ответы [ 2 ]

1 голос
/ 04 февраля 2011

Все, что я могу вам сказать, это то, что было хорошо спросить;Я не могу говорить об этом конкретном взаимодействии, но я пытался установить связь с частью устаревшего программного обеспечения, которое использовало более старую собственную реализацию под названием AesLib, и я пытался использовать AesCryptoServiceProvider.Они не будут разговаривать друг с другом, очевидно, потому что AesLib либо использует режим без IV, либо имеет статический или детерминированный IV, который я не могу обнаружить.

Если вы можете получить и сослаться на реализацию AES,нативный сервер использует и реализует оболочку, совместимую с ICryptoServiceProvider, что, вероятно, будет лучшей гарантией того, что ваше сообщение будет получено неповрежденным (хотя это может вызвать его собственные проблемы).В противном случае, я бы удостоверился, что у меня есть вся обнаруживаемая информация об этой реализации, чтобы я мог настроить AesManaged таким же образом.Вам понадобится, по крайней мере, ключ, IV, размер блока и режим.

0 голосов
/ 10 февраля 2011

Я успешно использовал C # AesManaged вместе с PHP-реализацией AES давным-давно (в Silverlight 2 Beta), так что это, безусловно, возможно.

Однако вы можете изучить такие вещи, как IV, paddings, blockРазмеры и режимы тщательно, чтобы убедиться, что настройки для AES совпадают.

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