Skip to content
This repository has been archived by the owner on Apr 21, 2019. It is now read-only.
/ cryptopals-go Public archive

Go solutions to the Matasano Crypto Challenges

License

Notifications You must be signed in to change notification settings

Metalnem/cryptopals-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Matasano Crypto Challenges Build Status Go Report Card license

Go solutions to the Matasano Crypto Challenges (http://cryptopals.com/). Solutions to the previous challenges are written in Erlang and can be found here.

  1. Break an MD4 keyed MAC using length extension (problem, solution, test)
  2. Implement and break HMAC-SHA1 with an artificial timing leak (problem, solution, test)
  3. Break HMAC-SHA1 with a slightly less artificial timing leak (problem, solution, test)
  1. Implement Diffie-Hellman (problem, solution, test)
  2. Implement a MITM key-fixing attack on Diffie-Hellman with parameter injection (problem, solution, test)
  3. Implement DH with negotiated groups, and break with malicious "g" parameters (problem, solution, test)
  4. Implement Secure Remote Password (SRP) (problem, solution, test)
  5. Break SRP with a zero key (problem, solution, test)
  6. Offline dictionary attack on simplified SRP (problem, solution, test)
  7. Implement RSA (problem, solution, test)
  8. Implement an E=3 RSA Broadcast attack (problem, solution, test)
  1. Implement unpadded message recovery oracle (problem, solution, test)
  2. Bleichenbacher's e=3 RSA Attack (problem, solution, test)
  3. DSA key recovery from nonce (problem, solution, test)
  4. DSA nonce recovery from repeated nonce (problem, solution, test)
  5. DSA parameter tampering (problem, solution, test)
  6. RSA parity oracle (problem, solution, test)
  7. Bleichenbacher's PKCS 1.5 Padding Oracle (Simple Case) (problem, solution, test)
  8. Bleichenbacher's PKCS 1.5 Padding Oracle (Complete Case) (problem, solution, test)
  1. CBC-MAC Message Forgery (problem, solution, test)
  2. Hashing with CBC-MAC (problem, solution, test)
  3. Compression Ratio Side-Channel Attacks (problem, solution, test)
  1. Diffie-Hellman Revisited: Small Subgroup Confinement (problem)
  2. Pollard's Method for Catching Kangaroos (problem)
  3. Elliptic Curve Diffie-Hellman and Invalid-Curve Attacks (problem)
  4. Single-Coordinate Ladders and Insecure Twists (problem)
  5. Duplicate-Signature Key Selection in ECDSA (and RSA) (problem)
  6. Key-Recovery Attacks on ECDSA with Biased Nonces (problem)
  7. Key-Recovery Attacks on GCM with Repeated Nonces (problem)
  8. Key-Recovery Attacks on GCM with a Truncated MAC (problem)
  9. Truncated-MAC GCM Revisited: Improving the Key-Recovery Attack via Ciphertext Length Extension (problem)
  10. Exploiting Implementation Errors in Diffie-Hellman (problem)

Useful links

  1. Bleichenbacher's RSA signature forgery based on implementation error (challenge 42)
  2. The Debian PGP disaster that almost was (challenge 43)
  3. DSA requirements for random k value (challenge 44)
  4. Chosen Ciphertext Attacks Against Protocols Based on the RSA Encryption Standard PKCS #1 (challenges 47 and 48)
  5. Why I hate CBC-MAC (challenge 49)
  6. The CRIME attack (challenge 51)

About

Go solutions to the Matasano Crypto Challenges

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages