Updated documentation

This commit is contained in:
Matthias Bühlmann
2021-02-17 02:45:19 +01:00
parent b6a05333df
commit e3c6bb46e2

View File

@@ -31,12 +31,12 @@ The design goals of this implementation are
- to not rely on new binaries (which would need to be trusted too). The software therefore is implemented as bash scripts and uses OpenSSL (https://www.openssl.org/) and git itself for all cryptographic operations.
A further goal was to leverage the inherent Merkle-Tree based design of git in order to create a tamperproof repository archive where all no history can be rewritten without being noticed.
By embedding the timestamps in the commit history, they form a Merkle-Chain and thus new timestamps will cryptographically *seal* older ones and thereby additionally protect them from some forms of future invalidation.
By embedding the timestamps in the commit history, they form a hash-chain and thus new timestamps will cryptographically *seal* older ones and thereby additionally protect them from some forms of future invalidation.
# Merkle-Tree layout
The design leverages git's Merkle-Tree layout and embeds the timestmaps in the commit history, making them form a hash-chain that prevents later changes without being noticed.
![Merkle-Tree](./docs/schematic.svg)
<img src="./docs/schematic.svg">
# What are RFC3161 and RFC5816 Timestamps