Uwusignatures CTF Challenge Solution
Challenge Overview
Initial Analysis
Code Analysis
class Uwu:
def __init__(self, keylen):
self.p = getPrime(keylen)
self.g = getRandomRange(1, self.p)
self.x = getRandomRange(2, self.p) # private key
self.y = pow(self.g, self.x, self.p) # public key
self.k = getRandomRange(1, self.p)
while GCD(self.k, self.p - 1) != 1:
self.k = getRandomRange(1, self.p)
print(f"{self.p :} {self.g :} {self.y :}")
print(f"k: {self.k}") # 🚨 CRITICAL VULNERABILITY!Signature Scheme Details
The Vulnerability: K-Reuse Attack
Exploitation Strategy
Step 1: Gather Information
Step 2: Obtain Known Signatures
Step 3: Recover Private Key
Step 4: Forge Target Signature
Step 5: Submit and Get Flag
Flag
Key Takeaways
Last updated