libjade_sys/
bindings.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
/* automatically generated by rust-bindgen 0.68.1 */

pub const JADE_HASH_SHA256_AMD64_REF_BYTES: u32 = 32;
pub const JADE_HASH_SHA256_AMD64_REF_ALGNAME: &[u8; 7] = b"SHA256\0";
pub const JADE_SCALARMULT_CURVE25519_AMD64_REF5_BYTES: u32 = 32;
pub const JADE_SCALARMULT_CURVE25519_AMD64_REF5_SCALARBYTES: u32 = 32;
pub const JADE_SCALARMULT_CURVE25519_AMD64_REF5_ALGNAME: &[u8; 11] = b"Curve25519\0";
pub const JADE_SCALARMULT_CURVE25519_AMD64_MULX_BYTES: u32 = 32;
pub const JADE_SCALARMULT_CURVE25519_AMD64_MULX_SCALARBYTES: u32 = 32;
pub const JADE_SCALARMULT_CURVE25519_AMD64_MULX_ALGNAME: &[u8; 11] = b"Curve25519\0";
pub const JADE_HASH_SHA3_224_AMD64_REF_BYTES: u32 = 28;
pub const JADE_HASH_SHA3_224_AMD64_REF_ALGNAME: &[u8; 9] = b"SHA3-224\0";
pub const JADE_HASH_SHA3_256_AMD64_REF_BYTES: u32 = 32;
pub const JADE_HASH_SHA3_256_AMD64_REF_ALGNAME: &[u8; 9] = b"SHA3-256\0";
pub const JADE_HASH_SHA3_384_AMD64_REF_BYTES: u32 = 48;
pub const JADE_HASH_SHA3_384_AMD64_REF_ALGNAME: &[u8; 9] = b"SHA3-384\0";
pub const JADE_HASH_SHA3_512_AMD64_REF_BYTES: u32 = 64;
pub const JADE_HASH_SHA3_512_AMD64_REF_ALGNAME: &[u8; 9] = b"SHA3-512\0";
pub const JADE_ONETIMEAUTH_POLY1305_AMD64_REF_BYTES: u32 = 16;
pub const JADE_ONETIMEAUTH_POLY1305_AMD64_REF_KEYBYTES: u32 = 32;
pub const JADE_ONETIMEAUTH_POLY1305_AMD64_REF_ALGNAME: &[u8; 9] = b"Poly1305\0";
pub const JADE_STREAM_CHACHA_CHACHA20_IETF_AMD64_REF_KEYBYTES: u32 = 32;
pub const JADE_STREAM_CHACHA_CHACHA20_IETF_AMD64_REF_NONCEBYTES: u32 = 12;
pub const JADE_STREAM_CHACHA_CHACHA20_IETF_AMD64_REF_ALGNAME: &[u8; 14] = b"ChaCha20-ietf\0";
pub const JADE_KEM_KYBER_KYBER768_AMD64_REF_SECRETKEYBYTES: u32 = 2400;
pub const JADE_KEM_KYBER_KYBER768_AMD64_REF_PUBLICKEYBYTES: u32 = 1184;
pub const JADE_KEM_KYBER_KYBER768_AMD64_REF_CIPHERTEXTBYTES: u32 = 1088;
pub const JADE_KEM_KYBER_KYBER768_AMD64_REF_KEYPAIRCOINBYTES: u32 = 64;
pub const JADE_KEM_KYBER_KYBER768_AMD64_REF_ENCCOINBYTES: u32 = 32;
pub const JADE_KEM_KYBER_KYBER768_AMD64_REF_BYTES: u32 = 32;
pub const JADE_KEM_KYBER_KYBER768_AMD64_REF_ALGNAME: &[u8; 9] = b"Kyber768\0";
pub const JADE_HASH_SHA3_224_AMD64_AVX2_BYTES: u32 = 28;
pub const JADE_HASH_SHA3_224_AMD64_AVX2_ALGNAME: &[u8; 9] = b"SHA3-224\0";
pub const JADE_HASH_SHA3_256_AMD64_AVX2_BYTES: u32 = 32;
pub const JADE_HASH_SHA3_256_AMD64_AVX2_ALGNAME: &[u8; 9] = b"SHA3-256\0";
pub const JADE_HASH_SHA3_384_AMD64_AVX2_BYTES: u32 = 48;
pub const JADE_HASH_SHA3_384_AMD64_AVX2_ALGNAME: &[u8; 9] = b"SHA3-384\0";
pub const JADE_HASH_SHA3_512_AMD64_AVX2_BYTES: u32 = 64;
pub const JADE_HASH_SHA3_512_AMD64_AVX2_ALGNAME: &[u8; 9] = b"SHA3-512\0";
pub const JADE_ONETIMEAUTH_POLY1305_AMD64_AVX2_BYTES: u32 = 16;
pub const JADE_ONETIMEAUTH_POLY1305_AMD64_AVX2_KEYBYTES: u32 = 32;
pub const JADE_ONETIMEAUTH_POLY1305_AMD64_AVX2_ALGNAME: &[u8; 9] = b"Poly1305\0";
pub const JADE_STREAM_CHACHA_CHACHA20_IETF_AMD64_AVX2_KEYBYTES: u32 = 32;
pub const JADE_STREAM_CHACHA_CHACHA20_IETF_AMD64_AVX2_NONCEBYTES: u32 = 12;
pub const JADE_STREAM_CHACHA_CHACHA20_IETF_AMD64_AVX2_ALGNAME: &[u8; 14] = b"ChaCha20-ietf\0";
pub const JADE_ONETIMEAUTH_POLY1305_AMD64_AVX_BYTES: u32 = 16;
pub const JADE_ONETIMEAUTH_POLY1305_AMD64_AVX_KEYBYTES: u32 = 32;
pub const JADE_ONETIMEAUTH_POLY1305_AMD64_AVX_ALGNAME: &[u8; 9] = b"Poly1305\0";
pub const JADE_STREAM_CHACHA_CHACHA20_IETF_AMD64_AVX_KEYBYTES: u32 = 32;
pub const JADE_STREAM_CHACHA_CHACHA20_IETF_AMD64_AVX_NONCEBYTES: u32 = 12;
pub const JADE_STREAM_CHACHA_CHACHA20_IETF_AMD64_AVX_ALGNAME: &[u8; 14] = b"ChaCha20-ietf\0";
extern "C" {
    pub fn jade_hash_sha256_amd64_ref(
        out: *mut u8,
        in_: *mut u8,
        length: u64,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn jade_scalarmult_curve25519_amd64_ref5(
        r: *mut u8,
        k: *mut u8,
        u: *mut u8,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn jade_scalarmult_curve25519_amd64_ref5_base(r: *mut u8, k: *mut u8)
        -> ::core::ffi::c_int;
}
extern "C" {
    pub fn jade_scalarmult_curve25519_amd64_mulx(
        r: *mut u8,
        k: *mut u8,
        u: *mut u8,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn jade_scalarmult_curve25519_amd64_mulx_base(r: *mut u8, k: *mut u8)
        -> ::core::ffi::c_int;
}
extern "C" {
    pub fn jade_hash_sha3_224_amd64_ref(
        out: *mut u8,
        in_: *mut u8,
        length: u64,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn jade_hash_sha3_256_amd64_ref(
        out: *mut u8,
        in_: *mut u8,
        length: u64,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn jade_hash_sha3_384_amd64_ref(
        out: *mut u8,
        in_: *mut u8,
        length: u64,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn jade_hash_sha3_512_amd64_ref(
        out: *mut u8,
        in_: *mut u8,
        length: u64,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn jade_onetimeauth_poly1305_amd64_ref(
        out: *mut u8,
        in_: *mut u8,
        inlen: u64,
        key: *mut u8,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn jade_onetimeauth_poly1305_amd64_ref_verify(
        h: *mut u8,
        in_: *mut u8,
        inlen: u64,
        key: *mut u8,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn jade_stream_chacha_chacha20_ietf_amd64_ref_xor(
        ciphertext: *mut u8,
        plaintext: *mut u8,
        length: u64,
        nonce: *mut u8,
        key: *mut u8,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn jade_stream_chacha_chacha20_ietf_amd64_ref(
        stream: *mut u8,
        length: u64,
        nonce: *mut u8,
        key: *mut u8,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn jade_kem_kyber_kyber768_amd64_ref_keypair_derand(
        public_key: *mut u8,
        secret_key: *mut u8,
        coins: *const u8,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn jade_kem_kyber_kyber768_amd64_ref_enc_derand(
        ciphertext: *mut u8,
        shared_secret: *mut u8,
        public_key: *const u8,
        coins: *const u8,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn jade_kem_kyber_kyber768_amd64_ref_dec(
        shared_secret: *mut u8,
        ciphertext: *const u8,
        secret_key: *const u8,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn jade_hash_sha3_224_amd64_avx2(
        out: *mut u8,
        in_: *mut u8,
        length: u64,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn jade_hash_sha3_256_amd64_avx2(
        out: *mut u8,
        in_: *mut u8,
        length: u64,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn jade_hash_sha3_384_amd64_avx2(
        out: *mut u8,
        in_: *mut u8,
        length: u64,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn jade_hash_sha3_512_amd64_avx2(
        out: *mut u8,
        in_: *mut u8,
        length: u64,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn jade_onetimeauth_poly1305_amd64_avx2(
        out: *mut u8,
        in_: *mut u8,
        inlen: u64,
        key: *mut u8,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn jade_onetimeauth_poly1305_amd64_avx2_verify(
        h: *mut u8,
        in_: *mut u8,
        inlen: u64,
        key: *mut u8,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn jade_stream_chacha_chacha20_ietf_amd64_avx2_xor(
        ciphertext: *mut u8,
        plaintext: *mut u8,
        length: u64,
        nonce: *mut u8,
        key: *mut u8,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn jade_stream_chacha_chacha20_ietf_amd64_avx2(
        stream: *mut u8,
        length: u64,
        nonce: *mut u8,
        key: *mut u8,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn jade_onetimeauth_poly1305_amd64_avx(
        out: *mut u8,
        in_: *mut u8,
        inlen: u64,
        key: *mut u8,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn jade_onetimeauth_poly1305_amd64_avx_verify(
        h: *mut u8,
        in_: *mut u8,
        inlen: u64,
        key: *mut u8,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn jade_stream_chacha_chacha20_ietf_amd64_avx_xor(
        ciphertext: *mut u8,
        plaintext: *mut u8,
        length: u64,
        nonce: *mut u8,
        key: *mut u8,
    ) -> ::core::ffi::c_int;
}
extern "C" {
    pub fn jade_stream_chacha_chacha20_ietf_amd64_avx(
        stream: *mut u8,
        length: u64,
        nonce: *mut u8,
        key: *mut u8,
    ) -> ::core::ffi::c_int;
}