DarkIntegers.jl

A modulo arithmetic toolbox for integers and polynomials
Author nucypher
Popularity
7 Stars
Updated Last
1 Year Ago
Started In
September 2018

Dark Integers

Master branch: CircleCI codecov

DarkIntegers.jl is a lightweight library for working with unsigned integers and polynomials. It includes:

  • Modulo arithmetic for primitive types;
  • Regular and modulo arithmetic for multi-limb (fixed size) unsigned integers;
  • Arithmetic for cyclic and negacyclic polynomials, including Karatsuba multiplication and multiplication via NTT

It is intended as a partial replacement for Nemo.jl, which requires compilation of C libraries, and is often slower (in particular, because DarkIntegers does not need C calls and heap allocations for operations with multi-limb integers).

Note: the library currently does not provide constant-time guarantees for arithmetic operations.

Used By Packages