[Mono-list] AES/CFB Stream Cipher Problem

Sebastien Pouliot sebastien.pouliot at gmail.com
Thu Jan 3 22:38:55 UTC 2013

Hello Drew,

There was a bug filled yesterday, #9201 [1]. 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).


[1] https://bugzilla.xamarin.com/show_bug.cgi?id=9201

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
>> version:
>> Mono JIT compiler version (Debian
>> Copyright (C) 2002-2011 Novell, Inc, Xamarin, Inc and Contributors.
>> www.mono-project.com
>>         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:
>> https://github.com/SirCmpwn/Craft.Net/blob/master/Craft.Net/AesStream.cs
>> 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
>> data.
>> Drew DeVault
>> _______________________________________________
>> Mono-list maillist  -  Mono-list at lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-list

More information about the Mono-list mailing list