Я не читал стандарт ISO 9796-2 (и не буду платить за его чтение ;-), но:
RSACryptoServiceProvider
поддерживает только PKCS # 1 (1.5) и заполнение OAEP.
DSACryptoServiceProvider
поддерживает только то, что определено в FIPS 186.
Технически вы можете предоставить свой собственный класс-заполнитель в .NET, так как он разработан для расширения.
К сожалению (то есть в реальности) RSACryptoServiceProvider
не позволяет вам сделать real EncryptValue
(или DecryptValue
), поэтому вам нужна другая реализация RSA (например, используйте управляемую из Mono) .