[crypto] Split crypto_algorithm into {digest,cipher,pubkey}_algorithm
[people/lynusvaz/gpxe.git] / src / crypto / cipher.c
1 #include <stdint.h>
2 #include <errno.h>
3 #include <gpxe/crypto.h>
4
5 int cipher_encrypt ( struct cipher_algorithm *cipher,
6                      void *ctx, const void *src, void *dst,
7                      size_t len ) {
8         if ( ( len & ( cipher->blocksize - 1 ) ) ) {
9                 return -EINVAL;
10         }
11         cipher->encrypt ( ctx, src, dst, len );
12         return 0;
13 }
14
15 int cipher_decrypt ( struct cipher_algorithm *cipher,
16                      void *ctx, const void *src, void *dst,
17                      size_t len ) {
18         if ( ( len & ( cipher->blocksize - 1 ) ) ) {
19                 return -EINVAL;
20         }
21         cipher->decrypt ( ctx, src, dst, len );
22         return 0;
23 }
24