Skip to content

Commit

Permalink
Merge pull request #37 from dosyago/00000o1-patch-1-1
Browse files Browse the repository at this point in the history
Update README.md
  • Loading branch information
o0101 authored Jul 13, 2023
2 parents 13d3fbb + 81f30cf commit ce7d3e3
Showing 1 changed file with 43 additions and 0 deletions.
43 changes: 43 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Rain

- [Rain](#Rain)
- [Repository structure](#repository-structure)
- [Rainbow](#Rainbow)
- [Rainstorm - Unvetted for Security](#Rainstorm---Unvetted-for-Security)
- [Note on Cryptographic Intent](#Note-on-Cryptographic-Intent)
Expand Down Expand Up @@ -37,6 +38,48 @@ This repository houses the Rainbow and Rainstorm hash functions, developed by Cr

Rainbow is a fast hash function (13.2 GiB/sec, 4.61 bytes/cycle on long messages, 24.8 cycles/hash for short messages). It's intended for general-purpose, non-cryptographic hashing. The core mixing function utilizes multiplication, subtraction/addition, rotation, and XOR.

## Repository structure

Below is the repo structure after running make.

```tree
.
|-- LICENSE.txt
|-- Makefile
|-- README.md
|-- rain
| |-- bin
| | `-- rainsum
| `-- obj
| |-- rainsum.d
| `-- rainsum.o
|-- rainsum -> rain/bin/rainsum
|-- results
| |-- dieharder
| | |-- README.md
| | |-- rainbow-256.txt
| | |-- rainbow-64-infinite.txt
| | |-- rainstorm-256.txt
| | `-- rainstorm-64-infinite.txt
| `-- smhasher3
| |-- rainbow-064.txt
| |-- rainbow-128.txt
| |-- rainstorm-064.txt
| `-- rainstorm-128.txt
|-- scripts
| |-- 1srain.sh
| `-- blockchain.sh
`-- src
|-- common.h
|-- cxxopts.hpp
|-- rainbow.tpp
|-- rainstorm.tpp
|-- rainsum.cpp
`-- tool.h
9 directories, 24 files
```

## Rainstorm - **Unvetted for Security**

Rainstorm is a slower hash function with a tunable-round feature (with 4 rounds runs at 4.7 GiB/sec). It's designed with cryptographic hashing in mind, but it hasn't been formally analyzed for security, so we provide no guarantees. The core mixing function uses addition/subtraction, rotation, and XOR.
Expand Down

0 comments on commit ce7d3e3

Please sign in to comment.