Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Clojure
  3. caesium

caesium

EPL-1.0Clojure

A modern cryptography library for Clojure providing direct bindings to libsodium/NaCl.

GitHubGitHub
183 stars28 forks0 contributors

What is caesium?

caesium is a cryptography library for Clojure that provides direct bindings to libsodium, a modern and secure cryptographic library. It enables Clojure developers to perform encryption, decryption, password hashing, and other cryptographic operations with the same security guarantees as libsodium. The library focuses on exposing libsodium's APIs faithfully while allowing fine-grained control over memory and security.

Target Audience

Clojure developers who need secure cryptographic operations in their applications, particularly those who require low-level control and compatibility with libsodium's APIs.

Value Proposition

Developers choose caesium for its direct, zero-copy bindings to libsodium, secure memory handling, and high-quality implementation by a cryptographer. It avoids abstraction layers that could introduce vulnerabilities while providing predictable, well-tested APIs.

Overview

Modern cryptography (libsodium/NaCl) for Clojure

Use Cases

Best For

  • Adding encryption and decryption to Clojure applications
  • Implementing secure password hashing in Clojure services
  • Building cryptographic tools with libsodium compatibility
  • Developing security-sensitive Clojure libraries
  • Integrating with GitHub Actions secrets programmatically
  • Performing public-key cryptography operations in Clojure

Not Ideal For

  • Projects requiring high-level, abstracted cryptography APIs without manual memory management
  • Environments where installing native libsodium libraries is prohibited or challenging
  • Teams that prefer self-contained libraries with extensive built-in documentation and examples
  • Applications needing cryptographic features not supported by libsodium

Pros & Cons

Pros

Direct Libsodium Bindings

Uses jnr-ffi for zero-copy behavior between JVM and C, ensuring efficient and accurate mapping of libsodium's functions, as highlighted in the README for performance and compatibility.

Secure Memory Control

APIs operate on byte arrays or ByteBuffers, allowing developers to manually zero sensitive data, which is crucial for preventing memory leaks in cryptographic applications, as emphasized in the philosophy section.

Comprehensive Cryptography Suite

Supports libsodium's full range including secretbox, password hashing, and public-key cryptography, making it versatile for various security needs, with examples provided in the README.

Expert Implementation

Written by a cryptographer with extensive testing, CI, and high code coverage, ensuring reliability and security, as noted in the differences section.

Cons

Native Dependency Required

Requires libsodium 1.0.18+ to be installed separately, adding setup complexity and potential cross-platform issues, which is explicitly noted in the README as a prerequisite.

Low-Level API Complexity

APIs are low-level and closely mirror libsodium, requiring developers to have a good understanding of cryptography and memory management, making it less accessible for those seeking simpler abstractions.

Documentation Reliance on External Sources

The README directs users to libsodium's documentation for details, meaning there's less Clojure-specific guidance and examples, which can increase the learning curve.

Frequently Asked Questions

Quick Stats

Stars183
Forks28
Contributors0
Open Issues12
Last commit2 years ago
CreatedSince 2014

Tags

#encryption#password-hashing#security#clojure#zero-copy#cryptography#nacl#libsodium

Built With

C
Clojure
l
libSodium

Included in

Clojure2.8k
Auto-fetched 1 day ago

Related Projects

FriendFriend

An extensible authentication and authorization library for Clojure Ring web applications and services.

Stars1,152
Forks121
Last commit5 years ago
boltbolt

An integrated security system for applications built on component

Stars121
Forks9
Last commit11 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub