iPXE
md5_sha1.h File Reference

Hybrid MD5+SHA1 hash as used by TLSv1.1 and earlier. More...

#include <stdint.h>
#include <ipxe/crypto.h>
#include <ipxe/md5.h>
#include <ipxe/sha1.h>

Go to the source code of this file.

Data Structures

struct  md5_sha1_context
 An MD5+SHA1 context. More...
struct  md5_sha1_digest
 An MD5+SHA1 digest. More...
union  md5_sha1_block
 An MD5+SHA1 data block. More...
struct  md5_sha1_hmac_keys
 An MD5+SHA1 HMAC key block. More...

Macros

#define MD5_SHA1_CTX_SIZE   sizeof ( struct md5_sha1_context )
 MD5+SHA1 context size.
#define MD5_SHA1_DIGEST_SIZE   sizeof ( struct md5_sha1_digest )
 MD5+SHA1 digest size.
#define MD5_SHA1_BLOCK_SIZE   sizeof ( union md5_sha1_block )
 MD5+SHA1 block size.

Functions

 FILE_LICENCE (GPL2_OR_LATER_OR_UBDL)
 FILE_SECBOOT (PERMITTED)

Variables

struct digest_algorithm md5_sha1_algorithm
 Hybrid MD5+SHA1 digest algorithm.

Detailed Description

Hybrid MD5+SHA1 hash as used by TLSv1.1 and earlier.

Definition in file md5_sha1.h.

Macro Definition Documentation

◆ MD5_SHA1_CTX_SIZE

#define MD5_SHA1_CTX_SIZE   sizeof ( struct md5_sha1_context )

MD5+SHA1 context size.

Definition at line 27 of file md5_sha1.h.

◆ MD5_SHA1_DIGEST_SIZE

#define MD5_SHA1_DIGEST_SIZE   sizeof ( struct md5_sha1_digest )

MD5+SHA1 digest size.

Definition at line 38 of file md5_sha1.h.

◆ MD5_SHA1_BLOCK_SIZE

#define MD5_SHA1_BLOCK_SIZE   sizeof ( union md5_sha1_block )

MD5+SHA1 block size.

Definition at line 49 of file md5_sha1.h.

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )

◆ FILE_SECBOOT()

FILE_SECBOOT ( PERMITTED )

Variable Documentation

◆ md5_sha1_algorithm

struct digest_algorithm md5_sha1_algorithm
extern

Hybrid MD5+SHA1 digest algorithm.

Definition at line 84 of file md5_sha1.c.

84 {
85 .name = "md5+sha1",
86 .ctxsize = sizeof ( struct md5_sha1_context ),
87 .blocksize = sizeof ( union md5_sha1_block ),
88 .digestsize = sizeof ( struct md5_sha1_digest ),
89 .init = md5_sha1_init,
90 .update = md5_sha1_update,
91 .final = md5_sha1_final,
92};
static void md5_sha1_init(struct digest_algorithm *digest __unused, void *ctx)
Initialise MD5+SHA1 algorithm.
Definition md5_sha1.c:43
static void md5_sha1_update(struct digest_algorithm *digest __unused, void *ctx, const void *data, size_t len)
Accumulate data with MD5+SHA1 algorithm.
Definition md5_sha1.c:59
static void md5_sha1_final(struct digest_algorithm *digest __unused, void *ctx, void *out)
Generate MD5+SHA1 digest.
Definition md5_sha1.c:74
uint32_t digestsize
Digest size (i.e.
Definition pccrr.h:1
An MD5+SHA1 context.
Definition md5_sha1.h:19
An MD5+SHA1 digest.
Definition md5_sha1.h:30
An MD5+SHA1 data block.
Definition md5_sha1.h:41

Referenced by tls_generate_resumption_master(), tls_select_cipher(), tls_set_kdf_master(), and tls_verify_dh_params().