1 /* Public key algorithm internals 2 * 3 * See Documentation/crypto/asymmetric-keys.txt 4 * 5 * Copyright (C) 2012 Red Hat, Inc. All Rights Reserved. 6 * Written by David Howells (dhowells@redhat.com) 7 * 8 * This program is free software; you can redistribute it and/or 9 * modify it under the terms of the GNU General Public Licence 10 * as published by the Free Software Foundation; either version 11 * 2 of the Licence, or (at your option) any later version. 12 */ 13 14 #include <crypto/public_key.h> 15 16 extern struct asymmetric_key_subtype public_key_subtype; 17 18 /* 19 * Public key algorithm definition. 20 */ 21 struct public_key_algorithm { 22 const char *name; 23 u8 n_pub_mpi; /* Number of MPIs in public key */ 24 u8 n_sec_mpi; /* Number of MPIs in secret key */ 25 u8 n_sig_mpi; /* Number of MPIs in a signature */ 26 int (*verify_signature)(const struct public_key *key, 27 const struct public_key_signature *sig); 28 }; 29 30 extern const struct public_key_algorithm RSA_public_key_algorithm; 31 32 /* 33 * public_key.c 34 */ 35 extern int public_key_verify_signature(const struct public_key *pk, 36 const struct public_key_signature *sig); 37