Algorithms - jonelo/jacksum GitHub Wiki

Table of Contents

Algorithm Support

Jacksum supports 513 standard algorithms, including cryptographic and non-cryptographic hash functions. The latter include CRCs and checksums. In addition to that Jacksum also supports customized algorithms. That includes concatenated algorithms, HMAC, truncated HMAC, and customized CRCs.

See also

Standard Hash Functions

Standard Hash Functions, sorted alphabetically

Adler-32, ascon-hash, ascon-hasha, ascon-xof, ascon-xofa, AST strsum PRNG hash, BLAKE-[224,256,348,512], BLAKE2b-[8..512], BLAKE2s-[8..256], BLAKE2bp, BLAKE2sp, BLAKE3, cksum (Minix), cksum (Unix), CRC-8 (FLAC), CRC-16 (LHA/ARC), CRC-16 (Minix), FCS-16, CRC-24 (OpenPGP), CRC-32 (FCS-32), CRC-32 (MPEG-2), CRC-32 (bzip2), CRC-32 (FDDI), CRC-32 (UBICRC32), CRC-32 (PHP's crc32), CRC-64 (ISO 3309), CRC-64 (ECMA-182), CRC-64 (prog lang GO, const ISO), CRC-64 (.xz and prog lang GO, const ECMA), CRC-82/DARC, DHA-256, ECHO-[224,256,348,512], ed2k, ELF (Unix), esch256, esch384, Fletcher's Checksum, FNV-0_[32,64,128,256,512,1024], FNV-1_[32,64,128,256,512,1024], FNV-1a_[32,64,128,256,512,1024], FORK-256, Fugue-[224,256,348,512], GOST Crypto-Pro (GOST R 34.11-94), GOST R 34.11-94, Groestl-[224,256,384,512], HAS-160 (KISA), HAVAL-128-[3,4,5], HAVAL-[160,192,224,256]-[3,4,5], JH[224,256,284,512], joaat, KangarooTwelve, Keccak[224,256,384,512], Kupyna[256,384,512] (DSTU 7564:2014), LSH-256-[224,256], LSH-512-[224,256,384,512] (KS X 3262), Luffa-[224,256,348,512], MD2, MD4, MD5, MDC2, MarsupilamiFourteen, PANAMA, PRNG hash, RIPEMD-128, RIPEMD[160,256,320], RadioGatun[32,64], SHA-0, SHA-1, SHA-[224,256,384,512], SHA-512/[224,256] (NIST FIPS 180-4), SHA3-[224,256,384,512], SHAKE[128,256] (NIST FIPS 202), SM3, Skein-1024-[8..1024], Skein-256-[8..256], Skein-512-[8..512], Streebog-[256,512] (GOST R 34.11-2012), sum (BSD Unix), sum (Minix), sum (System V Unix), sum [8,16,24,32,40,48,56,64], Tiger, Tiger/128, Tiger/160, Tiger2, photon-beetle, PHP Tiger variants (tiger192,4, tiger160,4, and tiger128,4), VSH-1024, Whirpool-0, Whirlpool-T, Whirlpool, Xoodyak, xor8, and XXH32.

Standard Hash Functions, sorted logically

Cryptographic Hash Functions

  • International and national standards of cryptographic hash functions (descending alphabetical sorting of the countries):

    • United States of America (USA)

      • SHA-1
      • SHA-2-family: SHA-[224,256,384,512], SHA-512/[224,256] (NIST FIPS 180-4)
      • SHA-3-family: SHA3-[224,256,384,512], SHAKE[128,256] (NIST FIPS 202)
    • Ukraine

      • Kupyna[256,384,512] (DSTU 7564:2014)
    • Russian Federation

      • GOST (GOST R 34.11-94)
      • GOST Crypto-Pro (GOST R 34.11-94)
      • Streebog-[256,512] (GOST R 34.11-2012)
    • Republic of Korea (ROK)

      • HAS-160 (KISA)
      • LSH-256-[224,256], LSH-512-[224,256,384,512] (KS X 3262)
    • People's Republic of China (PRC)

      • SM3
  • eXtendable Output Functions (XOF) as cryptographic hash functions with a fixed length:

    • KangarooTwelve
    • MarsupilamiFourteen
    • SHAKE128
    • SHAKE256
  • International accepted, modern strong cryptographic hash functions:

    • BLAKE2s-[8..256]
    • BLAKE2b-[8..512]
    • BLAKE2sp-256
    • BLAKE2bp-512
    • BLAKE3
    • ed2k
    • HAVAL-[160,192,224,256]-[3,4,5]
    • RadioGatun[32,64]
    • RIPEMD[160,256,320]
    • Tiger2
    • PHP's variants on Tiger ("tiger192,4", "tiger160,4", and "tiger128,4")
    • Whirlpool
  • All 5 finalists that support hashing of the NIST Lightweight Cryptography competition (2019–2023):

    • Ascon-Hash and Ascon-Hasha
    • Ascon-xof and Ascon-xofa
    • Esch[256, 384]
    • PHOTON-Beetle Hash
    • Romulus-H (3.8.0-SNAPSHOT)
    • Xoodyak
  • All 5 candidates from round 3 the NIST SHA-3 competition (2007-2012):

    • BLAKE-[224,256,348,512]
    • Groestl-[224,256,384,512]
    • JH[224,256,284,512]
    • Keccak[224,256,384,512]
    • Skein-256-[8..256], Skein-512-[8..512], Skein-1024-[8..1024]
  • 8 of 14 candidates from round 2 of the NIST SHA-3 competition (2007-2012):

    • ECHO-[224,256,348,512]
    • Fugue-[224,256,348,512]
    • Luffa-[224,256,348,512]
    • BlueMidnightWish-[224,256,384,512] (3.8.0-SNAPSHOT)
    • SIMD-[224,256,384,512] (3.8.0-SNAPSHOT)
    • CubeHash-[224,256,384,512] (3.8.0-SNAPSHOT)
    • Hamsi-[224,256,384,512] (3.8.0-SNAPSHOT)
    • Shabal-[192,224,256,384,512] (3.8.0-SNAPSHOT)
  • Proposals from the 2005 NIST workshops before the SHA-3 competition:

    • DHA-256
    • FORK-256
    • VSH-1024
  • Broken cryptographic hash functions for education and backwards compatibility purposes:

    • HAVAL-128-[3,4,5]
    • MD2
    • MD4
    • MD5
    • MDC2
    • PANAMA
    • RIPEMD-128
    • SHA-0
    • SHA-1
    • Tiger
    • Tiger/128
    • Tiger/160
    • Whirpool-0
    • Whirlpool-T

Non-Cryptographic Hash Functions

  • Standard Cyclic Redundancy Checks (CRCs)

    • CRC-8 (FLAC)
    • CRC-16 (LHA/ARC), CRC-16 (Minix), FCS-16
    • CRC-24 (OpenPGP)
    • CRC-32 (FCS-32), CRC-32 (MPEG-2), CRC-32 (bzip2), CRC-32 (FDDI), CRC-32 (UBICRC32), CRC-32 (PHP's crc32), CRC-32 (GO KOOPMAN)
    • CRC-64 (ISO 3309), CRC-64 (ECMA-182), CRC-64 (prog lang GO, const ISO), CRC-64 (.xz and prog lang GO, const ECMA), CRC-64 (NVM Express 64b CRC)
    • CRC-82 (DARC)
  • Cyclic Redundancy Checks (CRCs) with more than 6 parameters

    • cksum (Unix, POSIX 1003.2)
    • sum (Plan 9)
  • Classic Checksums

    • Adler-32
    • AST strsum PRNG hash
    • cksum (Minix)
    • ELF (Unix)
    • Fletcher's Checksum
    • FNV-0_[32,64,128,256,512,1024]
    • FNV-1_[32,64,128,256,512,1024]
    • FNV-1a_[32,64,128,256,512,1024]
    • joaat
    • PRNG hash (including parameters)
    • sum (BSD Unix)
    • sum (Minix)
    • sum (System V Unix)
    • sum [8,16,24,32,40,48,56,64]
    • xor8
    • XXH32

Customized Hash Functions

Customized Hash Functions means concatenated algorithms, HMAC, truncated HMAC, and customized CRCs.