[Mono-list] AES/CFB Stream Cipher Problem
sebastien.pouliot at gmail.com
Thu Jan 3 22:38:55 UTC 2013
There was a bug filled yesterday, #9201 . You might want to c.c.
yourself to it.
FWIW it's not really AES related. MS implementation(s) of CFB are a bit weird.
RijndaelManaged does it differently than others .NET ciphers (which is
what Mono supports), including AesCryptoServiceProvider (even when the
former uses a 128 bits block size).
AesManaged does not even support CFB (even if it was, once upon a
time, documented as a wrapper on top of RijndaelManaged).
On Thu, Jan 3, 2013 at 4:55 PM, Rodrigo Kumpera <kumpera at gmail.com> wrote:
> Please file a bug in bugzilla.xamarin.com with a test case.
> On Tue, Jan 1, 2013 at 11:00 PM, Drew DeVault <sircmpwn at gmail.com> wrote:
>> I'm having an issue with Mono that does not appear on Microsoft.NET,
>> related to AES/CFB encryption with no padding. Firstly, here's my Mono
>> Mono JIT compiler version 184.108.40.206 (Debian 220.127.116.11-1ubuntu2.2)
>> Copyright (C) 2002-2011 Novell, Inc, Xamarin, Inc and Contributors.
>> TLS: __thread
>> SIGSEGV: altstack
>> Notifications: epoll
>> Architecture: amd64
>> Disabled: none
>> Misc: softdebug
>> LLVM: supported, not enabled.
>> GC: Included Boehm (with typed GC and Parallel Mark)
>> Secondly, I would like to find a solution that does indeed work on this
>> version of Mono, because most of my users are on the same version. The
>> problem comes
>> from using a CryptoStream with a RijndaelManaged cipher. I have attached a
>> proof of concept to the email, along with the results of running it on
>> Windows with
>> Microsoft.NET and on Linux Mint 12 with Mono.
>> The AesStream in the example comes from this project:
>> In short, on Microsoft.NET, writing to the CryptoStream does indeed
>> encrypt the data properly, where on Mono, no data is written, and an
>> IndexOutOfBoundsException is thrown when trying to read the encrypted
>> Drew DeVault
>> Mono-list maillist - Mono-list at lists.ximian.com
More information about the Mono-list