64 lines · 856 B · C
RawDownload
#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(size_t 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(size_t 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