Přeskočit na obsah

BLAKE

Z Wikipedie, otevřené encyklopedie

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 (...)
  1. a b Délka výstupu může být nastavena na jakoukoliv menší hodnotu (v celých bajtech), přičemž obsah výstupu závisí i na této hodnotě, nejde tedy o pouhé zkrácení výsledného hashe.
  2. Výstup lze nastavit na jakoukoliv délku, generuje proud bajtů, samotná výstupní data už na zvolené délce nezávisí, na rozdíl od BLAKE a BLAKE2.

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.

  1. BLAKE3 Is an Extremely Fast, Parallel Cryptographic Hash. InfoQ [online]. 2020-01-12 [cit. 2024-04-03]. Dostupné online. (anglicky) 

Externí odkazy

[editovat | editovat zdroj]