Potrzebuję wykonać proste jednoblokowe szyfrowanie/odszyfrowywanie AES w mojej aplikacji Qt/C++. Jest to implementacja "keep the honest people honest", więc wystarczy podstawowy encrypt(key, data)
- nie martwię się wektorami inicjalizującymi, itd. Moje wejście i klucz zawsze będą dokładnie 16 bajtami.Proste szyfrowanie AES przy użyciu WinAPI
Byłbym naprawdę jak uniknąć innej zależności od kompilacji/link/statek z moją aplikacją, więc próbuję użyć tego, co jest dostępne na każdej platformie. W komputerach Mac był to jednolinijkowy numer CCCrypt
. W systemie Windows gubię się w API od WinCrypt.h
. Ich przykład szyfrowania pliku ma prawie 600 linii. Poważnie?
Patrzę na CryptEncrypt
, ale spadam z króliczej dziury zależności, które musisz utworzyć, zanim będziesz mógł to nazwać.
Czy każdy może podać prosty przykład wykonania szyfrowania AES przy użyciu interfejsu API systemu Windows? Z pewnością istnieje sposób, aby to zrobić w linii lub dwóch. Załóżmy, że masz już 128-bitowy klucz i 128-bitowe dane do zaszyfrowania.
Nie mogę podać prostego przykładu WinApi (ponieważ może nie istnieć, jak zauważyłeś), ale czy zaglądasz do OpenSSL? Używałem go w kilku projektach i jest to całkiem proste. Wiem, że nie chcesz dodawać kolejnej zależności, ale może to być prostsze rozwiązanie. – JoeFish