Распаковать/декодировать расшифрованные данные, дополненные OAEP ⇐ C#

Место общения программистов C#
Anonymous
Распаковать/декодировать расшифрованные данные, дополненные OAEP

Сообщение Anonymous »

Я расшифровываю массив байтов на смарт-карте и получаю данные обратно со смарт-карты. Эти расшифрованные данные все еще находятся в заполнении OAEP. Есть ли в С# простой способ «распаковать» расшифрованные данные? Алгоритм дайджеста – sha256.
К сожалению, с Bouncy Castle мне не удалось.
Обновление:
Я попробовал два варианта:
  • Я реализовал шифр CustomRSA:

Код: Выделить всё

public class CustomRSA : IAsymmetricBlockCipher
{
public string AlgorithmName
{
get
{
return "CustomRSA";
}
}

public int GetInputBlockSize()
{
throw new NotImplementedException();
}

public int GetOutputBlockSize()
{
return 36;
}

public void Init(bool forEncryption, ICipherParameters parameters)
{

}

public byte[] ProcessBlock(byte[] inBuf, int inOff, int inLen)
{
return inBuf;
}
}
К сожалению, это не работает

Код: Выделить всё

CustomRSA ls = new CustomRSA();
var ba = new OaepEncoding(ls, new Sha256Digest(), new Sha256Digest(), null);
ba.Init(false, null);
return ba.ProcessBlock(paddedData, 0, paddedData.Length);
  • Другая идея заключалась в клонировании класса OAEPEncoding из надувного замка. Здесь я попытался заменить строку в методе DecodeBlock следующим образом:

Код: Выделить всё

byte[] data = engine.ProcessBlock(inBytes, inOff, inLen);
изменено на

Код: Выделить всё

byte[] data = inBytes;
К сожалению, все это тоже не работает


Подробнее здесь: https://stackoverflow.com/questions/791 ... ypted-data

Вернуться в «C#»