RePag Cryptography
Das Cryptography-Project ist ein Open-Source-Project. Die Verschlüsselung erfolgt nach dem Advanced Encryption Standard (AES). Die Schlüssellänge beträgt 256bit. Es kommt zusätzlich die Betriebsart Cipher Block Chaining zur Anwendung.

Es werden immer 128bit-Blöcke verschlüsselt. Sollte der letzte Block weniger Nutzdaten enthalten, wird auch ein voller 128bit-Block verschlüsselt. Zusätzlich wird die Original-Byteanzahl in einem Header hinterlegt. Bei Encrypt wird die Originalanzahl am Parameter ulBytes übergeben und die erweiterte Byteanzahl zurück gegeben. Bei Decrypt wird die erweiterte Anzahl am Parameter ulBytes übergeben und die Original-Byteanzahl zurück gegeben. Bei der Verwendung der Funktionen ist zu beachten das die AES Key-Arrays an einer 16bit Speichergrenze ausgerichtet werden müssen. Um Speicher auf dem Stack zu reservieren:

oder um Speicher auf dem Heap anzufordern Wer ganz sicher gehen will sollte am Ende seiner Funktion den Speicher mit Nullen überschreiben.
Für den Stack mit
oder für den Heap mit

Der Vector muss nicht an einer Speichergrenze ausgerichtet werden.