architecture.txt: a few small edits

This commit is contained in:
Zooko O'Whielacronx 2007-09-19 14:27:04 -07:00
parent 2fd168972f
commit ca5883b09b

View File

@ -116,13 +116,14 @@ All hashes use SHA256, and a different tag is used for each purpose.
Netstrings are used where necessary to insure these tags cannot be confused Netstrings are used where necessary to insure these tags cannot be confused
with the data to be hashed. All encryption uses AES in CTR mode. The erasure with the data to be hashed. All encryption uses AES in CTR mode. The erasure
coding is performed with zfec (a python wrapper around Rizzo's FEC library). coding is performed with zfec (a python wrapper around Rizzo's FEC library).
A Merkle Hash Tree is used to validate the encoded blocks before they are fed A Merkle Hash Tree is used to validate the encoded blocks before they are fed
into the decode process, and a transverse tree is used to validate the shares into the decode process, and a transverse tree is used to validate the shares
before they are retrieved. A third merkle tree is constructed over the as they are retrieved. A third merkle tree is constructed over the plaintext
plaintext segments, and a fourth is constructed over the crypttext segments. segments, and a fourth is constructed over the crypttext segments. All
All necessary hash chains are stored with the shares, and the hash tree roots necessary hashes are stored with the shares, and the hash tree roots are put
are put in the URI extension block. The final hash of the extension block in the URI extension block. The final hash of the extension block goes into
goes into the URI itself. the URI itself.
Note that the number of shares created is fixed at the time the file is Note that the number of shares created is fixed at the time the file is
uploaded: it is not possible to create additional shares later. The use of a uploaded: it is not possible to create additional shares later. The use of a