# Vault 7: Projects

This publication series is about specific projects related to the Vault 7 main publication.

### Protego

# MLA -- Crypto Hash Library

20 December, 2013

- 1
- 2
…
- 12
- 13
- 14
- 15
- 16
…
- 24
- 25

Syntax
typedef struct {
uint32_t h0;
uint32_t h1;
uint32_t h2;
uint32_t h3;
uint32_t h4;
uint32_t bytesSoFar;
uint32_t * workingBuffer;
uint8_t partialBlock[64];
} SHA1_CONTEXT;
Members
Members Description
uint32_t h0; Hash state h0
uint32_t h1; Hash state h1
uint32_t h2; Hash state h2
uint32_t h3; Hash state h3
uint32_t h4; Hash state h4
uint32_t bytesSoFar; Total number of bytes hashed so far
uint32_t * workingBuffer; Pointer to a working buffer for hash calculation
uint8_t partialBlock[64]; Beginning of next 64 byte block
Module
SHA-1
Description
Context storage for a hash operation
1.6.2.2 SHA1_Initialize Function
Initializes a SHA-1 context to perform a SHA-1 hash.
File
sha1.h
Syntax
void SHA1_Initialize(SHA1_CONTEXT* context, uint32_t * workingBuffer);
Module
SHA-1
Returns
None.
Description
This routine initializes a hash context for the SHA-1 hash.
Remarks
You must initialize a context before calculating a SHA-1 hash.
Preconditions
None.
Example
// Initialization for CRYPTO_HASH_CONFIG_SHA_SMALL_RAM
uint32_t buffer[16];
1.6 Library Interface MLA - Crypto Hash Library Help SHA-1
14
1

- 1
- 2
…
- 12
- 13
- 14
- 15
- 16
…
- 24
- 25