Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
[![Go Report Card](https://goreportcard.com/badge/github.com/AeonDave/cryptonite-go)](https://goreportcard.com/report/github.com/AeonDave/cryptonite-go)
![GitHub License](https://img.shields.io/github/license/AeonDave/cryptonite-go)

Modern, ultra-fast, zero-dependency cryptography library for Go 1.22+**
Modern, ultra-fast, zero-dependency cryptography library for Go 1.22+
Implemented using only the standard library. Battle-tested primitives, minimal attack surface, ergonomic APIs.

## Overview
Expand Down Expand Up @@ -156,9 +156,10 @@ Run locally:
```bash
go test ./test/... -bench=. -benchmem
```
or on windows
```bash
go test ./test/... -run='^$' -bench . -benchmem -count=1
On Windows PowerShell, quote the empty test pattern with double quotes:

```powershell
go test ./test/... -run="^$" -bench . -benchmem -count=1
```

## Security
Expand All @@ -170,7 +171,7 @@ go test ./test/... -run='^$' -bench . -benchmem -count=1
- No CGO → reduced supply chain risk

### Limitations
- **This library has NOT been independently audited.** Do not use in production without thorough review.
- **This library has NOT been independently audited.** Even though it is deployed in production, perform thorough internal review and threat modeling before upgrading or integrating it into new systems.
- **Nonce management**: Caller responsible for uniqueness (use `secret.NewNonce()` or counters)
- **Side channels**: Best-effort mitigation; validate in your threat model
- **Algorithm selection**: Some primitives are experimental (e.g., GIFT-COFB) – prefer mainstream options (AES-GCM, ChaCha20) unless you need specific properties
Expand All @@ -188,8 +189,7 @@ See [SECURITY.md](SECURITY.md) for full policy.
- [HPKE Usage](docs/HPKE.md) – hybrid public key encryption
- [Post-Quantum](docs/PQ.md) – hybrid X25519+ML-KEM guide
- [Interoperability](docs/INTEROP.md) – wire formats, encodings, gotchas
<!-- - **Examples**: [examples/](examples/) – copy-paste ready snippets -->
- **Testing**: [docs/TESTING.md] – KAT, fuzzing, adding test vectors
- **Testing**: [docs/TESTING.md](docs/TESTING.md) – KAT, fuzzing, adding test vectors

## Contributing

Expand All @@ -207,4 +207,4 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for full guidelines.
MIT – see [LICENSE](LICENSE)


**If you find this useful, star the repo!** | Questions? Open an [issue](https://github.com/AeonDave/cryptonite-go/issues).
**If you find this useful, star the repo!** | Questions? Open an [issue](https://github.com/AeonDave/cryptonite-go/issues).
2 changes: 1 addition & 1 deletion docs/NONCE_MANAGEMENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ The `secret` package provides reusable counter implementations:

- `secret.NewMonotonicCounter(size)` – returns a fixed-width big-endian counter. Use `Increment()` to advance and
`Bytes()` to obtain the current value.
- `secret.NewDeterministicNonce(key, salt, info)` – HKDF-based determinstic nonce derivation that binds context strings
- `secret.NewDeterministicNonce(key, salt, info)` – HKDF-based deterministic nonce derivation that binds context strings
to the output.
- `secret.Zeroize()` – helper to clear sensitive buffers once a nonce or counter leaves scope.

Expand Down