Derivarea cheii bazată pe MD5 și criptarea RC4. Într-adevăr? Exemplu creat în 2018? Microsoft ar trebui să-i fie rușine de sine. Nu văd acea cheie de 1024 de biți, văd o cheie de 128 de biți creată din MD5 menționat mai sus și criptarea PKCS#1 RSA. În ceea ce privește dimensiunea cheii „Dimensiunile unei chei de sesiune pot fi setate atunci când cheia este generată. Mărimea cheii, reprezentând lungimea modulului cheii în biți, este setată cu cei 16 biți superiori ai acestui parametru. Astfel, dacă un Cheia de sesiune RC4 pe 128 de biți urmează să fie generată, valoarea 0x00800000
este combinat cu oricare altul dwFlags
valoare predefinită cu o operație OR pe biți."
RC4 este relativ defect, deoarece fluxul de chei generat este părtinitor, AES cu accelerare hardware ar trebui să fie cu ușurință mai sigur dacă este utilizat corect. Doriți să utilizați OAEP și un mod autentificat, cum ar fi GCM (dar noroc în găsirea unui exemplu). Oh, da și „Fiecare dintre aceste CSP-uri are o lungime implicită a cheii simetrice de 128 de biți pentru RC2 și RC4 și o lungime implicită a cheii de 1.024 de biți pentru algoritmii de cheie publică.”. Ar trebui să urmăriți cel puțin 2048 de biți și, dacă este posibil, 4096 de biți; acesta din urmă ar trebui să vă ofere securitate de peste 128 de biți.
Anul urmator toate din cripto-ul pe care îl vedeți pe pagina respectivă va împlini 30 de ani. Crypto-ul modern a existat încă de la Shannon (1949), cu boom-ul inițial în anii șaptezeci, acum aproximativ 50 de ani. Nu există RC4 de 1024 de biți, doar RC4 de 128 de biți. Cheia RSA este prea mică folosind 1024 de biți și vă rugăm să nu vă gândiți nici măcar să copiați acea metodă de derivare a cheii pentru parolă.
Nici codul nu este deloc bine structurat; singurul lucru pe care l-ați putea învăța din el sunt apelurile către biblioteca criptografică și modul în care ați putea cripta în mod incremental fișierul, mai degrabă decât să faceți totul dintr-o singură mișcare.