Page 118 - Data Structures Handout_Neat
P. 118

9.7.3  Security Concerns with Weak Hash Functions


                       Weak hash functions can lead to predictable collisions, making systems vulnerable to

               attacks. For example, in password storage, if a simple hash function is used, attackers can

               easily  guess  or  precompute  hash  values.  Cryptographic  hash  functions  (like  SHA-256)  are

               required for security-sensitive applications.

                       Example: Weak Hash Function in C++

























                       This example shows how two different strings can produce the same hash value with

               a weak function, leading to collisions and potential vulnerabilities.



                9.8    Summary

                       In this chapter, we explored hashing as one of the most efficient techniques for data

               storage  and  retrieval.  We  began  with  the  definition  and  motivation  behind  hashing,

               emphasizing its ability to provide constant-time average performance for insertion, deletion,

               and search operations. We then studied hash functions, discussing the properties of good
               functions,  simple  arithmetic-based  methods  (division  and  multiplication),  and  advanced

               cryptographic  functions  used  in  security.  Practical  examples  demonstrated  how  hash

               functions distribute keys across a table.
                       Next,  we  examined  the  structure  of  hash  tables,  which  combine  arrays,  hash

               functions, and collision resolution strategies to store data efficiently. We implemented basic

               operations  such  as  insertion,  deletion,  and  searching,  and  highlighted  the  importance  of



                                                            118
   113   114   115   116   117   118   119   120   121   122   123