Friday, June 21, 2024

Project Wycheproof – Test crypto libraries against known attacks

Google announced Project Wycheproof – Test crypto libraries against known attacks, it is created and kept up by individuals from Google Security Team, however, it is not an official Google product.

Project Wycheproof incorporates more than 80 test cases, and Google says they have effectively revealed more than 40 security bugs.For instance, Project Wycheproof could recover the private key of broadly utilized DSA and ECDHC implementations. The list of bugs is accessible here.

Google depend on third party cryptographic programming libraries. Tragically, in cryptography, inconspicuous mix-ups can have cataclysmic outcomes, and they found that libraries fall into such usage pitfalls much again and again and for a really long time.

These perceptions have pushed Google to create Project Wycheproof, a gathering of unit tests that recognize known weakness or check for expected practices of some cryptographic algorithms.

Google Motivation for this project

In cryptography, subtle mistakes can have catastrophic consequences, and we found that libraries fall into such implementation pitfalls much too often and for much too long. Good implementation guidelines, however, are hard to come by understanding how to implement cryptography securely requires digesting decades’ worth of academic literature. We recognize that software engineers fix and prevent bugs with unit testing, and we found that cryptographic loopholes can be resolved by the same means.


Project Wycheproof has tests for the most famous crypto algorithms, including

The tests detect whether a library is vulnerable to many attacks, including

  • Invalid curve attacks
  • Biased nonces in digital signature schemes
  • Of course, all Bleichenbacher’s attacks
  • And much more — we have over 80 test cases


  • Install Bazel.
  • Install Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files: this empowers tests with substantial key sizes. Else you’ll see a considerable measure of “illegal key size” exemptions.
  • Check out the tests
git clone
  • To test most recent stable rendition of Bouncy Castle
bazel test BouncyCastleAllTests
  • To test different versions, e.g., v1.52
bazel test BouncyCastleAllTests_1_52
  • To test every single known variant
bazel test BouncyCastleAllTests_*
  • To test a local jar, set the WYCHEPROOF_BOUNCYCASTLE_JAR environment variable:
$ WYCHEPROOF_BOUNCYCASTLE_JAR=/path/to/bouncycastle
$ bazel test BouncyCastleTestLocal
$ bazel test BouncyCastleAllTestsLocal

Note: bazel does not currently invalidate the expand on environment changes. On the off chance that you change the WYCHEPROOF_BOUNCYCASTLE_JAR environment variable, run bazel clean to force a rebuild:

$ WYCHEPROOF_BOUNCYCASTLE_JAR=/path/to/bouncycastle
$ bazel test BouncyCastleTestLocal
$ bazel clean
$ bazel test BouncyCastleTestLocal
  • To test Spongy Castle, supplant BouncyCastle with SpongyCastle in your commands, for instance
bazel test SpongyCastleAllTests
  • To test your present establishment of OpenJDK:
bazel test OpenJDKAllTests

Take note of that OpenJDKAllTests expects that OpenJDK is your default JDK, so it may decline to run or its outcomes may be off base in the event that you are utilizing some other JDK.

Likewise Also read: Evolution of TLS1.3

On the off chance that you downloaded your JDK from Oracle or, you’re likely utilizing Oracle JDK, which to be good with OpenJDK, in this way the tests should run accurately.

A few tests set a very long time to wrap up. In the event that you need to avoid them, utilize BouncyCastleTest, SpongyCastleTest or OpenJDKTest – these objectives bar every single moderate test (which are commented on with @SlowTest).

Most test targets are fizzling, and every failure may be a security issue.


Latest articles

PrestaShop Website Under Injection Attack Via Facebook Module

A critical vulnerability has been discovered in the "Facebook" module (pkfacebook) from for...

Beware Of Illegal OTT Platforms That Exposes Sensitive Personal Information

A recent rise in data breaches from illegal Chinese OTT platforms exposes that user...

Beware Of Zergeca Botnet with Advanced Scanning & Persistence Features

A new botnet named Zergeca has emerged, showcasing advanced capabilities that set it apart...

Mailcow Mail Server Vulnerability Let Attackers Execute Remote Code

Two critical vulnerabilities (CVE-2024-31204 and CVE-2024-30270) affecting Mailcow versions before 2024-04 allow attackers to...

Hackers Attacking Vaults, Buckets, And Secrets To Steal Data

Hackers target vaults, buckets, and secrets to access some of the most classified and...

Hackers Weaponizing Windows Shortcut Files for Phishing

LNK files, a shortcut file type in Windows OS, provide easy access to programs,...

New Highly Evasive SquidLoader Attacking Employees Mimic As Word Document

Researchers discovered a new malware loader named SquidLoader targeting Chinese organizations, which arrives as...
Guru baran
Guru baran
Gurubaran is a co-founder of Cyber Security News and GBHackers On Security. He has 10+ years of experience as a Security Consultant, Editor, and Analyst in cybersecurity, technology, and communications.

Free Webinar

API Vulnerability Scanning

71% of the internet traffic comes from APIs so APIs have become soft targets for hackers.Securing APIs is a simple workflow provided you find API specific vulnerabilities and protect them.In the upcoming webinar, join Vivek Gopalan, VP of Products at Indusface as he takes you through the fundamentals of API vulnerability scanning..
Key takeaways include:

  • Scan API endpoints for OWASP API Top 10 vulnerabilities
  • Perform API penetration testing for business logic vulnerabilities
  • Prioritize the most critical vulnerabilities with AcuRisQ
  • Workflow automation for this entire process

Related Articles