Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR. Learn more →
Constantine Alternatives
Similar projects and alternatives to constantine
-
-
CodeRabbit
CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
-
-
-
-
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
Arraymancer
A fast, ergonomic and portable tensor library in Nim with a deep learning focus for CPU, GPU and embedded devices via OpenMP, Cuda and OpenCL backends
-
-
-
-
mbedTLS
An open source, portable, easy to use, readable and flexible TLS library, and reference implementation of the PSA Cryptography API. Releases are on a varying cadence, typically around 3 - 6 months between releases.
-
-
-
-
nim-stint
Stack-based arbitrary-precision integers - Fast and portable with natural syntax for resource-restricted devices.
-
Practical-Cryptography-for-Developers-Book
Practical Cryptography for Developers: Hashes, MAC, Key Derivation, DHKE, Symmetric and Asymmetric Ciphers, Public Key Cryptosystems, RSA, Elliptic Curves, ECC, secp256k1, ECDH, ECIES, Digital Signatures, ECDSA, EdDSA
-
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
constantine discussion
constantine reviews and mentions
- Constantine: Nim lang high-performance, zero-dependency cryptography stack
-
Constantine: Modular, high-performance, zero-dependency cryptography stack
BLS signatures are general purpose, the only Ethereum specific thing is choosing which elliptic curves are used for public keys and which for signatures as well as a prefix before hashing inputs.
Similarly KZG polynomial commitments are generic, the Ethereum specific thing is the trusted setup ceremony which needs to be specialized per protocol.
The finite field backends and the elliptic curves supported are all generic as well: https://github.com/mratsim/constantine/blob/master/constanti...
-
A beginner's guide to constant-time cryptography (2017)
Percival cache attacks on Hyperthreading.
I go over some examples here: https://github.com/mratsim/constantine/issues/358#issuecomme...
-
D Programming Language
`when myCondition():` instead of `if myCondition:` is done at compile-time.
Alternatively you can use a `static:` code block to force compile time evaluation. Or tag a function {.compileTime.} or tag function inputs with `static` modifier.
It is possible to create a compiler or an assembler running fully in Nim macros as well:
- https://github.com/mratsim/constantine/blob/master/constanti... (all that file runs at compile-time)
You can also implement Continuation-Passing-Style transformation at compile-time:
- Fast constant-time pairing or elliptic curve based cryptography (Nim/C)
-
Matrix Multiplication Using Only Addition
At a glance this sounds like a re-discovery of addition chains and using them to construct Pippenger algorithm. But applied to matrices instead of group elements.
See: https://github.com/mratsim/constantine/issues/37
-
Elliptic Curve Cryptography Explained
I usually explain extension fields as similar to complex numbers with regards to reals.
I've collected a lot of extension fields references while working on my own implementation: https://github.com/mratsim/constantine/tree/master/constanti...
The best likely being
- Arithmetic of Finite Fields
- Constant-Time Big Numbers: An Introduction
-
just a question that has been lingering on my mind
Regarding your first question, you don't need to attack the hard-drive, for non constant-time crypto you can read power consumption or electromagnetic traces when the secret key is used to reconstruct it: - https://github.com/mratsim/constantine/wiki/Constant-time-arithmetics
-
Const [pdf]
Unfortunate name collision with my constant-time pairing-based cryptography library :/.
https://github.com/mratsim/constantine
-
A note from our sponsor - CodeRabbit
coderabbit.ai | 26 Mar 2025
Stats
mratsim/constantine is an open source project licensed under GNU General Public License v3.0 or later which is an OSI approved license.
The primary programming language of constantine is Nim.