{'fraction_non_alphanumeric': 0.012998266897746967, 'fraction_numerical': 0.006932409012131715, 'mean_word_length': 5.2771739130434785, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Hash Function Vulnerability Index and Hash Chain Attacks

A hash chain is constructed by repeated hashing from an initial value. While it finds applications for network protocol design it also poses threats to hash function one-way and collision-free properties. We investigate the complexity of breaking hash function security properties by hash chain attacks using probabilistic algorithms. We show that each hash function has a vulnerability index that measures its inherent vulnerability against hash chains attacks. The vulnerability index is invariant with respect to different types of hash chain attacks using probabilistic algorithms with or without an oracle. It provides a criterion for the evaluation of the prevalent hash functions and also be used as a guide for the design of new hash functions. We analyze the properties of the vulnerability indices and estimate their values of the commonly used hash functions: MD5, SHA1, RIPEMD128 and RIPEMD160. Preliminary experiments indicate that their vulnerability indices are rather low; that is, it is hard to break their security properties by hash chain attacks with probabilistic algorithms.