Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS import: othersrc/external/bsd/merkletree



Module Name:    othersrc
Committed By:   agc
Date:           Tue Mar  4 08:38:06 UTC 2014

Update of /cvsroot/othersrc/external/bsd/merkletree
In directory ivanova.netbsd.org:/tmp/cvs-serv19403

Log Message:
Import merkletree, a program to compute Merkle trees, into othersrc.
For more information on Merkle trees, see:

        http:/en.wikipedia.org/wiki/Merkle_tree

This library and utility uses the libmultigest(3) library to calculate
multiple digests over the data, for a given block size.

The libmerkletree(3) library implements Merkle tree calculation, and also
includes some higher-level functions to verify a file against a
previously-generated Merkle tree.

A Merkle tree is a hash tree calculated across blocks in data.  Any block
size can be specified in this implementation.  A digest is calculated
across each block in the data, and then a digest is calculated across
blocks of the checksums, and this continues until only one block of
digest exists.  The hierarchical nature of this allows individual blocks
of a file to be verified, even if other parts of the file have been
modified.  A degenerate case, in which the data is less than the
blocksize, will mean that a single digest value for the block is
calculated.  This will be the same as the digest algorithm applied to the
whole file.

Merkle trees are useful for seeing which part of a large file has been
changed or modified, and also acts as a guard against malevolent attacks
via second pre-images on data spanning more than 1 blocksize.

To view merkletree in action:

% merkletree -b 128 -a sha3-256,blake2,md5 -o m.sum Makefile
% merkletree -v m.sum Makefile
% cat m.sum
merkle sha3-256,blake2,md5 2 144 128 (Makefile) = 
6c803d85495efa93468142c80f0725e39531bf2935c17b96dafeb13a077a3b288a22372fdb707e1503090a2a065e7c1be5d0a7c7fd009ab77467780f5bd1a66cdcb4b813d12b13699aadb6188d5e48d9a2a693b1a1a6085bb10bc11aed8240720244d9265f789b657d908a8b896402f409fbc52cbfbca055cf9f6a606d5504113d798462e46d1bbc0e23e347928067ed34658c18f80a35fd1a39928aeb772b359a2011cbc8af0e356507a4bf057004cdeaa87adefe44b0f58573f10ff034858c85eb8fc3e99fbde9fb2189c7a10fea73bfab37c44aaf02640861d0211285893b598912b3fa76f5373b3b5d2f94813b1326d56e1f34fb4038bab5cbeafe8d5eee944f1527b4a433c030fa31900bd12e53168a4cd8916ded0dcd0d006c05bf82ce8bd7d3e6b516fdf6e1063555fa5d436d4e3cf95b609389001624e20e052266a6262dbb20bd934574b3fff295214fbc1e6123fa9f797a8930a42be919dcd2a4307f721c65827ff2b5a1451af9d821362c40480e0b9b95b6403d3be4b1fffc052f691242b03110b91f605b93c0c48740e373f3a06bcf523c54a1542f40a56020e044a230e973efb90fe5d3c22be00f359ab19319926f9d0c879df841227b518439b952b07bfde253825a2c69115c4ee709284f9f909501
0ed32384dbd83aebf51868fb2b8b00ffe01150115e84f4db223e02ada33fe3483d084d9368f46bcbef643d4a79f3bea19bea32977fe8907b94864cab89cc2cd47f2ddc1a7ea23f28dc7df47fef7d396f316397463463fa0d5ae9d8700a6c55f3b546910ebb0f91d9fcf551f8fdab4bd164944f77bf2622b307fbb96a826cbd84598e8153ce49dd048599db6844b3ef5905b39cfe4b66485755f593e7093439fc937c839686dd94bbdb2561e362437ecc84b6a415442a8dd2bba534f540da8f5e5568f077a946e3df74c0
%

and

% merkletree -b 128 -a sha3-256,blake2,md5 -o 1.sum 1.in
% echo "Hello world" >> 1.in
% merkletree -v 1.sum 1.in
[1] 128, 255
%

Status:

Vendor Tag:     CROOKS
Release Tags:   merkletree-base
                
N othersrc/external/bsd/merkletree/Makefile
N othersrc/external/bsd/merkletree/bin/1.expected
N othersrc/external/bsd/merkletree/bin/1.in
N othersrc/external/bsd/merkletree/bin/1.sum
N othersrc/external/bsd/merkletree/bin/10.expected
N othersrc/external/bsd/merkletree/bin/11.expected
N othersrc/external/bsd/merkletree/bin/12.expected
N othersrc/external/bsd/merkletree/bin/13.expected
N othersrc/external/bsd/merkletree/bin/14.expected
N othersrc/external/bsd/merkletree/bin/2.expected
N othersrc/external/bsd/merkletree/bin/2.in
N othersrc/external/bsd/merkletree/bin/3.expected
N othersrc/external/bsd/merkletree/bin/4.expected
N othersrc/external/bsd/merkletree/bin/5.expected
N othersrc/external/bsd/merkletree/bin/6.expected
N othersrc/external/bsd/merkletree/bin/7.expected
N othersrc/external/bsd/merkletree/bin/8.expected
N othersrc/external/bsd/merkletree/bin/9.expected
N othersrc/external/bsd/merkletree/bin/Makefile
N othersrc/external/bsd/merkletree/bin/15.expected
N othersrc/external/bsd/merkletree/lib/Makefile
N othersrc/external/bsd/merkletree/lib/shlib_version
N othersrc/external/bsd/merkletree/dist/Makefile.in
N othersrc/external/bsd/merkletree/dist/Makefile
N othersrc/external/bsd/merkletree/dist/libmerkle.c
N othersrc/external/bsd/merkletree/dist/libmerkletree.3
N othersrc/external/bsd/merkletree/dist/main.c
N othersrc/external/bsd/merkletree/dist/merkletree.1
N othersrc/external/bsd/merkletree/dist/merkletree.h
N othersrc/external/bsd/merkletree/dist/configure

No conflicts created by this import




Home | Main Index | Thread Index | Old Index