module DigestHash

DigestHash module implements Pearson Hash algorithm used in TLSH computation

Constants

TABLE

frozen random initialization

Public Class Methods

pearson_hash(salt, keys) click to toggle source
# File lib/tlsh/digest_hash/pearson.rb, line 22
def pearson_hash(salt, keys)
  raise Tlsh::MalformedInputError, 'Missing keys for pearson_hash' if keys.nil? || keys.empty?
  raise Tlsh::MalformedInputError, 'Missing salt for pearson_hash' if salt.nil?

  h = 0
  h = TABLE[h ^ salt]
  h = TABLE[h ^ keys[0]]
  h = TABLE[h ^ keys[1]]
  TABLE[h ^ keys[2]]
end