aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* m + split out implemenation for w=8,16,32,64HEADmasterMattias Andrée32 hours9-514/+437
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Optimisation for w=8,16,32Mattias Andrée34 hours9-69/+434
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* mMattias Andrée34 hours1-3/+10
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Organise filesMattias Andrée43 hours47-275/+321
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* mMattias Andrée45 hours1-6/+2
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Move man pages into man3/ and man7/Mattias Andrée45 hours61-63/+63
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Split libkeccak.h and fix support for architectures that do not allow misaligned memoryMattias Andrée45 hours16-868/+958
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* mMattias Andrée45 hours2-2/+1
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Update yearMattias Andrée46 hours1-1/+1
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Add todo about optimising for smaller word sizes (should drastically improve performance)1.4.1Mattias Andrée2 days1-0/+4
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Fix bug where the hash is incomplete and possiblity corrupt when the bitrate is not a multiple of the word sizeMattias Andrée2 days1-1/+1
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Empty signed commitMattias Andrée2024-04-060-0/+0
|
* Fix false warnings1.4Mattias Andrée2023-07-022-10/+8
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Update DEPENDENCIESMattias Andrée2023-07-021-1/+0
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Remove use of valgrind in make checkMattias Andrée2023-07-021-4/+1
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Remove -s from LDFLAGS and -std=c99 from CFLAGS and specify CC=c99Mattias Andrée2023-07-022-6/+8
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Update TODOMattias Andrée2022-02-271-3/+5
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Add cSHAKEMattias Andrée2022-02-2725-81/+848
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* mMattias Andrée2022-02-271-1/+1
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Keccak[] is not defined via its output size, but it is only explicitly defined for Keccak1600, so proportional for restMattias Andrée2022-02-261-4/+3
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Bump lib minor numberMattias Andrée2022-02-261-1/+1
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Add tests for byte-incomplete outputMattias Andrée2022-02-261-1/+75
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Add some known-answer testsMattias Andrée2022-02-261-1/+312
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Fix libkeccak_degeneralise_spec and add missing error: LIBKECCAK_GENERALISED_SPEC_ERROR_STATE_BITRATE_CAPACITY_INCONSISTENCYMattias Andrée2022-02-263-19/+29
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Fix error in libkeccak_degeneralise_spec: spec->state_size was set to 1 rather than have_state_sizeMattias Andrée2022-02-261-6/+6
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Remove useless restrict from internal functionsMattias Andrée2022-02-261-4/+4
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Remove useless restrictsMattias Andrée2022-02-2624-57/+57
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Merge pull request #18 from oyheskes/remove-unused-variablesMattias Andrée2022-02-261-2/+0
|\ | | | | Remove unused variables from libkeccak_zerocopy_digest
| * Remove unused variables from libkeccak_zerocopy_digestØystein Heskestad2022-02-231-2/+0
|/
* Fix use of install_name_tool: rewrote incorrect, non-existing file1.3.1.2Mattias Andrée2022-02-191-1/+1
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Forgot to bump the year when I made a commit Feb 3Mattias Andrée2022-02-191-1/+1
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Move operand for install_name_tool from macro in macos.mk to usage in Makefile1.3.1.1Mattias Andrée2022-02-192-2/+2
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Merge pull request #17 from carlocab/install-nameMattias Andrée2022-02-192-2/+2
|\ | | | | Set install name in `LIBFLAGS`
| * Set install name for installed libraryCarlo Cabrera2022-02-193-2/+6
| |
| * Set install name in `LIBFLAGS`Carlo Cabrera2022-02-193-6/+2
|/ | | | | | | | | | My previous PR (#16) deliberately set the install name at install time instead of at build time, since this is the correct time to determine the library's install name. However, if you prefer to do this during build time instead, then there is no need to call `install_name_tool`. We can pass the appropriate flags to the linker instead.
* Update readmeMattias Andrée2022-02-191-1/+1
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Remove use of ifeq in Makefile and move use of install_name_tool from install-time to build-timeMattias Andrée2022-02-193-3/+5
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Merge pull request #16 from carlocab/macos-install-namesMattias Andrée2022-02-191-0/+3
|\ | | | | Fix library install name in `install` target on macOS
| * Fix library install name in `install` target on macOSCarlo Cabrera2022-02-061-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On macOS, libraries have "install names" which the linker records in a binary that links against the library. At runtime, the dynamic loader uses this install name to work out where to find the linked library. Currently, the Makefile passes no information about the install name to the linker, and so the DSO has an install name of `libkeccak.dylib`. This is a problem when you link something against `libkeccak` but install it outside the default linker search path, because the dynamic loader won't be able to find it. This change fixes that by making sure the dynamic loader will always be able to find `libkeccak.dylib` regardless of where it's been installed. We use `LIBMAJOREXT` since this is the typical convention for library install names. For example, the system libc++ has an install name of `libc++.1.dylib`, in the same way that `SONAME` also typically includes the library major version on Linux.
* | Merge pull request #15 from carlocab/macos-library-versioningMattias Andrée2022-02-191-1/+1
|\ \ | |/ |/| Implement library versioning for macOS
| * Implement library versioning for macOSCarlo Cabrera2022-02-061-1/+1
|/ | | | | | | | | | | | | | | | | | | | | Currently, the Makefile provides no version information about library to the macOS linker. This makes the linker fill in zeroes for `compatibility_version` and `current_version` by default. This is a problem for when you make breaking changes to the library that require re-compilation of linked software. The new library will still have a `compatibility_version` of `0.0.0`, which misleads the linker into believing the new library is a drop-in replacement for the old one. Let's fix that by making sure we pass version information correctly to the linker on macOS. NOTE: Since this increments the `compatibility_version` of the DSO from `0.0.0` to `1.0.0`, this change will require re-compilation of any macOS software that dynamically link against `libkeccak`. If you'd like to avoid this inconvenience for your users, you may wish to wait until you decide to increment `LIB_MAJOR` or otherwise make breaking changes to `libkeccak` before merging this change.
* Fix blksize adjustment when exceeding alloca limit in libkeccak_generalised_sum_fd1.3.1Mattias Andrée2022-02-031-1/+5
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Fix zero-copy update to libkeccak_generalised_sum_fd1.3Mattias Andrée2021-12-241-3/+6
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Add man pages for zero-copy functionsMattias Andrée2021-12-2413-7/+266
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Update library version numberMattias Andrée2021-12-241-1/+1
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Add libkeccak_zerocopy_{update,digest} and in libkeccak_generalised_sum_fd (requires man pages)Mattias Andrée2021-12-246-34/+216
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Fix libkeccak_state_copyMattias Andrée2021-12-241-4/+8
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Fix marshal and unmarshalMattias Andrée2021-12-242-28/+45
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Suppress clang warnings1.2.2Mattias Andrée2021-07-302-0/+11
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>
* Use inline instead of static inline for non-deprecated functionsMattias Andrée2021-07-3027-62/+217
| | | | Signed-off-by: Mattias Andrée <maandree@kth.se>