covert-encryption / covert-encryption/covert

New Python bindings to Monocypher and use it for EC cryptography

Open
#63 7 comments 0 reactions 0 assignees View on GitHub
needs investigation
Dominant language
Python
Stars
45
Forks
13
PR merge metrics
No merged PRs in 30d

Description

Covert should switch to the [Monocypher library](https://monocypher.org/) for elliptic curve operations because libsodium is lacking much required functionality such as Dirty Elligator 2 (no, despite the name that is not an unclassy movie flick). Currently we have a plain Python implementation for all the algorithms needed but a C library provides better performance and higher security (also better than current libsodium bindings can).

Currently there are two existing bindings which have not been updated since Summer 2020 and which thus lack the features needed:
https://github.com/eugene-eeo/monocypher-py
https://github.com/jetperch/pymonocypher

It should be investigated whether anything can be salvaged of them (Python CFFI has also changed much), and if necessary an all new binding created. Fortunately the library is a simple, single file, plain C implementation, which should make the raw bindings easy. Additional wrappers will be necessary to support good Pythonic style, while still staying close to the original API, so there is still quite a bit of work needed.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.