[crypto] Remove obsolete maximum output length method

Now that public-key algorithms use ASN.1 builders to dynamically
allocate the output data, there is no further need for callers to be
able to determine the maximum output length.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown
2025-12-02 13:13:01 +00:00
parent 1ccc320ee9
commit 3e566818f7
3 changed files with 0 additions and 40 deletions

View File

@@ -93,10 +93,6 @@ struct cipher_algorithm cipher_null = {
.auth = cipher_null_auth, .auth = cipher_null_auth,
}; };
size_t pubkey_null_max_len ( const struct asn1_cursor *key __unused ) {
return 0;
}
int pubkey_null_encrypt ( const struct asn1_cursor *key __unused, int pubkey_null_encrypt ( const struct asn1_cursor *key __unused,
const struct asn1_cursor *plaintext __unused, const struct asn1_cursor *plaintext __unused,
struct asn1_builder *ciphertext __unused ) { struct asn1_builder *ciphertext __unused ) {
@@ -125,7 +121,6 @@ int pubkey_null_verify ( const struct asn1_cursor *key __unused,
struct pubkey_algorithm pubkey_null = { struct pubkey_algorithm pubkey_null = {
.name = "null", .name = "null",
.max_len = pubkey_null_max_len,
.encrypt = pubkey_null_encrypt, .encrypt = pubkey_null_encrypt,
.decrypt = pubkey_null_decrypt, .decrypt = pubkey_null_decrypt,
.sign = pubkey_null_sign, .sign = pubkey_null_sign,

View File

@@ -287,27 +287,6 @@ static int rsa_init ( struct rsa_context *context,
return rc; return rc;
} }
/**
* Calculate RSA maximum output length
*
* @v key Key
* @ret max_len Maximum output length
*/
static size_t rsa_max_len ( const struct asn1_cursor *key ) {
struct asn1_cursor modulus;
struct asn1_cursor exponent;
int rc;
/* Parse moduli and exponents */
if ( ( rc = rsa_parse_mod_exp ( &modulus, &exponent, key ) ) != 0 ) {
/* Return a zero maximum length on error */
return 0;
}
/* Output length can never exceed modulus length */
return modulus.len;
}
/** /**
* Perform RSA cipher operation * Perform RSA cipher operation
* *
@@ -706,7 +685,6 @@ static int rsa_match ( const struct asn1_cursor *private_key,
/** RSA public-key algorithm */ /** RSA public-key algorithm */
struct pubkey_algorithm rsa_algorithm = { struct pubkey_algorithm rsa_algorithm = {
.name = "rsa", .name = "rsa",
.max_len = rsa_max_len,
.encrypt = rsa_encrypt, .encrypt = rsa_encrypt,
.decrypt = rsa_decrypt, .decrypt = rsa_decrypt,
.sign = rsa_sign, .sign = rsa_sign,

View File

@@ -121,12 +121,6 @@ struct cipher_algorithm {
struct pubkey_algorithm { struct pubkey_algorithm {
/** Algorithm name */ /** Algorithm name */
const char *name; const char *name;
/** Calculate maximum output length
*
* @v key Key
* @ret max_len Maximum output length
*/
size_t ( * max_len ) ( const struct asn1_cursor *key );
/** Encrypt /** Encrypt
* *
* @v key Key * @v key Key
@@ -266,12 +260,6 @@ is_auth_cipher ( struct cipher_algorithm *cipher ) {
return cipher->authsize; return cipher->authsize;
} }
static inline __attribute__ (( always_inline )) size_t
pubkey_max_len ( struct pubkey_algorithm *pubkey,
const struct asn1_cursor *key ) {
return pubkey->max_len ( key );
}
static inline __attribute__ (( always_inline )) int static inline __attribute__ (( always_inline )) int
pubkey_encrypt ( struct pubkey_algorithm *pubkey, const struct asn1_cursor *key, pubkey_encrypt ( struct pubkey_algorithm *pubkey, const struct asn1_cursor *key,
const struct asn1_cursor *plaintext, const struct asn1_cursor *plaintext,
@@ -325,7 +313,6 @@ extern void cipher_null_decrypt ( void *ctx, const void *src, void *dst,
size_t len ); size_t len );
extern void cipher_null_auth ( void *ctx, void *auth ); extern void cipher_null_auth ( void *ctx, void *auth );
extern size_t pubkey_null_max_len ( const struct asn1_cursor *key );
extern int pubkey_null_encrypt ( const struct asn1_cursor *key, extern int pubkey_null_encrypt ( const struct asn1_cursor *key,
const struct asn1_cursor *plaintext, const struct asn1_cursor *plaintext,
struct asn1_builder *ciphertext ); struct asn1_builder *ciphertext );