crystal-crypto-samples
crystal-crypto-samples
Welcome to the EVALinux Crypto Suite! This repository serves as the central demonstration ground, end-to-end integration harness, and usage sample for the suite of specialized, hardware-bound cryptographic Crystal shards.
The Crypto Suite Shards
This sample application dynamically links and demonstrates the capabilities of our foundational shards:
- Crystal CBOR FIDO: Memory-safe Canonical CBOR parser and encoder compliant with FIDO2/WebAuthn assertions.
- Crystal DBus Native: Native, zero-dependency D-Bus wire protocol with SASL authentication and UNIX domain socket file descriptor passing (
SCM_RIGHTS). - Crystal ECC Constant: Strictly constant-time Elliptic Curve Cryptography (Ed25519 signatures and X25519 ECDH) backed by libsodium.
- Crystal TPM2 TSS: TPM 2.0 Software Stack featuring hardware NV storage key persistence, session-based parameter encryption, and $\mathcal{O}(1)$ nonce-reuse detection.
Getting Started
Installation & Prerequisites
Ensure host dependencies are installed (libsodium-devel and tpm2-tss-devel on Fedora/RHEL):
# Clone the repository
git clone git@gitlab.com:renich/crystal-crypto-samples.git
cd crystal-crypto-samples
# Install shard dependencies
shards install
Running the Integration Sample
crystal run src/crystal_crypto_samples.cr
Development & Verification
Build targets and test suites are managed via GNU Make:
make all # Runs linting (Ameba & Flaw) and test suite
make test # Executes crystal spec
make lint # Executes Ameba static analysis and Flaw scanner
make docs # Generates API documentation into docs/technical/api
Documentation
- API Documentation: Generated HTML docs located at
docs/technical/api/. - Technical Specification:
docs/technical/spec.rst - Project Roadmap:
docs/project/roadmap.rst - Changelog:
CHANGELOG.rst - Code of Honor:
docs/technical/CODE_OF_HONOR.rst
License
This project is licensed under the GNU General Public License v3.0 or later (GPL-3.0-or-later).
Repository
crystal-crypto-samples
Owner
Statistic
- 0
- 0
- 0
- 0
- 6
- 5 days ago
- June 5, 2026
License
GNU General Public License v3.0 or later
Links
Synced at
Fri, 14 Aug 2026 13:22:53 GMT
Languages