BLAKE je rodina kryptografických hašovacích funkcí, jejichž konstrukce vychází z proudové šifry ChaCha. Aplikaci šifry ovšem předchází permutace vstupu a bitová exkluzivní disjunkce s rundovními konstantami.
Funkce BLAKE se zúčastnila v letech 2008–2012 soutěže o výběr funkce SHA-3 a dostala se až do finále, ve kterém byla ovšem z pěti kandidátů vybrána funkce Keccak.
Možná velikost otisku funkce BLAKE je 224, 256, 384 nebo 512 bitů.
Příklady:
BLAKE-256("") = 716f6e863f744b9ac22c97ec7b76ea5f5908bc5b2f67c61510bfc4751384ea7a BLAKE-512("") = a8cfbbd73726062df0c6864dda65defe58ef0cc52a5625090fa17601e1eecd1b628e94f396ae402a00acc9eab77b4d4c2e852aaaa25a636d80af3fc7913ef5b8
Na funkci BLAKE navázali její autoři v roce 2012 představením funkce BLAKE2.
Základní varianty jsou BLAKE2b optimalizovaná na 64bitové systémy, s výchozí/maximální délkou hashe 512 bitů;[pozn. 1] a úspornější (vnitřně 32bitová) BLAKE2s s (max.) 256bitovým výstupem.[pozn. 1]
Funkce umožňuje mj. také použití klíče pro hašování.
Funkci BLAKE2 používá například b2sum
z coreutils, RAR, WinRAR, rsync, Zcash, IPFS.
Příklady:
BLAKE2b-512("") = 786a02f742015903c6c6fd852552d272912f4740e15847618a86e217f71f5419d25e1031afee585313896444934eb04b903a685b1448b755d56f701afe9be2ce BLAKE2s-256("") = 69217a3079908094e11121d042354a7c1f55b6482ca1a51e1b250dfd1ed0eef9
V roce 2020 byla představena několikanásobně rychlejší BLAKE3, založena na kompresní funkci z BLAKE2s s redukovaným počtem rund, paralelizaci a hašovém stromu.[1]
Výchozí délka hashe je 256 bitů (32 B).[pozn. 2]
Příklady:
BLAKE3("") = af1349b9f5f9a1a6a0404dea36dcc9499bcb25c9adc112b7cc9a93cae41f3262 (...)
V tomto článku byly použity překlady textů z článků BLAKE (Hashfunktion) na německé Wikipedii a BLAKE (hash function) na anglické Wikipedii.