Skip to content
Java implementation of hybrid certificates using BouncyCastle
Java TeX
Branch: master
Clone or download
Latest commit 37e96cd Aug 10, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
gradle/wrapper Move to public repository Jul 5, 2019
libs Move to public repository Jul 5, 2019
paper fixed typo Aug 10, 2019
src Added @throws-annotations for javadoc Aug 9, 2019
.gitignore Added @throws-annotations for javadoc Aug 9, 2019
LICENSE Move to public repository Jul 5, 2019 updated readme Jul 10, 2019
build.gradle Move to public repository Jul 5, 2019
gradlew Move to public repository Jul 5, 2019
gradlew.bat Move to public repository Jul 5, 2019

X.509 compliant hybrid certificates

Large quantum computers could break almost all public-key algorithms currently used, e.g., RSA and elliptic curve cryptography. As the construction of large quantum computers is approaching, it is important to begin the transition to post-quantum cryptography today, to ensure uninterrupted cryptographic security.

With this project we provide an X.509 standard compliant Java implementation of hybrid certificates, which enable the parallel usage of two independent cryptographic schemes within public key infrastructures and related applications. This enables a stepwise transition to post-quantum secure and hybrid algorithms.

The target audience of this software are cryptographers as well as IT security experts and practitioners aiming at a smooth and secure transition to post-quantum cryptography at an early stage. Hybrid certificates support first uses and experiments with post-quantum secure and hybrid algorithms in (parts of) real-life applications and systems without the risk of incompatibility problems due to unforeseen dependencies.

Further reading and alternative implementation


A local gradle wrapper is provided and supports the following tasks:

  • gradlew jar packages the library into a .jar file which can be added to another project. You also need to add the two .jar files in the libs/ directory to this project.
  • gradlew javadoc creates the JavaDoc for the library
  • gradlew test runs the tests

Example usage

Unit tests showing multiple usage examples can be found in src/test/java.

API documentation

The API documentation is provided as Javadoc.

You can use gradle to generate the HTML Javadoc files: gradlew javadoc

Community guidelines

If you want to contribute, report issues or have questions you can use the issue tracker of this repository. Alternatively please contact Johannes Braun (

You can’t perform that action at this time.