# BLAKE2

> cryptographic hash function

**Wikidata**: [Q81575703](https://www.wikidata.org/wiki/Q81575703)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/BLAKE2)  
**Source**: https://4ort.xyz/entity/blake2

## Summary  
BLAKE2 is a cryptographic hash function introduced on 21 December 2012. It builds on the earlier BLAKE algorithm, offers multiple variants (BLAKE2b, BLAKE2s, BLAKE2bp, BLAKE2sp, BLAKE2x), and is defined in RFC 7693. BLAKE2 is widely used for secure hashing and message‑authentication code (MAC) operations.

## Key Facts  
- **Inception date:** 21 December 2012, announced via the cryptography mailing list【inception】.  
- **Official website:** https://blake2.net (English)【website】.  
- **Standardisation:** Described in RFC 7693 – *The BLAKE2 Cryptographic Hash and Message Authentication Code (MAC)*【described_by_source】.  
- **Parent algorithm:** Follows the BLAKE hash function【follows】.  
- **Successor:** Followed by BLAKE3, another cryptographic hash function【followed_by】.  
- **Sub‑class:** Classified as a cryptographic hash function【subclass_of】.  
- **Variants:** Consists of five main parts – BLAKE2b, BLAKE2s, BLAKE2bp, BLAKE2sp, and BLAKE2x【has_part(s)】.  
- **Package availability:** Available as the *libb2* port in MacPorts【macports_port】.  
- **Wikidata description:** “cryptographic hash function”【wikidata_description】.  
- **Wikipedia presence:** Article titled “BLAKE2” in English, German, and Japanese【wikipedia_title】【wikipedia_languages】.

## FAQs  
### Q: What is BLAKE2 used for?  
A: BLAKE2 provides a fast, secure cryptographic hash and a message‑authentication code (MAC) for data integrity and authentication, and it is employed in software libraries, security protocols, and file‑verification tools.  

### Q: How does BLAKE2 differ from its predecessor BLAKE?  
A: BLAKE2 is a refined version of BLAKE that adds dedicated MAC functionality, offers multiple optimized variants for different platforms, and is defined in an official RFC (7693) for broader standard adoption.  

### Q: When was BLAKE2 released and where can I find its specification?  
A: BLAKE2 was released on 21 December 2012; its full specification is published in RFC 7693, which is publicly accessible online.  

### Q: Which variant of BLAKE2 should I use for 64‑bit systems?  
A: For 64‑bit platforms, BLAKE2b is the recommended variant, offering high throughput and strong security.  

### Q: Is BLAKE2 still maintained or superseded?  
A: BLAKE2 remains in active use, but it has a newer sibling, BLAKE3, which builds on its design for even higher performance while maintaining security guarantees.  

## Why It Matters  
BLAKE2 addresses the need for a high‑performance, secure hashing algorithm that can also serve as a message‑authentication code without requiring a separate construction. By delivering both hash and MAC capabilities in a single, well‑specified primitive, BLAKE2 simplifies implementation and reduces the risk of misuse. Its multiple variants allow developers to choose the most efficient version for their target hardware—BLAKE2b for 64‑bit CPUs, BLAKE2s for constrained or 32‑bit environments, and the parallelized BLAKE2bp/BLAKE2sp for multi‑core systems. The formalisation of BLAKE2 in RFC 7693 gives it a recognized standard status, encouraging adoption across cryptographic libraries, file‑verification tools, and network protocols. As a successor to the award‑winning BLAKE algorithm, BLAKE2 continues the lineage of secure, fast hash functions that underpin modern data integrity and authentication practices.  

## Notable For  
- **Standardised in an RFC:** Officially documented in RFC 7693, giving it a recognized Internet standard status.  
- **Multiple optimized variants:** Includes BLAKE2b, BLAKE2s, BLAKE2bp, BLAKE2sp, and BLAKE2x to suit diverse hardware and performance needs.  
- **Combined hash and MAC:** Provides both cryptographic hashing and message‑authentication code functionality in a single primitive.  
- **Direct successor to BLAKE:** Builds on the BLAKE design, improving speed and flexibility while retaining strong security properties.  
- **Precursor to BLAKE3:** Influences the design of the newer BLAKE3 algorithm, demonstrating its lasting impact on hash‑function research.  

## Body  

### Overview  
BLAKE2 is a family of cryptographic hash functions that produce fixed‑size digests from arbitrary input data. It is designed for high speed on modern CPUs while preserving the security properties required for cryptographic applications.  

### History and Standardisation  
- **Release:** 21 December 2012, announced on the cryptography mailing list.  
- **RFC 7693:** The algorithm’s specification, including both hash and MAC modes, was formalised in RFC 7693, titled *The BLAKE2 Cryptographic Hash and Message Authentication Code (MAC)*.  

### Variants  

| Variant | Typical Use‑Case | Platform Optimisation |
|---------|------------------|-----------------------|
| **BLAKE2b** | General‑purpose hashing on 64‑bit systems | Optimised for 64‑bit CPUs, high throughput |
| **BLAKE2s** | Embedded or 32‑bit environments | Faster on constrained devices |
| **BLAKE2bp** | Parallel hashing on multi‑core CPUs | Uses multiple BLAKE2b instances in parallel |
| **BLAKE2sp** | Parallel hashing for 32‑bit/embedded | Parallel version of BLAKE2s |
| **BLAKE2x** | Extensible output length | Allows variable‑length digests beyond the fixed sizes of other variants |

### Technical Characteristics  
- **Security:** Provides at least 256‑bit security against collision and pre‑image attacks, comparable to SHA‑2 and SHA‑3 families.  
- **Performance:** Often faster than SHA‑2 and SHA‑3 on common hardware due to streamlined round functions and efficient use of SIMD instructions.  
- **MAC Mode:** BLAKE2 includes a built‑in keyed mode that functions as a message‑authentication code, eliminating the need for a separate HMAC construction.  

### Relationships to Other Hash Functions  
- **Predecessor:** Directly follows the BLAKE hash function, inheriting its core design.  
- **Successor:** BLAKE3, released later, extends BLAKE2’s concepts with even higher performance while maintaining security.  

### Adoption and Availability  
- **Software Packages:** Distributed as the *libb2* library in MacPorts, and incorporated into many cryptographic libraries (e.g., OpenSSL, libsodium).  
- **Use Cases:** File integrity verification, password hashing, digital signatures, blockchain technologies, and secure communications protocols.  

## Schema Markup  
```json
{
  "@context": "https://schema.org",
  "@type": "Thing",
  "name": "BLAKE2",
  "description": "BLAKE2 is a cryptographic hash function introduced in December 2012, offering multiple variants and defined in RFC 7693.",
  "url": "https://blake2.net",
  "sameAs": ["https://en.wikipedia.org/wiki/BLAKE2"],
  "additionalType": "CryptographicHashFunction"
}

## References

1. [Source](https://lists.randombit.net/pipermail/cryptography/2012-December/003562.html)