cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

gcm.h (867B)


      1#ifndef _CRYPTO_GCM_H
      2#define _CRYPTO_GCM_H
      3
      4#include <linux/errno.h>
      5
      6#define GCM_AES_IV_SIZE 12
      7#define GCM_RFC4106_IV_SIZE 8
      8#define GCM_RFC4543_IV_SIZE 8
      9
     10/*
     11 * validate authentication tag for GCM
     12 */
     13static inline int crypto_gcm_check_authsize(unsigned int authsize)
     14{
     15	switch (authsize) {
     16	case 4:
     17	case 8:
     18	case 12:
     19	case 13:
     20	case 14:
     21	case 15:
     22	case 16:
     23		break;
     24	default:
     25		return -EINVAL;
     26	}
     27
     28	return 0;
     29}
     30
     31/*
     32 * validate authentication tag for RFC4106
     33 */
     34static inline int crypto_rfc4106_check_authsize(unsigned int authsize)
     35{
     36	switch (authsize) {
     37	case 8:
     38	case 12:
     39	case 16:
     40		break;
     41	default:
     42		return -EINVAL;
     43	}
     44
     45	return 0;
     46}
     47
     48/*
     49 * validate assoclen for RFC4106/RFC4543
     50 */
     51static inline int crypto_ipsec_check_assoclen(unsigned int assoclen)
     52{
     53	switch (assoclen) {
     54	case 16:
     55	case 20:
     56		break;
     57	default:
     58		return -EINVAL;
     59	}
     60
     61	return 0;
     62}
     63#endif