TLS 1.3 KLIENT S PODPOROU PRE PQ ALGORITMY Originalna verzia klienta od Michaela Scotta: https://github.com/Crypto-TII/TLS1.3 Upravena verzia pre Windows platformu v ramci Diplomovej prace Bc. Jozef Å imko Navod na kompilaciu originalnej verzie: https://git.kemt.fei.tuke.sk/js331zc/MastersThesis/src/branch/master/TIIGER_TLS Prikazy na kompilaciu (Windows): cmake -G "MinGW Makefiles" -DCMAKE_CXX_COMPILER=C:/mingw64/bin/gcc.exe mingw32-make alebo cmake -G "Unix Makefiles" -DCMAKE_CXX_COMPILER=C:/mingw64/bin/gcc.exe make Priklad pouzitia: ./client.exe -r test.openquantumsafe.org:6109 18.04.2024 --------------------------- - pridana RDTSC instrukcia na meranie casu pri overovani podpisu - oprava vypisu povodnej funkcie clock() - vysledok je v sekundach - pridana podmienena kompilacia vo funkcii SAL_initLib() pre spravne skompilovanie kniznice bez PQ nastavenia 11.04.2024 --------------------------- - testovane s OpenSSL nativnym serverom s podporou pre PQ algoritmy (OpenSSL 3.3.0, liboqs 0.10.0, oqsprovider 0.5.3) 29.02.2024 --------------------------- - vymazanie nadbytocnych suborov: blogy, wifi.h, arduino/client.cpp, nevyuzite .xpp subory - uprava CMakelistu: - doplnenie prepinacov pre Windows platformu -lws2_32 - pridany prepinac pre linkovanie .cpp suborov s gcc prekladacom -lstdc++ - pridany prepinac pre linkovanie liboqs kniznice -loqs - odstranenie nepotrebnych podmienok a funkcii tls_octads.h tls_sockets.h tls_logger.cpp tls_octads.cpp tls_sockets.cpp - odstranenie funkcii pre ARDUINO tls_sockets.h - pridana podpora pre Windows tls_x509.h - definovanie novych premennych pouzitych pre PQ algoritmy tls1_3.h - zmenene hodnoty vybranych premennych, prisposobene pre potreby vybranych PQ algoritmov - pridanie ID pre nove PQ algoritmy tls_cacerts.cpp - pridany root CA pre lokalny openssl server - pridany root CA pre test server - https://test.openquantumsafe.org/ tls_cert_chain.cpp - pridane funkcie na overenie podpisu vybranych PQ algoritmov tls_logger.cpp - doplnene vypisy pre PQ algoritmy tls_sal.cpp - pridana kniznica liboqs - modifikacia (pseudo)nahodneho generatora cisel - vymena miracl core funkcie za liboqs funkciu - pridane funkcie pre generovanie sukromneho a verejneho kluca pre KEM protokoly - pridane funkcie na decapsulaciu pre KEM protokoly - pridane funkcii na overenie a podpis novymi PQ algoritmami tls_sockets.cpp - uprava funkcie setsockopt(), aby fungovala aj na Windows platforme tls_x509.cpp - pridane OID pre vybrane PQ algoritmy - pridane funkcie pre ziskanie verejneho a sukromneho kluca z PQ certifikatov TESTOVANIE Prostredie a nastroje: - testovane na Windows 10.0.22631 x64 - cmake 3.28.2 , GNU Make 4.4.1 , gcc version 13.2.0 - sucast WinLibs 13.2.0 - miracl core 4.1 - liboqs 0.9.2 Testy: - testovane s OpenSSL nativnym serverom s podporou pre PQ algoritmy (OpenSSL 3.2.1, oqsprovider 0.5.3) - testovane na test serveroch https://test.openquantumsafe.org/ - vysledky testov v prilozenom subore OQS_TEST_results.txt