gestumblinde

Gestumblinde - reference implementation of SLH-DSA
git clone git://www.tkruger.se/gestumblinde.git
Log | Files | Refs | README

context.h (1582B)


      1 #define ADRS_LEN 8
      2 
      3 #if defined(SLH_DSA_SHAKE_128S) || defined(SLH_DSA_SHA2_128S)
      4 
      5 #define ENN 16
      6 #define H 63
      7 #define D 7
      8 #define HP 9
      9 #define A 12
     10 #define K 14
     11 #define LGW 4
     12 #define M 30
     13 #define SLH_SIGNATURE_LEN 7856
     14 
     15 #elif defined(SLH_DSA_SHAKE_128F) || defined(SLH_DSA_SHA2_128F)
     16 
     17 #define ENN 16
     18 #define H 66
     19 #define D 22
     20 #define HP 3
     21 #define A 6
     22 #define K 33
     23 #define LGW 4
     24 #define M 34
     25 #define SLH_SIGNATURE_LEN 17088
     26 
     27 #elif defined(SLH_DSA_SHAKE_192S) || defined(SLH_DSA_SHA2_192S)
     28 
     29 #define ENN 24
     30 #define H 63
     31 #define D 7
     32 #define HP 9
     33 #define A 14
     34 #define K 17
     35 #define LGW 4
     36 #define M 39
     37 #define SLH_SIGNATURE_LEN 16224
     38 
     39 #elif defined(SLH_DSA_SHAKE_192F) || defined(SLH_DSA_SHA2_192F)
     40 
     41 #define ENN 24
     42 #define H 66
     43 #define D 22
     44 #define HP 3
     45 #define A 8
     46 #define K 33
     47 #define LGW 4
     48 #define M 42
     49 #define SLH_SIGNATURE_LEN 35664
     50 
     51 #elif defined(SLH_DSA_SHAKE_256S) || defined(SLH_DSA_SHA2_256S)
     52 
     53 #define ENN 32
     54 #define H 64
     55 #define D 8
     56 #define HP 8
     57 #define A 14
     58 #define K 22
     59 #define LGW 4
     60 #define M 47
     61 #define SLH_SIGNATURE_LEN 29792
     62 
     63 #elif defined(SLH_DSA_SHAKE_256F) || defined(SLH_DSA_SHA2_256F)
     64 
     65 #define ENN 32
     66 #define H 68
     67 #define D 17
     68 #define HP 4
     69 #define A 9
     70 #define K 35
     71 #define LGW 4
     72 #define M 49
     73 #define SLH_SIGNATURE_LEN 49856
     74 
     75 #else
     76 
     77 #error "No recognizable parameter set definition."
     78 
     79 #endif
     80 
     81 #define WOTSP_W 16
     82 #define WOTSP_LEN1 (2 * ENN)
     83 #define WOTSP_LEN2 3
     84 #define WOTSP_LEN (2 * ENN + 3)
     85 #define FORS_MD_LEN ((A * K + 7) >> 3)
     86 #define FORS_SIG_LEN (K * (A + 1) * ENN)
     87 #define IDX_TREE_LEN ((H - H / D + 7) >> 3)
     88 #define IDX_LEAF_LEN ((H + 8 * D - 1) / (8 * D))