Public-Key Crypto
Tip
Ucz się i ćwicz Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się i ćwicz Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Wsparcie dla HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na githubie.
Większość trudnych zadań crypto z CTF kończy się tutaj: RSA, ECC/ECDSA, lattices, i słaba losowość.
Zalecane narzędzia
- SageMath (LLL/lattices, modular arithmetic): https://www.sagemath.org/
- RsaCtfTool (uniwersalne narzędzie): https://github.com/Ganapati/RsaCtfTool
- factordb (szybkie sprawdzenie faktoryzacji): http://factordb.com/
RSA
Rozpocznij tutaj, gdy masz n,e,c i dodatkową wskazówkę (wspólny moduł, niski wykładnik, częściowe bity, powiązane wiadomości).
ECC / ECDSA
Jeśli w grę wchodzą podpisy, najpierw przetestuj problemy z nonce (reuse/bias/leaks) zanim założysz, że to trudna matematyka.
ECDSA nonce reuse / bias
Jeśli dwa podpisy użyją tego samego nonce k, prywatny klucz można odzyskać.
Nawet jeśli k nie jest identyczne, bias/leakage bitów nonce między podpisami może wystarczyć do odzyskania przy użyciu lattices (częsty motyw w CTF).
Techniczne odzyskiwanie, gdy k jest ponownie użyte:
Równania podpisu ECDSA (porządek grupy n):
r = (kG)_x mod ns = k^{-1}(h(m) + r*d) mod n
Jeśli ten sam k jest użyty dla dwóch wiadomości m1, m2 dając podpisy (r, s1) i (r, s2):
k = (h(m1) - h(m2)) * (s1 - s2)^{-1} mod nd = (s1*k - h(m1)) * r^{-1} mod n
Invalid-curve attacks
If a protocol fails to validate that points are on the expected curve (or subgroup), an attacker may force operations in a weak group and recover secrets.
Uwaga techniczna:
- Weryfikuj, że punkty należą do krzywej i do właściwej podgrupy.
- Wiele zadań CTF modeluje to jako “server multiplies attacker-chosen point by secret scalar and returns something.”
Narzędzia
- SageMath do arytmetyki krzywych / lattices
ecdsabiblioteka Python do parsowania/weryfikacji
Tip
Ucz się i ćwicz Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się i ćwicz Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Wsparcie dla HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na githubie.


