Hardened CIDs/Peer-IDs with Argon2 parity section
- Dominant language
- Go
- Stars
- 17.1k
- Forks
- 3.2k
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 11
Description
This is a feature request for an optional tailing parity section on CIDs as well as Peer-IDs.
## The issue
Since humans are particularly bad at comparing long strings of signs (like hash sums), they tend to stick to compare just some sections and call it a day.
## Concept
To harden the CIDs/Peer-IDs against address spoofing (partial hash collision), the hash (and the hash-definition as salt) will be used as input for the [Argon2](https://en.wikipedia.org/wiki/Argon2) algorithm.
A visual separator like a dash, between the CID and the parity section will help to break it visually apart.
## Prospective benefits
* Errors in user input can be caught immediately. IPFS won't accept any wrong input and can print helpful error messages, instead of "timeout, content not found" or adding the wrong Peer-ID - searching for a non-existing peer.
* Attacks on domain names with forged IPNS-sums can be much more easily identified by the naked eye.
* Increases the computing power necessary to do partial hash collision attacks, since the parity section needs to be forged as well.
_Originally posted https://github.com/ipfs/go-ipfs/issues/7357#issuecomment-633687330_
Contributor guide
Assessment
This issue has not been assessed yet.