Let’s talk about BLAKE2 an awesome hash function with some pretty cool features! First: what makes it special? Well, for starters, it comes in two flavors BLAKE2b (for big architectures) and BLAKE2s (for small ones). Both versions can produce digests of any size between 1 and 64 bytes or 32 bytes if you prefer the smaller version. BLAKE2 has a built-in keying mechanism that means you don’t need an HMAC construction for message authentication like some other hash functions require (looking at you, SHA). This makes it perfect for use in digital signature algorithms and message authentication and integrity protection mechanisms. Now let me tell ya about the nitty gritty details. BLAKE2 uses a mixing function called G to mix up your data, which is pretty cool. And then there’s this compression function F that does some fancy math stuff (I don’t really understand it, but I trust these geniuses who designed it). So how do you actually use BLAKE2? Well, first you need to pad your message and compute a digest using either the big or small version. And if you want to key it for message authentication, just add a secret key to the mix (which is pretty awesome). But don’t take my word for it check out Appendix A and B in this RFC for some example computations of both versions! If you really wanna get technical, there’s an implementation in C programming language provided in Appendices C and D. And if you want to test your implementation, the Test Module contained in Appendix E is more exhaustive than a marathon runner on juice (so maybe save that one for later).
Let’s talk about BLAKE2 an awesome hash function with some pretty cool features! First: what makes it special? Well, for starters, it comes in two flavors BLAKE2b (for big architectures) and BLAKE2s (for small ones). Both versions can produce digests of any size between 1 and 64 bytes or 32 bytes if you prefer the smaller version. BLAKE2 has a built-in keying mechanism that means you don’t need an HMAC construction for message authentication like some other hash functions require (looking at you, SHA). This makes it perfect for use in digital signature algorithms and message authentication and integrity protection mechanisms. Now let me tell ya about the nitty gritty details. BLAKE2 uses a mixing function called G to mix up your data, which is pretty cool. And then there’s this compression function F that does some fancy math stuff (I don’t really understand it, but I trust these geniuses who designed it). So how do you actually use BLAKE2? Well, first you need to pad your message and compute a digest using either the big or small version. And if you want to key it for message authentication, just add a secret key to the mix (which is pretty awesome). But don’t take my word for it check out Appendix A and B in this RFC for some example computations of both versions! If you really wanna get technical, there’s an implementation in C programming language provided in Appendices C and D. And if you want to test your implementation, the Test Module contained in Appendix E is more exhaustive than a marathon runner on juice (so maybe save that one for later).