Files
slow-libs/README.md
2025-09-05 12:01:10 +02:00

47 lines
1.2 KiB
Markdown

# slow-libs single-header libraries
MIT licennced (see ./LICENSE)
Most libraries are not actually slow, but that is just the naming scheme.
Each library is documentated at the top of each header file
## Features of all libraries
- C89 (or later) compatible
- intuitive to use
- don't pollude namespace
- configurable with pre-processor macros
## Libraries
- `./chacha20.h`
- `./slowarr.h`: C templated dynamic array
- `./slowgraph.h`: WIP graph library (this is the only library that is actually slow)
## CLI Tools
CLI utils built with slow-libs.
- `./slowgraph/sgraph-adj.c`: dgtxt graphs <-> adjacency matrix
## Cryptography Security Considerations
All cryptography libraries list possible side channel attacks in their documentation
| Library | Zeroing memory | Timing attacks | Notes |
| ------------ | -------------- | -------------- | ----- |
| `chacha20.h` | manual [^1] | impossible | [^2] |
[^1]: the compiler might optimize the zeroing away
[^2]: does not prevent against length-extension, by algorithm design. See Cryptography 101.
## Cryptography 101
- TODO: explain asymetric
- TODO: compare symetrics
- TODO: compare asymetrics
- TODO: compare hashes
- TODO: XOF
- TODO: rng
- TODO: length extension
- TODO: password hashing