CA2780980C

Data security enhancement using secure hash function

Abstract

Apparatus and methods for data security enhancement involving receiving a master key and generating a derivative key from the master key using an implementation of a universal hash algorithm and a secure hash algorithm. Key derivation may be done by securely hashing a master key using a processor to produce a hash value, determining a first number and a second number from the master key, computing a universal hash function of the hash value, the first number, and the second number to produce a result and selecting a derivative key from bits in the result. Key derivation may also be done by dividing the master key into a first segment and a second segment, securely hashing the first segment using a processor to produce a hash value, determining a first number and a second number from the second segment, computing a product of the first number and the hash value, computing a sum of the product and the second number, computing a result as the sum modulo a modulus. A derivative key may be selected from bits in the result and data may be encrypted using the derivative key.

CA2780980C, drawing sheet 1
Sheet 1 of 20

Term

Term ended

Expired 9 August 2025, 1.1 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

80 claims: 11 independent, 69 dependent

  1. 1
    CA 02780980 2014-05-01 THE EMBODIMENTS OF THE INVENTION IN WHICH AN EXCLUSIVE PROPERTY OR PRIVILEGE IS CLAIMED ARE DEFINED AS FOLLOWS:1. An apparatus comprising: an input port to receive a master key;an implementation of a universal hash algorithm;an implementation of a secure hash algorithm;means for generating a derivative key from said master key using the implementation of said universal hash algorithm and said secure hash algorithm;and an output port to output said derivative key.
  2. 8
    An apparatus comprising:an input port to receive a master key;a first calculator to implement a universal hash algorithm;a second calculator to implement a secure hash algorithm;a key deriver to generate a derivative key from said master key using the first calculator and the second calculator;and an output port to output said derivative key.
  3. 15
    An apparatus, comprising:an input port to receive a master key;a divider to divide said master key into a first segment and a second segment;CA 02780980 2014-05-01 a concatenator to concatenate said first segment and a counter to produce a modified first segment;a hasher to securely hash said modified first segment into a hash value;a determiner to determine a first number and a second number from said second segment;a calculator including an implementation of an arithmetic formula to compute a result using said hash value, said first number, and said second number;and a bit selector to select a set of bits from said result as a derivative key.
  4. 21
    A data security device, comprising:a key deriver, including: an input port to receive a master key;a divider to divide said master key into a first segment and a second segment;a concatenator to concatenate said first segment and a counter to produce a modified first segment;a hasher to securely hash said modified first segment into a hash value;a determiner to determine a first number and a second number from said second segment modulo a modulus;a calculator including an implementation of an arithmetic formula to compute a result using said hash value, said first number, and said second number;and a bit selector to select a set of bits from said result as a derivative key;and an encrypter to encrypt data using said derivative key.
  5. 27
    A method for performing key derivation, comprising:securely hashing a master key using a processor to produce a hash value;determining a first number and a second number from the master key;computing a universal hash function of the hash value, the first number, and the second number to produce a result;and selecting a derivative key from bits in the result.
  6. 34
    A method for encrypting data using a derivative key, comprising:generating the derivative key, including: dividing a master key into a first segment and a second segment;securely hashing the first segment using a processor to produce a hash value;determining a first number and a second number from the second segment;computing a product of the first number and the hash value;computing a sum of the product and the second number;computing a result as the sum modulo a modulus;and selecting the derivative key from bits in the result;and encrypting data using the derivative key.
  7. 47
    An apparatus, comprising:an input port to receive a master key;a combiner to combine said master key and a value to produce a modified master key;a hasher to hash said modified master key into a hash value;and a bit selector to select a set of bits from said hash value as a derivative key.
  8. 54
    A data security device, comprising:a key deriver, including: an input port to receive a master key;a divider to divide said master key into a first segment and a second segment;a repeater to repeat a value to form an encoded value as a longer bit pattern;an implementation of a first bitwise binary function operative on said first segment and said encoded value to produce a first result;an implementation of a second bitwise binary function operative on said second segment and said encoded value to produce a second result;a combiner to combine said first result, said second result, and said encoded value to produce a modified master key;CA 02780980 2014-05-01 a hasher to hash said modified master key into a hash value;and a bit selector to select a set of bits from said hash value as a derivative key;and an encrypter to encrypt data using said derivative key.
  9. 59
    A method for performing key derivation, comprising:combining a master key with a value to produce a modified master key;hashing the modified master key using a processor to produce a hash value;and selecting a derivative key from bits in the hash value.
  10. 66
    A method for encrypting a derivative key, comprising:combining a master key with a value to produce a modified master key;hashing the modified master key using a processor to produce a hash value;selecting a derivative key from bits in the hash value;and encrypting data using the derivative key.
  11. 80
    A computer readable medium having stored thereon codes for directing a processor to execute the method of any one of claims 27-46 and 59-79.