Skip to content
Merged

R dev #109

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
Binary file modified .DS_Store
Binary file not shown.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
CXX = clang++
CXXFLAGS = -std=c++17 -Wall -Wextra -pedantic -O3
CXXFLAGS = -std=c++20 -Wall -Wextra -pedantic -O3
CXXFLAGS += -isysroot $(shell xcrun --show-sdk-path)
CXXFLAGS += -fuse-ld=ld -lz
DEPFLAGS = -MMD -MF $(@:.o=.d)
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,11 @@
This repository features the **Rainbow** and **Rainstorm** hash functions (collectively, **Rain Hashes**), created by [Cris](https://github.com/o0101) at [DOSAYGO](https://github.com/dosyago) and licensed under Apache-2.0. All size variants of both hashes pass **all tests in SMHasher3**. Relevant [results](results) are available in the `results/` directory, or at the [SMHasher3 GitLab repository](https://gitlab.com/fwojcik/smhasher3/-/blob/main/results/README.md). The CLI tool API is similar to standard tools like `sha256sum`, but with more switches to select algorithm and digest length. The hashes produce digests ranging from 64 through to 512 bits wide. See the table below for details.

The codebase includes:

- A C++ reference implementation
- A WASM port (for Node.js and browser environments)
- A Makefile for building all targets
- An experimental cryptosystem based on [plaintext mining ciphers](https://dosaygo-research.github.io/rain/paper/cipher-note.pdf)

| Algorithm | Speed | Hash Size | Purpose | Core Mixing Function | Security |
|-----------|--------------------|------------------|--------------------------------------|---------------------------------------------------|---------------------------------|
Expand Down
4 changes: 3 additions & 1 deletion TODO
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
cipher improvement

- implement a js version of enc / dec
- schedule K into block keys via XOF
- implement a js version of enc / dec
- test research construct
weak hash -- digest mining construction --> block cipher --- davies meyer construction ---> strong hash

Later maybe
- parallelization for cipher mining efficiency
Expand Down
Loading