Κρυπτογραφία Δημόσιου Κλειδιού
Tip
Μάθετε & εξασκηθείτε στο AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
Τα περισσότερα δύσκολα CTF crypto καταλήγουν εδώ: RSA, ECC/ECDSA, lattices, και κακή τυχαιότητα.
Προτεινόμενα εργαλεία
- SageMath (LLL/lattices, modular arithmetic): https://www.sagemath.org/
- RsaCtfTool (πολυεργαλείο): https://github.com/Ganapati/RsaCtfTool
- factordb (γρήγοροι έλεγχοι παραγοντοποίησης): http://factordb.com/
RSA
Ξεκινήστε εδώ όταν έχετε n,e,c και κάποια επιπλέον υπόδειξη (shared modulus, low exponent, partial bits, related messages).
ECC / ECDSA
Εάν υπάρχουν υπογραφές, ελέγξτε πρώτα προβλήματα με nonce (reuse/bias/leaks) πριν υποθέσετε ότι πρόκειται για δύσκολα μαθηματικά.
ECDSA nonce reuse / bias
Αν δύο υπογραφές επαναχρησιμοποιήσουν το ίδιο nonce k, το ιδιωτικό κλειδί μπορεί να ανακτηθεί.
Ακόμα κι αν το k δεν είναι ίδιο, bias/leakage των bit του nonce μεταξύ υπογραφών μπορεί να είναι αρκετό για ανάκτηση με χρήση lattices (συνηθισμένο θέμα σε CTF).
Τεχνική ανάκτησης όταν το k επαναχρησιμοποιείται:
ECDSA signature equations (group order n):
r = (kG)_x mod ns = k^{-1}(h(m) + r*d) mod n
Αν το ίδιο k επαναχρησιμοποιηθεί για δύο μηνύματα m1, m2 που παράγουν υπογραφές (r, s1) και (r, s2):
k = (h(m1) - h(m2)) * (s1 - s2)^{-1} mod nd = (s1*k - h(m1)) * r^{-1} mod n
Invalid-curve attacks
Αν ένα πρωτόκολλο δεν επαληθεύει ότι τα σημεία βρίσκονται στην αναμενόμενη καμπύλη (ή στην σωστή υπο-ομάδα), ένας επιτιθέμενος μπορεί να αναγκάσει λειτουργίες σε μια αδύναμη ομάδα και να ανακτήσει μυστικά.
Τεχνική σημείωση:
- Επαληθεύστε ότι τα σημεία βρίσκονται πάνω στην καμπύλη και στην σωστή υπο-ομάδα.
- Πολλές εργασίες CTF το μοντελοποιούν ως “server multiplies attacker-chosen point by secret scalar and returns something.”
Tooling
- SageMath για αριθμητική καμπύλης / lattices
ecdsaPython library για ανάλυση/επικύρωση
Tip
Μάθετε & εξασκηθείτε στο AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.


