hadronzoo / naclj

Clojure library that abstracts libsodium's NaCl primitives (curve25519, ed25519, blake2b, box/unbox, sign/verify, etc.)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

naclj

Clojure library that abstracts libsodium's NaCl primitives (curve25519, ed25519, blake2b, box/unbox, sign/verify, etc.)

Usage

Still under construction... please check back later...

Installation

Requires the C-library libsodium to be installed. On Mac the easiest way to install is probably through brew:

brew install libsodium

History

I was looking for a Clojure library to work with NaCl's primitives. First I found the Clojure library Caesium, which is layered on top of Kalium, which is a Java library layered on top of libsodium. Unfortunately, the development on Caesium seem to have stalled. Then I tried to enhance Caesium, but the underlying Kalium forces you too much in a non-functional, Java-like programming style. Got distracted by the TweetNacl effort in Java - would like to focus on that again once this naclj is stable. Lastly, I used the foreign function interface jnr-ffi definitions from Kalium directly, and started to extend the interfaces defined for libsodium. The end result doesn't use anything from Caesium and Kalium anymore, except for a single java-file that defines the jnr-ffi "glue" between naclj's Clojure and libsodium's C-library.

References

License

Copyright © 2015 Frank Siebenlist.

Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.

About

Clojure library that abstracts libsodium's NaCl primitives (curve25519, ed25519, blake2b, box/unbox, sign/verify, etc.)

License:Eclipse Public License 1.0


Languages

Language:Clojure 88.7%Language:Java 11.3%