TheAlgorithms-C/hash
dsmurrow acbaf4a291
feat: implemented BLAKE2b cryptographic hashing algorithm (#1230)
* feat: added BLAKE2b with one working assert
docs: added BLAKE2b to README.md

* [enhancement] added more doc comments and fully implemented BLAKE2b key hashing

* fix: forgot to add arg

* chore: applied clang-format

* updating DIRECTORY.md

* docs: added main function docs

Co-authored-by: David Leal <halfpacho@gmail.com>

* docs: removed @file qualifier

Co-authored-by: David Leal <halfpacho@gmail.com>

* docs: added doc comment for assert_bytes()

Co-authored-by: David Leal <halfpacho@gmail.com>

* docs: added documentation for #include's

As requested by Panquesito27 in https://github.com/TheAlgorithms/C/pull/1230#discussion_r1130143641

* docs: added algorithm description

As requested in https://github.com/TheAlgorithms/C/pull/1230#discussion_r1130143364

* docs: added reasoning for warning suppression pragmas

* docs: spellcheck and additions

Added doc for bb definition.
Added description for mixing function G and compression function F.

* Added print statement to let user know tests have passed

Co-authored-by: David Leal <halfpacho@gmail.com>

* Updated doc comments for variables

* docs: removed old doc comments

* fix: had minus sign instead of assignment operator

* chore: replaced uint64_t[16] with block_t type to improve readability

* docs: defined macro constants to reduce magic numbers

* fix: fixed memory leak in blake2b()

* docs: moved comment

Moved comment about the suppressed warning directly above the code that emits the warning

* docs: added psuedocode/feat: added u128

Added psuedocode for the algorithm in doc comment for BLAKE2B(). Added return docs for void functions. Defined an unsigned 128-bit integer to match the max input size specified for the algorithm.

* fix: fixed build errors

* docs: added some clarifying comments

* docs: reduced magic numbers

---------

Co-authored-by: github-actions[bot] <github-actions@users.noreply.github.com>
Co-authored-by: David Leal <halfpacho@gmail.com>
2023-03-13 20:38:42 -06:00
..
CMakeLists.txt [enhancement] formatted and added `Hash` directory to cmake (#580) 2020-07-29 13:18:11 -04:00
README.md feat: implemented BLAKE2b cryptographic hashing algorithm (#1230) 2023-03-13 20:38:42 -06:00
hash_adler32.c [enhancement] formatted and added `Hash` directory to cmake (#580) 2020-07-29 13:18:11 -04:00
hash_blake2b.c feat: implemented BLAKE2b cryptographic hashing algorithm (#1230) 2023-03-13 20:38:42 -06:00
hash_crc32.c test: removed commented code (#885) 2021-10-15 11:01:56 -05:00
hash_djb2.c [enhancement] formatted and added `Hash` directory to cmake (#580) 2020-07-29 13:18:11 -04:00
hash_sdbm.c fix: Integer literal is too large to be represented as signed integer typed (#793) 2021-02-17 21:10:29 -06:00
hash_xor8.c [enhancement] formatted and added `Hash` directory to cmake (#580) 2020-07-29 13:18:11 -04:00

README.md

Hash algorithms

  • sdbm
  • djb2
  • xor8 (8 bit)
  • adler_32 (32 bit)
  • crc32 (32 bit)
  • BLAKE2b