Skip to content
OnlyF0uRPublic

About

Post-Quantum Cryptography for Zig.

Topics

Resources

Stars

4 stars

Watchers

1 watching

Forks

Repository files navigation

pqc-zig

Zig bindings to the PQClean C implementations of cryptographic algorithms proposed during the NIST Post-Quantum Cryptography Competition. Additionally, there are light abstractions for convenient use present in the crypto.zig files.

Requirements

  • Make
  • GCC
  • Zig 0.15+

Supported schemes (KEM, and signature)

  • hqc-128 (Clean)
  • hqc-192 (Clean)
  • hqc-256 (Clean)
  • ml-kem-1024 (Clean, AVX2, AARCH64)
  • ml-kem-512 (Clean, AVX2, AARCH64)
  • ml-kem-768 (Clean, AVX2, AARCH64)
  • falcon-1024 (Clean, AVX2, AARCH64)
  • falcon-512 (Clean, AVX2, AARCH64)
  • falcon-padded-1024 (Clean, AVX2, AARCH64)
  • falcon-padded-512 (Clean, AVX2, AARCH64)
  • ml-dsa-44 (Clean, AVX2, AARCH64)
  • ml-dsa-65 (Clean, AVX2, AARCH64)
  • ml-dsa-87 (Clean, AVX2, AARCH64)
  • sphincs-sha2-128s-simple (Clean, AVX2)
  • sphincs-sha2-192f-simple (Clean, AVX2)
  • sphincs-sha2-192s-simple (Clean, AVX2)
  • sphincs-sha2-256f-simple (Clean, AVX2)
  • sphincs-sha2-256s-simple (Clean, AVX2)
  • sphincs-shake-128f-simple (Clean, AVX2, AARCH64)
  • sphincs-shake-128s-simple (Clean, AVX2, AARCH64)
  • sphincs-shake-192f-simple (Clean, AVX2, AARCH64)
  • sphincs-shake-192s-simple (Clean, AVX2, AARCH64)
  • sphincs-shake-256f-simple (Clean, AVX2, AARCH64)
  • sphincs-shake-256s-simple (Clean, AVX2, AARCH64)

Tests

While more rigorous testing is to be implemented, you can run tests by navigating to the desired module and using:

zig build test

About

Post-Quantum Cryptography for Zig.

Topics

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages