libaaruformat 1.0
Aaru Data Preservation Suite - Format Library
Loading...
Searching...
No Matches
sha1.c File Reference
#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include <string.h>
#include "decls.h"
#include "sha1.h"

Go to the source code of this file.

Macros

#define AARU_LOCAL   static
#define ROTL32(v, n)
#define F0(b, c, d)
#define F1(b, c, d)
#define F2(b, c, d)
#define F3(b, c, d)

Functions

void aaruf_sha1_init (sha1_ctx *ctx)
static void sha1_transform (uint32_t state[5], const uint8_t block[64])
void aaruf_sha1_update (sha1_ctx *ctx, const void *data_ptr, unsigned long len)
void aaruf_sha1_final (sha1_ctx *ctx, unsigned char *digest)
void aaruf_sha1_buffer (const void *data, unsigned long size, unsigned char *result)

Macro Definition Documentation

◆ AARU_LOCAL

#define AARU_LOCAL   static

Definition at line 18 of file sha1.c.

◆ F0

#define F0 ( b,
c,
d )
Value:
(((b) & (c)) | (~(b) & (d)))

Definition at line 29 of file sha1.c.

Referenced by sha1_transform().

◆ F1

#define F1 ( b,
c,
d )
Value:
((b) ^ (c) ^ (d))

Definition at line 30 of file sha1.c.

Referenced by sha1_transform().

◆ F2

#define F2 ( b,
c,
d )
Value:
(((b) & (c)) | ((b) & (d)) | ((c) & (d)))

Definition at line 31 of file sha1.c.

Referenced by sha1_transform().

◆ F3

#define F3 ( b,
c,
d )
Value:
((b) ^ (c) ^ (d))

Definition at line 32 of file sha1.c.

Referenced by sha1_transform().

◆ ROTL32

#define ROTL32 ( v,
n )
Value:
(((v) << (n)) | ((v) >> (32 - (n))))

Definition at line 25 of file sha1.c.

Referenced by sha1_transform().

Function Documentation

◆ aaruf_sha1_buffer()

void aaruf_sha1_buffer ( const void * data,
unsigned long size,
unsigned char * result )

Definition at line 155 of file sha1.c.

References AARU_CALL, AARU_EXPORT, aaruf_sha1_final(), aaruf_sha1_init(), and aaruf_sha1_update().

◆ aaruf_sha1_final()

void aaruf_sha1_final ( sha1_ctx * ctx,
unsigned char * digest )

◆ aaruf_sha1_init()

void aaruf_sha1_init ( sha1_ctx * ctx)

Definition at line 34 of file sha1.c.

References AARU_CALL, AARU_EXPORT, sha1_ctx::buffer, sha1_ctx::count, and sha1_ctx::state.

Referenced by aaruf_create(), and aaruf_sha1_buffer().

◆ aaruf_sha1_update()

void aaruf_sha1_update ( sha1_ctx * ctx,
const void * data_ptr,
unsigned long len )

◆ sha1_transform()

void sha1_transform ( uint32_t state[5],
const uint8_t block[64] )
static

Definition at line 45 of file sha1.c.

References AARU_LOCAL, F0, F1, F2, F3, and ROTL32.

Referenced by aaruf_sha1_update().