Вопрос знатокам криптографии
От: baranovda Российская Империя  
Дата: 10.01.11 21:14
Оценка:
Имеется задача: подписать некий массив ключом при помощи RSA алгоритмом MD5 и потом проверить подпись.
На VB6 использую портированные функции CryptoApi, на .NET — RSACryptoServiceProvider. Нужно добиться того , чтобы валидацию можно было выполнять на обеих платформах.

Пара публичный/приватный ключ, выгруженный на диск при помощи CryptoApi, прекрасно загружается в RSACryptoServiceProvider.

А вот с проверкой подписи начинаются проблемы. Проверка выполняется успешно, если подписывать и проверять подпись на какой-то одной платформе — или VB, или .NET, а вот добиться портируемости не получается — валидация подписи, созданной при помощи CryptoApi, не проходит на .NET и наоборот. Пара ключей при этом используется одна и та же. 128-байтовые подписи одного и того же массива, подписанные одним и тем же ключом, но созданные на разных платформах, различаются.

С чем это может быть связано и от чего танцевать с дебаггером? Использует ли RSACryptoServiceProvider функции CryptoApi или у него своя реализация?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.