# Dark Integers

`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.