https://github.com/jvelilla/wrap_monocypher
Eiffel binding for crypto Monocypher C library.
https://github.com/jvelilla/wrap_monocypher
Last synced: about 1 month ago
JSON representation
Eiffel binding for crypto Monocypher C library.
- Host: GitHub
- URL: https://github.com/jvelilla/wrap_monocypher
- Owner: jvelilla
- License: other
- Created: 2020-07-26T15:52:34.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2020-07-26T16:46:12.000Z (almost 5 years ago)
- Last Synced: 2024-11-19T13:38:18.211Z (7 months ago)
- Language: Eiffel
- Size: 49.8 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
- License: license.lic
Awesome Lists containing this project
- awesome-eiffel - wrap_monocypher - Eiffel binding of Monocypher C API. (Cryptography)
README
# wrap_monocypher
`wrap_monocypher` is an Eiffel binding of Monocypher C API](https://monocypher.org/)
using [WrapC](https://github.com/eiffel-wrap-c/WrapC) tool.`Monocypher` is an easy to use crypto library. It is:
Small. Sloccount counts under 2000 lines of code, small enough to allow audits. The binaries can be under 50KB, small enough for many embedded targets.
Easy to deploy. Just add monocypher.c and monocypher.h to your project. They compile as C99 or C++ and are dedicated to the public domain (CC0-1.0, alternatively 2-clause BSD).
Portable. There are no dependencies, not even on libc.
Honest. The API is small, consistent, and cannot fail on correct input.
Direct. The abstractions are minimal. A developer with experience in applied cryptography can be productive in minutes.## Requirements
* [WrapC](https://github.com/eiffel-wrap-c/WrapC) tool.
* [Mpnocypher C API](https://github.com/LoupVaillant/Monocypher)## Download and Install
Monocypher library is included in wrap_monocypher so you only need to run the install script.### Windows
install.bat
### Linux
./install.sh
## Examples
### How to compile the C library glue code.
Before to use the examples you will need to compile the C glue code, go to
library/generated_wrapper/c/src
and run
finish_freezing --library
It will copy the C lib `eif_monocypher.a` to `$ECF_CONFIG_PATH/C/spec/$(ISE_PLATFORM)/lib/` or `eif_monocypher.lib` to `$ECF_CONFIG_PATH/C/spec/$ISE_C_COMPILER/$ISE_PLATFORM/lib`