Ich muss eine Windows Mobile-Anwendung (WinMo 6.x - C#) erstellen, die zum Verschlüsseln/Entschlüsseln von Dateien verwendet wird. Es ist jedoch meine Aufgabe, den Verschlüsselungsalgorithmus zu schreiben, der AES-128 zusammen mit XTS als Betriebsmodus verwendet. RijndaelManaged reicht einfach nicht aus :( Viel langsamer als DES und 3DES CryptoServiceProviders :O
Ich weiß, dass alles davon abhängt, wie gut ich den Algorithmus auf effiziente Weise schreiben kann. (Und ja, ich muss es von Grund auf selbst schreiben, aber ich kann mir andere Implementierungen ansehen)
Trotzdem, hat das Schreiben einer C++ .NET DLL zur Erstellung des Verschlüsselungs-/Entschlüsselungsalgorithmus + aller Dateiverwaltung und zur Verwendung dessen von C# aus einen signifikanten Leistungsvorteil gegenüber dem Schreiben des Verschlüsselungsalgorithmus + Dateiverwaltung in vollständig verwaltetem C#-Code?
Wenn ich C++ .NET verwende, um den Verschlüsselungsalgorithmus zu erstellen, sollte ich MFC Smart Device DLL oder ATL verwenden? Was ist der Unterschied und hat die Wahl Auswirkungen? Und kann ich einfach einen Verweis auf die C++ DLL von C# aus hinzufügen oder sollte ich P/Invoke verwenden?
Ich bin mit C# ziemlich kompetent als mit C++, aber die Leistung spielt eine wichtige Rolle, da ich meine Dozenten davon überzeugt habe, dass AES ein sehr effizienter kryptografischer Algorithmus für ressourcenbeschränkte Geräte ist.
Danke vielmals :)