iPXE
crypto_null.c File Reference

Null crypto algorithm. More...

#include <string.h>
#include <ipxe/crypto.h>

Go to the source code of this file.

Functions

 FILE_LICENCE (GPL2_OR_LATER_OR_UBDL)
 FILE_SECBOOT (PERMITTED)
void digest_null_init (void *ctx __unused)
void digest_null_update (void *ctx __unused, const void *src __unused, size_t len __unused)
void digest_null_final (void *ctx __unused, void *out __unused)
int cipher_null_setkey (void *ctx __unused, const void *key __unused, size_t keylen __unused)
void cipher_null_setiv (void *ctx __unused, const void *iv __unused, size_t ivlen __unused)
void cipher_null_encrypt (void *ctx __unused, const void *src, void *dst, size_t len)
void cipher_null_decrypt (void *ctx __unused, const void *src, void *dst, size_t len)
void cipher_null_auth (void *ctx __unused, void *auth __unused)
int pubkey_null_encrypt (const struct asn1_cursor *key __unused, const struct asn1_cursor *plaintext __unused, struct asn1_builder *ciphertext __unused)
int pubkey_null_decrypt (const struct asn1_cursor *key __unused, const struct asn1_cursor *ciphertext __unused, struct asn1_builder *plaintext __unused)
int pubkey_null_sign (const struct asn1_cursor *key __unused, struct digest_algorithm *digest __unused, const void *value __unused, struct asn1_builder *signature __unused)
int pubkey_null_verify (const struct asn1_cursor *key __unused, struct digest_algorithm *digest __unused, const void *value __unused, const struct asn1_cursor *signature __unused)

Variables

struct digest_algorithm digest_null
struct cipher_algorithm cipher_null
struct pubkey_algorithm pubkey_null

Detailed Description

Null crypto algorithm.

Definition in file crypto_null.c.

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL )

◆ FILE_SECBOOT()

FILE_SECBOOT ( PERMITTED )

◆ digest_null_init()

void digest_null_init ( void *ctx __unused)

Definition at line 36 of file crypto_null.c.

36 {
37 /* Do nothing */
38}

References __unused, and ctx.

◆ digest_null_update()

void digest_null_update ( void *ctx __unused,
const void *src __unused,
size_t len __unused )

Definition at line 40 of file crypto_null.c.

41 {
42 /* Do nothing */
43}

References __unused, ctx, len, and src.

◆ digest_null_final()

void digest_null_final ( void *ctx __unused,
void *out __unused )

Definition at line 45 of file crypto_null.c.

45 {
46 /* Do nothing */
47}

References __unused, ctx, and out.

◆ cipher_null_setkey()

int cipher_null_setkey ( void *ctx __unused,
const void *key __unused,
size_t keylen __unused )

Definition at line 59 of file crypto_null.c.

60 {
61 /* Do nothing */
62 return 0;
63}

References __unused, ctx, and key.

◆ cipher_null_setiv()

void cipher_null_setiv ( void *ctx __unused,
const void *iv __unused,
size_t ivlen __unused )

Definition at line 65 of file crypto_null.c.

66 {
67 /* Do nothing */
68}

References __unused, ctx, and iv.

◆ cipher_null_encrypt()

void cipher_null_encrypt ( void *ctx __unused,
const void * src,
void * dst,
size_t len )

Definition at line 70 of file crypto_null.c.

71 {
72 memcpy ( dst, src, len );
73}
static const void * src
Definition string.h:48
ring len
Length.
Definition dwmac.h:226
void * memcpy(void *dest, const void *src, size_t len) __nonnull

References __unused, ctx, len, memcpy(), and src.

◆ cipher_null_decrypt()

void cipher_null_decrypt ( void *ctx __unused,
const void * src,
void * dst,
size_t len )

Definition at line 75 of file crypto_null.c.

76 {
77 memcpy ( dst, src, len );
78}

References __unused, ctx, len, memcpy(), and src.

◆ cipher_null_auth()

void cipher_null_auth ( void *ctx __unused,
void *auth __unused )

Definition at line 80 of file crypto_null.c.

80 {
81 /* Do nothing */
82}

References __unused, and ctx.

◆ pubkey_null_encrypt()

int pubkey_null_encrypt ( const struct asn1_cursor *key __unused,
const struct asn1_cursor *plaintext __unused,
struct asn1_builder *ciphertext __unused )

Definition at line 97 of file crypto_null.c.

99 {
100 return 0;
101}

References __unused, and key.

◆ pubkey_null_decrypt()

int pubkey_null_decrypt ( const struct asn1_cursor *key __unused,
const struct asn1_cursor *ciphertext __unused,
struct asn1_builder *plaintext __unused )

Definition at line 103 of file crypto_null.c.

105 {
106 return 0;
107}

References __unused, and key.

◆ pubkey_null_sign()

int pubkey_null_sign ( const struct asn1_cursor *key __unused,
struct digest_algorithm *digest __unused,
const void *value __unused,
struct asn1_builder *signature __unused )

Definition at line 109 of file crypto_null.c.

112 {
113 return 0;
114}

References __unused, key, signature, and value.

◆ pubkey_null_verify()

int pubkey_null_verify ( const struct asn1_cursor *key __unused,
struct digest_algorithm *digest __unused,
const void *value __unused,
const struct asn1_cursor *signature __unused )

Definition at line 116 of file crypto_null.c.

119 {
120 return 0;
121}

References __unused, key, signature, and value.

Variable Documentation

◆ digest_null

struct digest_algorithm digest_null
Initial value:
= {
.name = "null",
.ctxsize = 0,
.blocksize = 1,
.digestsize = 0,
.update = digest_null_update,
}
void digest_null_init(void *ctx __unused)
Definition crypto_null.c:36
void digest_null_final(void *ctx __unused, void *out __unused)
Definition crypto_null.c:45
void digest_null_update(void *ctx __unused, const void *src __unused, size_t len __unused)
Definition crypto_null.c:40

Definition at line 49 of file crypto_null.c.

49 {
50 .name = "null",
51 .ctxsize = 0,
52 .blocksize = 1,
53 .digestsize = 0,
54 .init = digest_null_init,
55 .update = digest_null_update,
56 .final = digest_null_final,
57};

Referenced by cms_parse_participants(), pubkey_null_verify(), and tls_clear_handshake().

◆ cipher_null

struct cipher_algorithm cipher_null
Initial value:
= {
.name = "null",
.ctxsize = 0,
.blocksize = 1,
.alignsize = 1,
.authsize = 0,
.setkey = cipher_null_setkey,
.encrypt = cipher_null_encrypt,
.decrypt = cipher_null_decrypt,
}
void cipher_null_setiv(void *ctx __unused, const void *iv __unused, size_t ivlen __unused)
Definition crypto_null.c:65
void cipher_null_encrypt(void *ctx __unused, const void *src, void *dst, size_t len)
Definition crypto_null.c:70
void cipher_null_decrypt(void *ctx __unused, const void *src, void *dst, size_t len)
Definition crypto_null.c:75
void cipher_null_auth(void *ctx __unused, void *auth __unused)
Definition crypto_null.c:80
int cipher_null_setkey(void *ctx __unused, const void *key __unused, size_t keylen __unused)
Definition crypto_null.c:59

Definition at line 84 of file crypto_null.c.

84 {
85 .name = "null",
86 .ctxsize = 0,
87 .blocksize = 1,
88 .alignsize = 1,
89 .authsize = 0,
90 .setkey = cipher_null_setkey,
91 .setiv = cipher_null_setiv,
92 .encrypt = cipher_null_encrypt,
93 .decrypt = cipher_null_decrypt,
94 .auth = cipher_null_auth,
95};

Referenced by cms_message(), and pubkey_null_verify().

◆ pubkey_null

struct pubkey_algorithm pubkey_null
Initial value:
= {
.name = "null",
.encrypt = pubkey_null_encrypt,
.decrypt = pubkey_null_decrypt,
.verify = pubkey_null_verify,
}
int pubkey_null_decrypt(const struct asn1_cursor *key __unused, const struct asn1_cursor *ciphertext __unused, struct asn1_builder *plaintext __unused)
int pubkey_null_sign(const struct asn1_cursor *key __unused, struct digest_algorithm *digest __unused, const void *value __unused, struct asn1_builder *signature __unused)
int pubkey_null_verify(const struct asn1_cursor *key __unused, struct digest_algorithm *digest __unused, const void *value __unused, const struct asn1_cursor *signature __unused)
int pubkey_null_encrypt(const struct asn1_cursor *key __unused, const struct asn1_cursor *plaintext __unused, struct asn1_builder *ciphertext __unused)
Definition crypto_null.c:97

Definition at line 123 of file crypto_null.c.

123 {
124 .name = "null",
125 .encrypt = pubkey_null_encrypt,
126 .decrypt = pubkey_null_decrypt,
127 .sign = pubkey_null_sign,
128 .verify = pubkey_null_verify,
129};

Referenced by cms_parse_participants(), and pubkey_null_verify().