donau

Donation authority for GNU Taler (experimental)
Log | Files | Refs | Submodules | README | LICENSE

hash.tex (1623B)


      1 \section{Hash Functions}\label{hash}
      2 Hash functions are used to compress input values to a fixed output size.
      3 They are deterministic. The same input leads to the same output. The Donau
      4 uses hash functions to compress data in order to record less data in the
      5 database or to send less data over the network.
      6 
      7 An important property of a hash functions is preimage and second
      8 preimage resistance. Second preimage resistance prevents an attacker from
      9 finding a different input that produces the same hash value as a
     10 given input, which is crucial for maintaining data integrity and security in
     11 applications like digital signatures and file verification which are used in
     12 the Donau.
     13 
     14 With second-preimage resistance no equivalent hash for any input $x'$ to a
     15 given hash $h(x)$ with $x \neq x'$ can be found in a reasonable time.
     16 Collision resistance is the stronger assumption and even prevents to find
     17 $h(x) = h(x')$ with $x \neq x'$. A further important
     18 assumption is the Avalanche Criterion. The property defines that a small change
     19 in the hash input message leads to a substantial change in the output hash.
     20 This criteria makes it hard to guess the input even if a part of the input is
     21 known.\cite{hash2012} To protect the donor, their identity is represented as a
     22 salted hash of the tax identification number. The salt is a small high entropy
     23 value, to make it more difficult to guess the hashed value.
     24 
     25 The Donau uses the SHA-512 hash function. SHA-512 is part of the SHA-2 family
     26 and provides a 256 bit security level for collision resistance. The security of
     27 the hash function is mathematically approved.\cite{hash-nist}
     28