root/include/crypto/gcm.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. crypto_gcm_check_authsize
  2. crypto_rfc4106_check_authsize
  3. crypto_ipsec_check_assoclen

   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  */
  13 static 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  */
  34 static 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  */
  51 static 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

/* [<][>][^][v][top][bottom][index][help] */