Skip to content

MarcosNicolau/almunecar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Almunecar

Warning

This library is a work in progress

Almunecar is a cryptography library written in C, designed with simplicity in mind. It features a simple straightforward codebase and an intuitive API, making it accessible and easy to understand.

The primary goal of this library is not production use, but rather to provide clear and concise implementations of fundamental cryptographic protocols. It's an ideal resource for learning and exploring cryptographic concepts in a practical way.

Libs

Glossary:

  • ✅: Implemented
  • 🚧: WIP
  • 📝: Planned support
Libs Desc Status
primitive-types UINT & U256
math Utils for polynomials and modular math 🚧
hashes SHA-256
rsa RSA implementation 🚧
elliptic-curves ECDSA & BLS12-381 📝
snarks groth & plonk 📝
pcs KZG 📝

Note

This is just an initial roadmap to define the scope of the lib. They are not definitive and may vary in the future as we explore and work.

Installation

To install the library globally in your system run:

make install

To uninstall:

make uninstall

To install the CLI program in your system run:

make cli_install
almunecar --help

To uninstall:

make cli_uninstall

Developers

To start developing, you'll need to compile the libs:

make build

Whenever you make a change on a lib, you'll need to re-build to see its effects.

To build and run the cli program:

make cli_build
./build/almunecar --help

To run tests:

make test

To run test of a specific lib:

make test_<LIB_NAME>

for example:

make test_primitive-types

See all available commands:

make help

References

These are the main resources that guided our learning and implementations:

About

Cryptographic primitives in c

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published