Ik heb een probleempje met de Microsoft CryptoApi en hoop dat jullie mij verder kunnen helpen.
Voor een project moet ik binnen Windows bestanden versleutelen. Dit lukt met behulp van de Cryptoapi en als test met 3Des. Echter bij grote bestanden duurt het erg lang, wat begrijpelijk is. Men wil nu graag bestanden deels encrypten (partial encryption) echter weet ik niet hoe ik dit op de juiste wijze implementeer.
Mijn probleem is: ik lees x bytes vanaf het begin van een bestand, versleutel dit en schrijf het terug. Echter als ik als test 16 bytes inlees dan komt er een padding overheen en overschrijf ik dus valide bytes in mijn testbestand.
Nu kwam ik voor AES een CTS en OFB modus tegen waarbij de plaintext en ciphertext exact even lang zijn bij encryptie. Echter de cryptoapi geeft geen ondersteuning voor OFB en bij CTS krijg ik een error GetLastError geeft -2146893819.
Iemand die mij de juiste richting op kan sturen zodat ik partial encryption werkend kan krijgen?
Voor een project moet ik binnen Windows bestanden versleutelen. Dit lukt met behulp van de Cryptoapi en als test met 3Des. Echter bij grote bestanden duurt het erg lang, wat begrijpelijk is. Men wil nu graag bestanden deels encrypten (partial encryption) echter weet ik niet hoe ik dit op de juiste wijze implementeer.
Mijn probleem is: ik lees x bytes vanaf het begin van een bestand, versleutel dit en schrijf het terug. Echter als ik als test 16 bytes inlees dan komt er een padding overheen en overschrijf ik dus valide bytes in mijn testbestand.
Nu kwam ik voor AES een CTS en OFB modus tegen waarbij de plaintext en ciphertext exact even lang zijn bij encryptie. Echter de cryptoapi geeft geen ondersteuning voor OFB en bij CTS krijg ik een error GetLastError geeft -2146893819.
code:
1
2
3
4
5
6
| DWORD dwMode = CRYPT_MODE_CTS; if(!CryptSetKeyParam(hKey, KP_MODE, (PBYTE)&dwMode, 0)) { printf("Error %x during CryptSetKeyParam!\n", GetLastError()); goto Cleanup; } |
Iemand die mij de juiste richting op kan sturen zodat ik partial encryption werkend kan krijgen?
This signature has been taken down by the Dutch police in the course of an international lawenforcement operation.