File Integrity Checker and Hashing
FileArmour also contains an useful file integrity checker tool. To understand why you require a file integrity checker, consider the following scenarios. When you download a file from Internet, how can you verify that your downloaded file has not been tampered with or replaced with a malicious software? Similarly, when you send a file on an unsecured channel, how can the recipient verify that the file has not been corrupted in transit. This is where a file integrity checker comes into play. A file integrity checker employs an error detection mechanism to validate that the integrity of the file has not been compromised. It performs this validation by applying a function called hash on the file content. A hash is a function that accepts the contents of a file or data of arbitrary size as input and produces a fixed size output (irrespective of the input file size). The output produced is usually lot smaller than the input data and is unique to the input data. In other words, if you change the input data even slightly, it will produce a totally different output. A hash output is also known as hash value, hash code, hash sum, message digest or simply hash. A hash function has the property that it is computationally infeasible to find two distinct inputs that hash to the same value. Hashing is always an one way trip i.e. you can calculate the hash output from an input file or data but not vice-versa.

How Does a File Integrity Checker Work?
Now that we have understood what is hashing, let us see how does a file integrity checker work. Many sites that offer software downloads (for e.g. publish the hash value associated with the file being downloaded. After you have downloaded the file, you run it through a file integrity checker that performs a hash on the contents of the file. If the output produced by the hash function exactly matches the hash value published on the website, you can conclude that the file has not been altered during download.

Hash Algorithms Implemented by FileArmour File Integrity Checker Tool
The following hash algorithms are implemented by FileArmour file integrity checker:
  1. MD5
  2. RIPMED-160
  3. SHA-1
  4. SHA-256
  5. SHA-384
  6. SHA-512
A brief description of each hash algorithm implemented by FileArmour file integrity checker is listed below: *
  1. MD5: The MD5 message-digest algorithm is a widely used cryptographic hash function producing a 128-bit hash value, typically expressed in text format as a 32 digit hexadecimal number. MD5 was designed by Ron Rivest in 1991 to replace an earlier hash function, MD4.
  2. RIPMED-160: RIPEMD (RACE Integrity Primitives Evaluation Message Digest) is a family of cryptographic hash functions developed in Leuven, Belgium, by Hans Dobbertin, Antoon Bosselaers and Bart Preneel at the COSIC research group at the Katholieke Universiteit Leuven, and first published in 1996. RIPEMD was based upon the design principles used in MD4, and is similar in performance to the more popular SHA-1.
    RIPEMD-160 is an improved, 160-bit version of the original RIPEMD, and the most common version in the family. RIPEMD-160 was designed in the open academic community, in contrast to the NSA designed SHA-1 and SHA-2 algorithms. On the other hand, RIPEMD-160 appears to be used somewhat less frequently than SHA-1, which may have caused it to be less scrutinized than SHA. RIPEMD-160 is not known to be constrained by any patents.
  3. SHA-1: SHA-1 is a cryptographic hash function designed by the United States National Security Agency and is a U.S. Federal Information Processing Standard published by the United States NIST.SHA stands for “secure hash algorithm”. SHA-1 produces a 160-bit (20-byte) hash value. A SHA-1 hash value is typically rendered as a hexadecimal number, 40 digits long.
  4. SHA-256, SHA-384 & SHA-512: These algorithms are part of SHA-2 suite of cryptographic hash functions. They were designed by the U.S. National Security Agency (NSA) and published in 2001 by the NIST as a U.S. Federal Information Processing Standard (FIPS).They produce hash outputs of sizes indicated by their suffixes. SHA-2 algorithms were designed after security vulnerabilities were identified in SHA-1.
* Source: Wikipedia