Skip to content

Latest commit

 

History

History
38 lines (27 loc) · 1.17 KB

1.2-hash-functions.md

File metadata and controls

38 lines (27 loc) · 1.17 KB

Hash Functions

  • H: {0, 1}^* -> {0, 1}^n;
  • n - hash length;
  • Input - binary sequence of finite length;
  • Output - binary sequence of fixed length (n);

Hash

Properties

  • Security Properties:
    • It is computationally easy to get H(x) given x;
    • It is computationally hard to get x', given x, such that x' != x and H(x') = H(x) -> second pre-image;
    • It is computationally hard to get (x, x'), such that x != x' and H(x) = H(x') -> collision;
  • The hash of m represents m ("digital signature");
  • Based on boolean and arithmetic operations;

Examples

  • Data integrity;
  • Derivation of keys from passwords;
  • MAC algorithms;
  • Digital signature (asymmetric scheme);
  • Multiple cryptographic protocols.

Hash functions with key

  • It is usual to designate a MAC scheme, with a deterministic algorithm T, as a keyed hash function (Keyed-Hashing for Message Authentication, HMAC);
  • HMAC is a set of MAC algorithms to use with different hash functions H.