Rijndael File Chunk Encryption? - PullRequest
       0

Rijndael File Chunk Encryption?

1 голос
/ 21 июля 2010

Я пишу класс C #, который читает файл и шифрует его с использованием алгоритма Rijndael.

При тестировании с файлом размером 600 МБ я получаю исключение OutOfMemoryException, поэтому планируется читать файл небольшими порциями по 10 МБ каждый.Теперь проблема заключается в том, что процесс дешифрования завершается неудачно для файла, байты которого были зашифрованы как небольшие фрагменты.

У меня вопрос, поддерживает ли шифрование Rijndael шифрование небольших порций данных?

Ответы [ 2 ]

2 голосов
/ 21 июля 2010

Да, это так, и вы должны использовать класс CryptoStream .

1 голос
/ 21 июля 2010

Rinjadel - это блочная система шифрования, поэтому в любом случае она обрабатывает только небольшие куски данных - 128 бит за раз. Вы можете использовать выход блока как вход для следующего блока.

Я думаю, может быть, проблема в вашей реализации, а не в методе шифрования.

Поможет размещение кода.

Как правило, ваша имплентация должна быть:

while (read 128bits from input)
{
   transform
   write 128 bits to output
}

if encrypting  
  write number of bits remaining
  read remaining data
  pad to 128 bits
  transform
  write 128 bits
else
  read number of bits left
  read 128 bits
  transform
  write number of bits left bits
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...