aboutsummaryrefslogtreecommitdiffstats
path: root/spec (unfollow)
Commit message (Collapse)AuthorFilesLines
2024-09-15m + split out implemenation for w=8,16,32,64Mattias Andrée9-514/+437
Signed-off-by: Mattias Andrée <maandree@kth.se>
2024-09-15Optimisation for w=8,16,32Mattias Andrée9-69/+434
Signed-off-by: Mattias Andrée <maandree@kth.se>
2024-09-15mMattias Andrée1-3/+10
Signed-off-by: Mattias Andrée <maandree@kth.se>
2024-09-15Organise filesMattias Andrée47-275/+321
Signed-off-by: Mattias Andrée <maandree@kth.se>
2024-09-15mMattias Andrée1-6/+2
Signed-off-by: Mattias Andrée <maandree@kth.se>
2024-09-15Move man pages into man3/ and man7/Mattias Andrée61-63/+63
Signed-off-by: Mattias Andrée <maandree@kth.se>
2024-09-15Split libkeccak.h and fix support for architectures that do not allow misaligned memoryMattias Andrée16-868/+958
Signed-off-by: Mattias Andrée <maandree@kth.se>
2024-09-15mMattias Andrée2-2/+1
Signed-off-by: Mattias Andrée <maandree@kth.se>
2024-09-14Update yearMattias Andrée1-1/+1
Signed-off-by: Mattias Andrée <maandree@kth.se>
2024-09-14Add todo about optimising for smaller word sizes (should drastically improve performance)1.4.1Mattias Andrée1-0/+4
Signed-off-by: Mattias Andrée <maandree@kth.se>
2024-09-14Fix bug where the hash is incomplete and possiblity corrupt when the bitrate is not a multiple of the word sizeMattias Andrée1-1/+1
Signed-off-by: Mattias Andrée <maandree@kth.se>
2023-07-02Fix false warnings1.4Mattias Andrée2-10/+8
Signed-off-by: Mattias Andrée <maandree@kth.se>
2023-07-02Update DEPENDENCIESMattias Andrée1-1/+0
Signed-off-by: Mattias Andrée <maandree@kth.se>
2023-07-02Remove use of valgrind in make checkMattias Andrée1-4/+1
Signed-off-by: Mattias Andrée <maandree@kth.se>
2023-07-02Remove -s from LDFLAGS and -std=c99 from CFLAGS and specify CC=c99Mattias Andrée2-6/+8
Signed-off-by: Mattias Andrée <maandree@kth.se>
2022-02-27Update TODOMattias Andrée1-3/+5
Signed-off-by: Mattias Andrée <maandree@kth.se>
2022-02-27Add cSHAKEMattias Andrée25-81/+848
Signed-off-by: Mattias Andrée <maandree@kth.se>
2022-02-27mMattias Andrée1-1/+1
Signed-off-by: Mattias Andrée <maandree@kth.se>
2022-02-26Keccak[] is not defined via its output size, but it is only explicitly defined for Keccak1600, so proportional for restMattias Andrée1-4/+3
Signed-off-by: Mattias Andrée <maandree@kth.se>
2022-02-26Bump lib minor numberMattias Andrée1-1/+1
Signed-off-by: Mattias Andrée <maandree@kth.se>
2022-02-26Add tests for byte-incomplete outputMattias Andrée1-1/+75
Signed-off-by: Mattias Andrée <maandree@kth.se>
2022-02-26Add some known-answer testsMattias Andrée1-1/+312
Signed-off-by: Mattias Andrée <maandree@kth.se>
2022-02-26Fix libkeccak_degeneralise_spec and add missing error: LIBKECCAK_GENERALISED_SPEC_ERROR_STATE_BITRATE_CAPACITY_INCONSISTENCYMattias Andrée3-19/+29
Signed-off-by: Mattias Andrée <maandree@kth.se>
2022-02-26Fix error in libkeccak_degeneralise_spec: spec->state_size was set to 1 rather than have_state_sizeMattias Andrée1-6/+6
Signed-off-by: Mattias Andrée <maandree@kth.se>
2022-02-26Remove useless restrict from internal functionsMattias Andrée1-4/+4
Signed-off-by: Mattias Andrée <maandree@kth.se>
2022-02-26Remove useless restrictsMattias Andrée24-57/+57
Signed-off-by: Mattias Andrée <maandree@kth.se>
2022-02-23Remove unused variables from libkeccak_zerocopy_digestØystein Heskestad1-2/+0
2022-02-19Fix use of install_name_tool: rewrote incorrect, non-existing file1.3.1.2Mattias Andrée1-1/+1
Signed-off-by: Mattias Andrée <maandree@kth.se>
2022-02-19Forgot to bump the year when I made a commit Feb 3Mattias Andrée1-1/+1
Signed-off-by: Mattias Andrée <maandree@kth.se>
2022-02-19Move operand for install_name_tool from macro in macos.mk to usage in Makefile1.3.1.1Mattias Andrée2-2/+2
Signed-off-by: Mattias Andrée <maandree@kth.se>
2022-02-19Set install name for installed libraryCarlo Cabrera3-2/+6
2022-02-19Set install name in `LIBFLAGS`Carlo Cabrera3-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.
2022-02-19Update readmeMattias Andrée1-1/+1
Signed-off-by: Mattias Andrée <maandree@kth.se>
2022-02-19Remove use of ifeq in Makefile and move use of install_name_tool from install-time to build-timeMattias Andrée3-3/+5
Signed-off-by: Mattias Andrée <maandree@kth.se>
2022-02-06Fix library install name in `install` target on macOSCarlo Cabrera1-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.
2022-02-06Implement library versioning for macOSCarlo Cabrera1-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.
2022-02-03Fix blksize adjustment when exceeding alloca limit in libkeccak_generalised_sum_fd1.3.1Mattias Andrée1-1/+5
Signed-off-by: Mattias Andrée <maandree@kth.se>
2021-12-24Fix zero-copy update to libkeccak_generalised_sum_fd1.3Mattias Andrée1-3/+6
Signed-off-by: Mattias Andrée <maandree@kth.se>
2021-12-24Add man pages for zero-copy functionsMattias Andrée13-7/+266
Signed-off-by: Mattias Andrée <maandree@kth.se>
2021-12-24Update library version numberMattias Andrée1-1/+1
Signed-off-by: Mattias Andrée <maandree@kth.se>
2021-12-24Add libkeccak_zerocopy_{update,digest} and in libkeccak_generalised_sum_fd (requires man pages)Mattias Andrée6-34/+216
Signed-off-by: Mattias Andrée <maandree@kth.se>
2021-12-24Fix libkeccak_state_copyMattias Andrée1-4/+8
Signed-off-by: Mattias Andrée <maandree@kth.se>
2021-12-24Fix marshal and unmarshalMattias Andrée2-28/+45
Signed-off-by: Mattias Andrée <maandree@kth.se>
2021-07-30Suppress clang warnings1.2.2Mattias Andrée2-0/+11
Signed-off-by: Mattias Andrée <maandree@kth.se>
2021-07-30Use inline instead of static inline for non-deprecated functionsMattias Andrée27-62/+217
Signed-off-by: Mattias Andrée <maandree@kth.se>
2021-07-30Fix clang warningsMattias Andrée18-61/+152
Signed-off-by: Mattias Andrée <maandree@kth.se>
2021-07-30Do not divide by sizeof(char)Mattias Andrée6-17/+17
Signed-off-by: Mattias Andrée <maandree@kth.se>
2021-07-30Fix warningMattias Andrée1-1/+1
Signed-off-by: Mattias Andrée <maandree@kth.se>
2021-07-30common.h: macOS needs alloca.h tooCaleb Xu1-1/+1
2021-07-27config.mk: doc ALLOCA_LIMIT, add CC=cc, and set PREFIX=/usr1.2.1Mattias Andrée1-1/+9
Signed-off-by: Mattias Andrée <maandree@kth.se>