tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

libcrux_core.h (2815B)


      1 /*
      2 * SPDX-FileCopyrightText: 2025 Cryspen Sarl <info@cryspen.com>
      3 *
      4 * SPDX-License-Identifier: MIT or Apache-2.0
      5 *
      6 * This code was generated with the following revisions:
      7 * Charon: 667d2fc98984ff7f3df989c2367e6c1fa4a000e7
      8 * Eurydice: 2381cbc416ef2ad0b561c362c500bc84f36b6785
      9 * Karamel: 80f5435f2fc505973c469a4afcc8d875cddd0d8b
     10 * F*: 71d8221589d4d438af3706d89cb653cf53e18aab
     11 * Libcrux: 68dfed5a4a9e40277f62828471c029afed1ecdcc
     12 */
     13 
     14 #ifndef libcrux_core_H
     15 #define libcrux_core_H
     16 
     17 #include "eurydice_glue.h"
     18 
     19 #if defined(__cplusplus)
     20 extern "C" {
     21 #endif
     22 
     23 /**
     24 A monomorphic instance of libcrux_ml_kem.types.MlKemPrivateKey
     25 with const generics
     26 - $3168size_t
     27 */
     28 typedef struct libcrux_ml_kem_types_MlKemPrivateKey_83_s {
     29    uint8_t value[3168U];
     30 } libcrux_ml_kem_types_MlKemPrivateKey_83;
     31 
     32 /**
     33 A monomorphic instance of libcrux_ml_kem.types.MlKemPublicKey
     34 with const generics
     35 - $1568size_t
     36 */
     37 typedef struct libcrux_ml_kem_types_MlKemPublicKey_64_s {
     38    uint8_t value[1568U];
     39 } libcrux_ml_kem_types_MlKemPublicKey_64;
     40 
     41 typedef struct libcrux_ml_kem_mlkem1024_MlKem1024KeyPair_s {
     42    libcrux_ml_kem_types_MlKemPrivateKey_83 sk;
     43    libcrux_ml_kem_types_MlKemPublicKey_64 pk;
     44 } libcrux_ml_kem_mlkem1024_MlKem1024KeyPair;
     45 
     46 /**
     47 A monomorphic instance of libcrux_ml_kem.types.MlKemCiphertext
     48 with const generics
     49 - $1568size_t
     50 */
     51 typedef struct libcrux_ml_kem_types_MlKemCiphertext_64_s {
     52    uint8_t value[1568U];
     53 } libcrux_ml_kem_types_MlKemCiphertext_64;
     54 
     55 /**
     56 A monomorphic instance of libcrux_ml_kem.types.MlKemPrivateKey
     57 with const generics
     58 - $2400size_t
     59 */
     60 typedef struct libcrux_ml_kem_types_MlKemPrivateKey_d9_s {
     61    uint8_t value[2400U];
     62 } libcrux_ml_kem_types_MlKemPrivateKey_d9;
     63 
     64 /**
     65 A monomorphic instance of libcrux_ml_kem.types.MlKemPublicKey
     66 with const generics
     67 - $1184size_t
     68 */
     69 typedef struct libcrux_ml_kem_types_MlKemPublicKey_30_s {
     70    uint8_t value[1184U];
     71 } libcrux_ml_kem_types_MlKemPublicKey_30;
     72 
     73 typedef struct libcrux_ml_kem_mlkem768_MlKem768KeyPair_s {
     74    libcrux_ml_kem_types_MlKemPrivateKey_d9 sk;
     75    libcrux_ml_kem_types_MlKemPublicKey_30 pk;
     76 } libcrux_ml_kem_mlkem768_MlKem768KeyPair;
     77 
     78 typedef struct libcrux_ml_kem_mlkem768_MlKem768Ciphertext_s {
     79    uint8_t value[1088U];
     80 } libcrux_ml_kem_mlkem768_MlKem768Ciphertext;
     81 
     82 /**
     83 A monomorphic instance of K.
     84 with types libcrux_ml_kem_types_MlKemCiphertext[[$1088size_t]],
     85 uint8_t[32size_t]
     86 
     87 */
     88 typedef struct tuple_c2_s {
     89    libcrux_ml_kem_mlkem768_MlKem768Ciphertext fst;
     90    uint8_t snd[32U];
     91 } tuple_c2;
     92 
     93 /**
     94 A monomorphic instance of K.
     95 with types libcrux_ml_kem_types_MlKemCiphertext[[$1568size_t]],
     96 uint8_t[32size_t]
     97 
     98 */
     99 typedef struct tuple_fa_s {
    100    libcrux_ml_kem_types_MlKemCiphertext_64 fst;
    101    uint8_t snd[32U];
    102 } tuple_fa;
    103 
    104 #if defined(__cplusplus)
    105 }
    106 #endif
    107 
    108 #define libcrux_core_H_DEFINED
    109 #endif /* libcrux_core_H */