2024-04-15 09:53:30 +00:00
|
|
|
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):
|
2024-04-19 12:16:07 +00:00
|
|
|
cmake -G "MinGW Makefiles" -DCMAKE_CXX_COMPILER=C:/mingw64/bin/gcc.exe
|
2024-04-15 09:53:30 +00:00
|
|
|
mingw32-make
|
|
|
|
|
2024-04-19 12:16:07 +00:00
|
|
|
alebo
|
2024-04-15 10:18:26 +00:00
|
|
|
|
2024-04-19 12:16:07 +00:00
|
|
|
cmake -G "Unix Makefiles" -DCMAKE_CXX_COMPILER=C:/mingw64/bin/gcc.exe
|
2024-04-15 10:18:26 +00:00
|
|
|
make
|
|
|
|
|
2024-04-15 09:53:30 +00:00
|
|
|
Priklad pouzitia:
|
|
|
|
./client.exe -r test.openquantumsafe.org:6109
|
|
|
|
|
2024-04-19 12:16:07 +00:00
|
|
|
18.04.2024
|
2024-04-15 10:18:26 +00:00
|
|
|
---------------------------
|
2024-04-19 12:16:07 +00:00
|
|
|
- pridana RDTSC instrukcia na meranie casu pri overovani podpisu
|
|
|
|
- oprava vypisu povodnej funkcie clock() - vysledok je v sekundach
|
2024-04-19 18:43:32 +00:00
|
|
|
- pridana podmienka vo funkcii SAL_initLib() pre spravne
|
2024-04-19 12:16:07 +00:00
|
|
|
skompilovanie kniznice bez PQ nastavenia
|
2024-04-15 10:18:26 +00:00
|
|
|
|
2024-04-15 09:53:30 +00:00
|
|
|
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)
|
2024-04-19 12:16:07 +00:00
|
|
|
|
2024-04-15 09:53:30 +00:00
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|