1. Identify and name one open-source cryptographic library for each of the following
programming languages. Provide a web link to the library doc page. a. C b. C++ c. JAVA d. Python
2. For each of the libraries you have identified in 1) above, list and explain all requirements that are necessary for using the libraries functions in a piece of code. For example, for a JAVA library what classes need to imported etc.
3. For each library identified in 1) above, name a function that belongs each of the following categories
a. Key Generation b. Hash Functions c. Block Ciphers d. Stream Ciphers
If the library you choose does not have any support for functions in a category please state so.
4. Finally provide short documentation for each of the functions listed in 3 above. At minimum, describe the purpose of the function and list all of its input variables and expected output.