Core Framework Encryption Service + Proxy server - with a Cryptonote twist
- Refactors `trix.Encode` and `trix.Decode` to allow for dependency injection, enabling the testing of I/O error paths. - Adds comprehensive tests for the `trix` package to cover all error paths. - Adds tests for the `Fletcher` checksums and `ensureRSA` function in the `crypt` package. - Adds tests for the `lthn` package to cover the `SetKeyMap` and `GetKeyMap` functions. - Adds tests for the `chachapoly` package to cover error paths. - Adds tests for the `rsa` package to cover error paths. - Fixes the example in `examples/main.go` to work with the refactored `trix` package. - Refactors the `lthn` keymap test to be thread-safe by using a mutex and `t.Cleanup` to ensure state is properly restored. - Corrects the `mockReader` implementation in the `trix` tests to adhere to the `io.Reader` interface contract. |
||
|---|---|---|
| .dataset | ||
| .github | ||
| .run | ||
| docs | ||
| examples | ||
| pkg | ||
| vault | ||
| .gitignore | ||
| DISCLAIMER.md | ||
| go.mod | ||
| go.sum | ||
| go.work | ||
| go.work.sum | ||
| LICENCE | ||
| README.md | ||
| Taskfile.yml | ||
Enchantrix
Enchantrix is a Go-based encryption library for the Core framework, designed to provide a secure and easy-to-use framework for handling sensitive data in Web3 applications. It will feature Poly-ChaCha stream proxying and a custom .trix file format for encrypted data.
Test-Driven Development
This project follows a strict Test-Driven Development (TDD) methodology. All new functionality must be accompanied by a comprehensive suite of tests.
Getting Started
To get started with Enchantrix, you'll need to have Go installed. You can then run the tests using the following command:
go test ./...