C ++ .NET DLL vs C # Managed Code? (AES-128 + XTS file encryption)

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 :)

+3
2

"" ++ # VB, IL.

, ++ #, p/invoke, ( ) , , p/invoke .

, , , .

+1

, JIT, , , .
, , , , .NET, CIL JIT.
++, , .

P/Invoke , .

, , , () . . (CLR JIT - .)

: JIT CLR . JIT- , , JIT .

+2

Source: https://habr.com/ru/post/1746572/


All Articles