I need to create an application for Windows Mobile (WinMo 6.x - C #), which is used to encrypt / decrypt files. However, I must write an encryption algorithm, which is AES-128 along with XTS as the operating mode. RijndaelManaged just doesn't cut it :( Very slower than DES and 3DES CryptoServiceProviders: O
I know that it all depends on how good I am in writing the algorithm in the most efficient way. (And yes, I myself must write this from scratch, but I can take a look at other implementations)
However, writing a C ++. NET DLL to create an encryption / decryption algorithm + all file processing and using it with C # have a significant performance advantage. OVER writing an encryption algorithm + file processing in fully managed C # code?
If I use C ++. NET to create an encryption algorithm, should I use the MFC Smart Device DLL or ATL? What is the difference and is there any influence on what I choose? And can I just add a link to the C ++ DLL from C # or use P / Invoke?
I'm pretty competent with C # than C ++, but performance plays an important role since I convinced my teachers that AES is a very efficient cryptographic algorithm for devices with limited resources.
Thanx a bunch :)