constantine
constantine copied to clipboard
Constantine: modular, high-performance, zero-dependency cryptography stack for proof systems and blockchain protocols.
Constantine does not use `seq` to ensure it does not depend on Nim runtime and to allow end user to pick their allocator of choice, for example jemalloc for long-running...
Currently the IPA implementation is single-threaded. Even on the size 256 domain, there is almost a 6x performance improvement to get on my 8 cores CPU 
## Overview This is a followup to #236 and #354. For Ethereum Verkle tries, we will likely deserialize a massive number of elliptic curve points, especially during sync. Subgroup checks...
Modern polynomial IOPs (Interactive Oracle Proofs) try to commit to only small values. This is especially important for proving hash functions implemented via a bit-based approach (for xor/shift/rotate/...) vs lookup...
Followup to #414 There are 3 ways to optimize MSM for the Bander curves 1. MSM for Bandersnatch and Banderwagon does not use endomorphism acceleration. This is because their endomorphism...
Added C bindings for verkle-ipa.
This extends the existing `add`, `mul`, `sub` operations on finite fields on the Nvidia target by `ccopy`, `neg`, `cneg`, `nsqr`. For `nsqr` we have two different implementations for now. 1....
After updating Nim from version 2.0.8 to 2.2.0, a compilation error appeared in Constantine 0.1.0: D:\nim\choosenim>choosenim.exe 2.2.0 Info: C:\Users\kornw\.choosenim\downloads\dlls.zip already downloaded Extracting dlls.zip Switched to Nim 2.2.0 D:\az\prg\nim\constantine_issue>nim c test_chacha20.nim...
The nightly currently running in CI is 9d65507d202afcfdf9421fc1e2c9cba3325059ba and crashes with `Error: unhandled exception: int128.nim(69, 11) `arg.sdata(3) == 0` out of range [AssertionDefect]` The latest Nim commit in `devel` doesn't...
This issue replaces #92 with a more concrete plan of action The current Constantine has good foundations to build and test LLVM IR primitives for x86, ARM, Nvidia, AMDGPU and...