123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- #ifndef _CRYPTO_GCM_H
- #define _CRYPTO_GCM_H
- #include <linux/errno.h>
- #define GCM_AES_IV_SIZE 12
- #define GCM_RFC4106_IV_SIZE 8
- #define GCM_RFC4543_IV_SIZE 8
- /*
- * validate authentication tag for GCM
- */
- static inline int crypto_gcm_check_authsize(unsigned int authsize)
- {
- switch (authsize) {
- case 4:
- case 8:
- case 12:
- case 13:
- case 14:
- case 15:
- case 16:
- break;
- default:
- return -EINVAL;
- }
- return 0;
- }
- /*
- * validate authentication tag for RFC4106
- */
- static inline int crypto_rfc4106_check_authsize(unsigned int authsize)
- {
- switch (authsize) {
- case 8:
- case 12:
- case 16:
- break;
- default:
- return -EINVAL;
- }
- return 0;
- }
- /*
- * validate assoclen for RFC4106/RFC4543
- */
- static inline int crypto_ipsec_check_assoclen(unsigned int assoclen)
- {
- switch (assoclen) {
- case 16:
- case 20:
- break;
- default:
- return -EINVAL;
- }
- return 0;
- }
- #endif
|