xref: /php-src/ext/sodium/libsodium.stub.php (revision 1816403d)
1<?php
2
3/** @generate-class-entries */
4
5/**
6 * @var string
7 * @cvalue SODIUM_LIBRARY_VERSION()
8 */
9const SODIUM_LIBRARY_VERSION = UNKNOWN;
10/**
11 * @var int
12 * @cvalue sodium_library_version_major()
13 */
14const SODIUM_LIBRARY_MAJOR_VERSION = UNKNOWN;
15/**
16 * @var int
17 * @cvalue sodium_library_version_minor()
18 */
19const SODIUM_LIBRARY_MINOR_VERSION = UNKNOWN;
20#ifdef HAVE_AESGCM
21/**
22 * @var int
23 * @cvalue crypto_aead_aes256gcm_KEYBYTES
24 */
25const SODIUM_CRYPTO_AEAD_AES256GCM_KEYBYTES = UNKNOWN;
26/**
27 * @var int
28 * @cvalue crypto_aead_aes256gcm_NSECBYTES
29 */
30const SODIUM_CRYPTO_AEAD_AES256GCM_NSECBYTES = UNKNOWN;
31/**
32 * @var int
33 * @cvalue crypto_aead_aes256gcm_NPUBBYTES
34 */
35const SODIUM_CRYPTO_AEAD_AES256GCM_NPUBBYTES = UNKNOWN;
36/**
37 * @var int
38 * @cvalue crypto_aead_aes256gcm_ABYTES
39 */
40const SODIUM_CRYPTO_AEAD_AES256GCM_ABYTES = UNKNOWN;
41#endif
42
43#ifdef crypto_aead_aegis128l_KEYBYTES
44/**
45 * @var int
46 * @cvalue crypto_aead_aegis128l_KEYBYTES
47 */
48const SODIUM_CRYPTO_AEAD_AEGIS128L_KEYBYTES = UNKNOWN;
49/**
50 * @var int
51 * @cvalue crypto_aead_aegis128l_NSECBYTES
52 */
53const SODIUM_CRYPTO_AEAD_AEGIS128L_NSECBYTES = UNKNOWN;
54/**
55 * @var int
56 * @cvalue crypto_aead_aegis128l_NPUBBYTES
57 */
58const SODIUM_CRYPTO_AEAD_AEGIS128L_NPUBBYTES = UNKNOWN;
59/**
60 * @var int
61 * @cvalue crypto_aead_aegis128l_ABYTES
62 */
63const SODIUM_CRYPTO_AEAD_AEGIS128L_ABYTES = UNKNOWN;
64#endif
65
66#ifdef crypto_aead_aegis256_KEYBYTES
67/**
68 * @var int
69 * @cvalue crypto_aead_aegis256_KEYBYTES
70 */
71const SODIUM_CRYPTO_AEAD_AEGIS256_KEYBYTES = UNKNOWN;
72/**
73 * @var int
74 * @cvalue crypto_aead_aegis256_NSECBYTES
75 */
76const SODIUM_CRYPTO_AEAD_AEGIS256_NSECBYTES = UNKNOWN;
77/**
78 * @var int
79 * @cvalue crypto_aead_aegis256_NPUBBYTES
80 */
81const SODIUM_CRYPTO_AEAD_AEGIS256_NPUBBYTES = UNKNOWN;
82/**
83 * @var int
84 * @cvalue crypto_aead_aegis256_ABYTES
85 */
86const SODIUM_CRYPTO_AEAD_AEGIS256_ABYTES = UNKNOWN;
87#endif
88
89/**
90 * @var int
91 * @cvalue crypto_aead_chacha20poly1305_KEYBYTES
92 */
93const SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_KEYBYTES = UNKNOWN;
94/**
95 * @var int
96 * @cvalue crypto_aead_chacha20poly1305_NSECBYTES
97 */
98const SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_NSECBYTES = UNKNOWN;
99/**
100 * @var int
101 * @cvalue crypto_aead_chacha20poly1305_NPUBBYTES
102 */
103const SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_NPUBBYTES = UNKNOWN;
104/**
105 * @var int
106 * @cvalue crypto_aead_chacha20poly1305_ABYTES
107 */
108const SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_ABYTES = UNKNOWN;
109/**
110 * @var int
111 * @cvalue crypto_aead_chacha20poly1305_IETF_KEYBYTES
112 */
113const SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_KEYBYTES = UNKNOWN;
114/**
115 * @var int
116 * @cvalue crypto_aead_chacha20poly1305_IETF_NSECBYTES
117 */
118const SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NSECBYTES = UNKNOWN;
119/**
120 * @var int
121 * @cvalue crypto_aead_chacha20poly1305_IETF_NPUBBYTES
122 */
123const SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NPUBBYTES = UNKNOWN;
124/**
125 * @var int
126 * @cvalue crypto_aead_chacha20poly1305_IETF_ABYTES
127 */
128const SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_ABYTES = UNKNOWN;
129#ifdef crypto_aead_xchacha20poly1305_IETF_NPUBBYTES
130/**
131 * @var int
132 * @cvalue crypto_aead_xchacha20poly1305_IETF_KEYBYTES
133 */
134const SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_KEYBYTES = UNKNOWN;
135/**
136 * @var int
137 * @cvalue crypto_aead_xchacha20poly1305_IETF_NSECBYTES
138 */
139const SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_NSECBYTES = UNKNOWN;
140/**
141 * @var int
142 * @cvalue crypto_aead_xchacha20poly1305_IETF_NPUBBYTES
143 */
144const SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_NPUBBYTES = UNKNOWN;
145/**
146 * @var int
147 * @cvalue crypto_aead_xchacha20poly1305_IETF_ABYTES
148 */
149const SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_ABYTES = UNKNOWN;
150#endif
151/**
152 * @var int
153 * @cvalue crypto_auth_BYTES
154 */
155const SODIUM_CRYPTO_AUTH_BYTES = UNKNOWN;
156/**
157 * @var int
158 * @cvalue crypto_auth_KEYBYTES
159 */
160const SODIUM_CRYPTO_AUTH_KEYBYTES = UNKNOWN;
161/**
162 * @var int
163 * @cvalue crypto_box_SEALBYTES
164 */
165const SODIUM_CRYPTO_BOX_SEALBYTES = UNKNOWN;
166/**
167 * @var int
168 * @cvalue crypto_box_SECRETKEYBYTES
169 */
170const SODIUM_CRYPTO_BOX_SECRETKEYBYTES = UNKNOWN;
171/**
172 * @var int
173 * @cvalue crypto_box_PUBLICKEYBYTES
174 */
175const SODIUM_CRYPTO_BOX_PUBLICKEYBYTES = UNKNOWN;
176/**
177 * @var int
178 * @cvalue SODIUM_CRYPTO_BOX_KEYPAIRBYTES()
179 */
180const SODIUM_CRYPTO_BOX_KEYPAIRBYTES = UNKNOWN;
181/**
182 * @var int
183 * @cvalue crypto_box_MACBYTES
184 */
185const SODIUM_CRYPTO_BOX_MACBYTES = UNKNOWN;
186/**
187 * @var int
188 * @cvalue crypto_box_NONCEBYTES
189 */
190const SODIUM_CRYPTO_BOX_NONCEBYTES = UNKNOWN;
191/**
192 * @var int
193 * @cvalue crypto_box_SEEDBYTES
194 */
195const SODIUM_CRYPTO_BOX_SEEDBYTES = UNKNOWN;
196
197/**
198 * @var int
199 * @cvalue crypto_kdf_BYTES_MIN
200 */
201const SODIUM_CRYPTO_KDF_BYTES_MIN = UNKNOWN;
202/**
203 * @var int
204 * @cvalue crypto_kdf_BYTES_MAX
205 */
206const SODIUM_CRYPTO_KDF_BYTES_MAX = UNKNOWN;
207/**
208 * @var int
209 * @cvalue crypto_kdf_CONTEXTBYTES
210 */
211const SODIUM_CRYPTO_KDF_CONTEXTBYTES = UNKNOWN;
212/**
213 * @var int
214 * @cvalue crypto_kdf_KEYBYTES
215 */
216const SODIUM_CRYPTO_KDF_KEYBYTES = UNKNOWN;
217
218/**
219 * @var int
220 * @cvalue crypto_kx_SEEDBYTES
221 */
222const SODIUM_CRYPTO_KX_SEEDBYTES = UNKNOWN;
223/**
224 * @var int
225 * @cvalue crypto_kx_SESSIONKEYBYTES
226 */
227const SODIUM_CRYPTO_KX_SESSIONKEYBYTES = UNKNOWN;
228/**
229 * @var int
230 * @cvalue crypto_kx_PUBLICKEYBYTES
231 */
232const SODIUM_CRYPTO_KX_PUBLICKEYBYTES = UNKNOWN;
233/**
234 * @var int
235 * @cvalue crypto_kx_SECRETKEYBYTES
236 */
237const SODIUM_CRYPTO_KX_SECRETKEYBYTES = UNKNOWN;
238/**
239 * @var int
240 * @cvalue SODIUM_CRYPTO_KX_KEYPAIRBYTES()
241 */
242const SODIUM_CRYPTO_KX_KEYPAIRBYTES = UNKNOWN;
243#ifdef crypto_secretstream_xchacha20poly1305_ABYTES
244/**
245 * @var int
246 * @cvalue crypto_secretstream_xchacha20poly1305_ABYTES
247 */
248const SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_ABYTES = UNKNOWN;
249/**
250 * @var int
251 * @cvalue crypto_secretstream_xchacha20poly1305_HEADERBYTES
252 */
253const SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_HEADERBYTES = UNKNOWN;
254/**
255 * @var int
256 * @cvalue crypto_secretstream_xchacha20poly1305_KEYBYTES
257 */
258const SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_KEYBYTES = UNKNOWN;
259/**
260 * @var int
261 * @cvalue crypto_secretstream_xchacha20poly1305_MESSAGEBYTES_MAX
262 */
263const SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_MESSAGEBYTES_MAX = UNKNOWN;
264/**
265 * @var int
266 * @cvalue crypto_secretstream_xchacha20poly1305_TAG_MESSAGE
267 */
268const SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_MESSAGE = UNKNOWN;
269/**
270 * @var int
271 * @cvalue crypto_secretstream_xchacha20poly1305_TAG_PUSH
272 */
273const SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_PUSH = UNKNOWN;
274/**
275 * @var int
276 * @cvalue crypto_secretstream_xchacha20poly1305_TAG_REKEY
277 */
278const SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_REKEY = UNKNOWN;
279/**
280 * @var int
281 * @cvalue crypto_secretstream_xchacha20poly1305_TAG_FINAL
282 */
283const SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_FINAL = UNKNOWN;
284#endif
285
286/**
287 * @var int
288 * @cvalue crypto_generichash_BYTES
289 */
290const SODIUM_CRYPTO_GENERICHASH_BYTES = UNKNOWN;
291/**
292 * @var int
293 * @cvalue crypto_generichash_BYTES_MIN
294 */
295const SODIUM_CRYPTO_GENERICHASH_BYTES_MIN = UNKNOWN;
296/**
297 * @var int
298 * @cvalue crypto_generichash_BYTES_MAX
299 */
300const SODIUM_CRYPTO_GENERICHASH_BYTES_MAX = UNKNOWN;
301/**
302 * @var int
303 * @cvalue crypto_generichash_KEYBYTES
304 */
305const SODIUM_CRYPTO_GENERICHASH_KEYBYTES = UNKNOWN;
306/**
307 * @var int
308 * @cvalue crypto_generichash_KEYBYTES_MIN
309 */
310const SODIUM_CRYPTO_GENERICHASH_KEYBYTES_MIN = UNKNOWN;
311/**
312 * @var int
313 * @cvalue crypto_generichash_KEYBYTES_MAX
314 */
315const SODIUM_CRYPTO_GENERICHASH_KEYBYTES_MAX = UNKNOWN;
316#ifdef crypto_pwhash_SALTBYTES
317/**
318 * @var int
319 * @cvalue crypto_pwhash_ALG_ARGON2I13
320 */
321const SODIUM_CRYPTO_PWHASH_ALG_ARGON2I13 = UNKNOWN;
322# ifdef crypto_pwhash_ALG_ARGON2ID13
323/**
324 * @var int
325 * @cvalue crypto_pwhash_ALG_ARGON2ID13
326 */
327const SODIUM_CRYPTO_PWHASH_ALG_ARGON2ID13 = UNKNOWN;
328# endif
329/**
330 * @var int
331 * @cvalue crypto_pwhash_ALG_DEFAULT
332 */
333const SODIUM_CRYPTO_PWHASH_ALG_DEFAULT = UNKNOWN;
334/**
335 * @var int
336 * @cvalue crypto_pwhash_SALTBYTES
337 */
338const SODIUM_CRYPTO_PWHASH_SALTBYTES = UNKNOWN;
339/**
340 * @var string
341 * @cvalue crypto_pwhash_STRPREFIX
342 */
343const SODIUM_CRYPTO_PWHASH_STRPREFIX = UNKNOWN;
344/**
345 * @var int
346 * @cvalue crypto_pwhash_opslimit_interactive()
347 */
348const SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE = UNKNOWN;
349/**
350 * @var int
351 * @cvalue crypto_pwhash_memlimit_interactive()
352 */
353const SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE = UNKNOWN;
354/**
355 * @var int
356 * @cvalue crypto_pwhash_opslimit_moderate()
357 */
358const SODIUM_CRYPTO_PWHASH_OPSLIMIT_MODERATE = UNKNOWN;
359/**
360 * @var int
361 * @cvalue crypto_pwhash_memlimit_moderate()
362 */
363const SODIUM_CRYPTO_PWHASH_MEMLIMIT_MODERATE = UNKNOWN;
364/**
365 * @var int
366 * @cvalue crypto_pwhash_opslimit_sensitive()
367 */
368const SODIUM_CRYPTO_PWHASH_OPSLIMIT_SENSITIVE = UNKNOWN;
369/**
370 * @var int
371 * @cvalue crypto_pwhash_memlimit_sensitive()
372 */
373const SODIUM_CRYPTO_PWHASH_MEMLIMIT_SENSITIVE = UNKNOWN;
374#endif
375#ifdef crypto_pwhash_scryptsalsa208sha256_SALTBYTES
376/**
377 * @var int
378 * @cvalue crypto_pwhash_scryptsalsa208sha256_SALTBYTES
379 */
380const SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_SALTBYTES = UNKNOWN;
381/**
382 * @var string
383 * @cvalue crypto_pwhash_scryptsalsa208sha256_STRPREFIX
384 */
385const SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_STRPREFIX = UNKNOWN;
386/**
387 * @var int
388 * @cvalue crypto_pwhash_scryptsalsa208sha256_opslimit_interactive()
389 */
390const SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_INTERACTIVE = UNKNOWN;
391/**
392 * @var int
393 * @cvalue crypto_pwhash_scryptsalsa208sha256_memlimit_interactive()
394 */
395const SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_INTERACTIVE = UNKNOWN;
396/**
397 * @var int
398 * @cvalue crypto_pwhash_scryptsalsa208sha256_opslimit_sensitive()
399 */
400const SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_SENSITIVE = UNKNOWN;
401/**
402 * @var int
403 * @cvalue crypto_pwhash_scryptsalsa208sha256_memlimit_sensitive()
404 */
405const SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_SENSITIVE = UNKNOWN;
406#endif
407
408/**
409 * @var int
410 * @cvalue crypto_scalarmult_BYTES
411 */
412const SODIUM_CRYPTO_SCALARMULT_BYTES = UNKNOWN;
413/**
414 * @var int
415 * @cvalue crypto_scalarmult_SCALARBYTES
416 */
417const SODIUM_CRYPTO_SCALARMULT_SCALARBYTES = UNKNOWN;
418/**
419 * @var int
420 * @cvalue crypto_shorthash_BYTES
421 */
422const SODIUM_CRYPTO_SHORTHASH_BYTES = UNKNOWN;
423/**
424 * @var int
425 * @cvalue crypto_shorthash_KEYBYTES
426 */
427const SODIUM_CRYPTO_SHORTHASH_KEYBYTES = UNKNOWN;
428/**
429 * @var int
430 * @cvalue crypto_secretbox_KEYBYTES
431 */
432const SODIUM_CRYPTO_SECRETBOX_KEYBYTES = UNKNOWN;
433/**
434 * @var int
435 * @cvalue crypto_secretbox_MACBYTES
436 */
437const SODIUM_CRYPTO_SECRETBOX_MACBYTES = UNKNOWN;
438/**
439 * @var int
440 * @cvalue crypto_secretbox_NONCEBYTES
441 */
442const SODIUM_CRYPTO_SECRETBOX_NONCEBYTES = UNKNOWN;
443/**
444 * @var int
445 * @cvalue crypto_sign_BYTES
446 */
447const SODIUM_CRYPTO_SIGN_BYTES = UNKNOWN;
448/**
449 * @var int
450 * @cvalue crypto_sign_SEEDBYTES
451 */
452const SODIUM_CRYPTO_SIGN_SEEDBYTES = UNKNOWN;
453/**
454 * @var int
455 * @cvalue crypto_sign_PUBLICKEYBYTES
456 */
457const SODIUM_CRYPTO_SIGN_PUBLICKEYBYTES = UNKNOWN;
458/**
459 * @var int
460 * @cvalue crypto_sign_SECRETKEYBYTES
461 */
462const SODIUM_CRYPTO_SIGN_SECRETKEYBYTES = UNKNOWN;
463/**
464 * @var int
465 * @cvalue SODIUM_CRYPTO_SIGN_KEYPAIRBYTES()
466 */
467const SODIUM_CRYPTO_SIGN_KEYPAIRBYTES = UNKNOWN;
468/**
469 * @var int
470 * @cvalue crypto_stream_NONCEBYTES
471 */
472const SODIUM_CRYPTO_STREAM_NONCEBYTES = UNKNOWN;
473/**
474 * @var int
475 * @cvalue crypto_stream_KEYBYTES
476 */
477const SODIUM_CRYPTO_STREAM_KEYBYTES = UNKNOWN;
478
479#ifdef crypto_stream_xchacha20_KEYBYTES
480/**
481 * @var int
482 * @cvalue crypto_stream_xchacha20_NONCEBYTES
483 */
484const SODIUM_CRYPTO_STREAM_XCHACHA20_NONCEBYTES = UNKNOWN;
485/**
486 * @var int
487 * @cvalue crypto_stream_xchacha20_KEYBYTES
488 */
489const SODIUM_CRYPTO_STREAM_XCHACHA20_KEYBYTES = UNKNOWN;
490#endif
491#ifdef sodium_base64_VARIANT_ORIGINAL
492/**
493 * @var int
494 * @cvalue sodium_base64_VARIANT_ORIGINAL
495 */
496const SODIUM_BASE64_VARIANT_ORIGINAL = UNKNOWN;
497/**
498 * @var int
499 * @cvalue sodium_base64_VARIANT_ORIGINAL_NO_PADDING
500 */
501const SODIUM_BASE64_VARIANT_ORIGINAL_NO_PADDING = UNKNOWN;
502/**
503 * @var int
504 * @cvalue sodium_base64_VARIANT_URLSAFE
505 */
506const SODIUM_BASE64_VARIANT_URLSAFE = UNKNOWN;
507/**
508 * @var int
509 * @cvalue sodium_base64_VARIANT_URLSAFE_NO_PADDING
510 */
511const SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDING = UNKNOWN;
512#endif
513#ifdef crypto_core_ristretto255_HASHBYTES
514/**
515 * @var int
516 * @cvalue crypto_scalarmult_ristretto255_BYTES
517 */
518const SODIUM_CRYPTO_SCALARMULT_RISTRETTO255_BYTES = UNKNOWN;
519/**
520 * @var int
521 * @cvalue crypto_scalarmult_ristretto255_SCALARBYTES
522 */
523const SODIUM_CRYPTO_SCALARMULT_RISTRETTO255_SCALARBYTES = UNKNOWN;
524/**
525 * @var int
526 * @cvalue crypto_core_ristretto255_BYTES
527 */
528const SODIUM_CRYPTO_CORE_RISTRETTO255_BYTES = UNKNOWN;
529/**
530 * @var int
531 * @cvalue crypto_core_ristretto255_HASHBYTES
532 */
533const SODIUM_CRYPTO_CORE_RISTRETTO255_HASHBYTES = UNKNOWN;
534/**
535 * @var int
536 * @cvalue crypto_core_ristretto255_SCALARBYTES
537 */
538const SODIUM_CRYPTO_CORE_RISTRETTO255_SCALARBYTES = UNKNOWN;
539/**
540 * @var int
541 * @cvalue crypto_core_ristretto255_NONREDUCEDSCALARBYTES
542 */
543const SODIUM_CRYPTO_CORE_RISTRETTO255_NONREDUCEDSCALARBYTES = UNKNOWN;
544#endif
545
546function sodium_crypto_aead_aes256gcm_is_available(): bool {}
547
548#ifdef HAVE_AESGCM
549function sodium_crypto_aead_aes256gcm_decrypt(string $ciphertext, string $additional_data, string $nonce, #[\SensitiveParameter] string $key): string|false {}
550
551function sodium_crypto_aead_aes256gcm_encrypt(#[\SensitiveParameter] string $message, string $additional_data, string $nonce, #[\SensitiveParameter] string $key): string {}
552
553function sodium_crypto_aead_aes256gcm_keygen(): string {}
554#endif
555
556#ifdef crypto_aead_aegis128l_KEYBYTES
557function sodium_crypto_aead_aegis128l_decrypt(string $ciphertext, string $additional_data, string $nonce, #[\SensitiveParameter] string $key): string|false {}
558
559function sodium_crypto_aead_aegis128l_encrypt(#[\SensitiveParameter] string $message, string $additional_data, string $nonce, #[\SensitiveParameter] string $key): string {}
560
561function sodium_crypto_aead_aegis128l_keygen(): string {}
562#endif
563
564#ifdef crypto_aead_aegis256_KEYBYTES
565function sodium_crypto_aead_aegis256_decrypt(string $ciphertext, string $additional_data, string $nonce, #[\SensitiveParameter] string $key): string|false {}
566
567function sodium_crypto_aead_aegis256_encrypt(#[\SensitiveParameter] string $message, string $additional_data, string $nonce, #[\SensitiveParameter] string $key): string {}
568
569function sodium_crypto_aead_aegis256_keygen(): string {}
570#endif
571
572function sodium_crypto_aead_chacha20poly1305_decrypt(string $ciphertext, string $additional_data, string $nonce, #[\SensitiveParameter] string $key): string|false {}
573
574function sodium_crypto_aead_chacha20poly1305_encrypt(#[\SensitiveParameter] string $message, string $additional_data, string $nonce, #[\SensitiveParameter] string $key): string {}
575
576function sodium_crypto_aead_chacha20poly1305_keygen(): string {}
577
578function sodium_crypto_aead_chacha20poly1305_ietf_decrypt(string $ciphertext, string $additional_data, string $nonce, #[\SensitiveParameter] string $key): string|false {}
579
580function sodium_crypto_aead_chacha20poly1305_ietf_encrypt(#[\SensitiveParameter] string $message, string $additional_data, string $nonce, #[\SensitiveParameter] string $key): string {}
581
582function sodium_crypto_aead_chacha20poly1305_ietf_keygen(): string {}
583
584#ifdef crypto_aead_xchacha20poly1305_IETF_NPUBBYTES
585function sodium_crypto_aead_xchacha20poly1305_ietf_decrypt(string $ciphertext, string $additional_data, string $nonce, #[\SensitiveParameter] string $key): string|false {}
586
587function sodium_crypto_aead_xchacha20poly1305_ietf_keygen(): string {}
588
589function sodium_crypto_aead_xchacha20poly1305_ietf_encrypt(#[\SensitiveParameter] string $message, string $additional_data, string $nonce, #[\SensitiveParameter] string $key): string {}
590#endif
591
592function sodium_crypto_auth(string $message, #[\SensitiveParameter] string $key): string {}
593
594function sodium_crypto_auth_keygen(): string {}
595
596function sodium_crypto_auth_verify(string $mac, string $message, #[\SensitiveParameter] string $key): bool {}
597
598function sodium_crypto_box(#[\SensitiveParameter] string $message, string $nonce, #[\SensitiveParameter] string $key_pair): string {}
599
600function sodium_crypto_box_keypair(): string {}
601
602function sodium_crypto_box_seed_keypair(#[\SensitiveParameter] string $seed): string {}
603
604function sodium_crypto_box_keypair_from_secretkey_and_publickey(#[\SensitiveParameter] string $secret_key, string $public_key): string {}
605
606function sodium_crypto_box_open(string $ciphertext, string $nonce, #[\SensitiveParameter] string $key_pair): string|false {}
607
608function sodium_crypto_box_publickey(#[\SensitiveParameter] string $key_pair): string {}
609
610function sodium_crypto_box_publickey_from_secretkey(#[\SensitiveParameter] string $secret_key): string {}
611
612function sodium_crypto_box_seal(#[\SensitiveParameter] string $message, string $public_key): string {}
613
614function sodium_crypto_box_seal_open(string $ciphertext, #[\SensitiveParameter] string $key_pair): string|false {}
615
616function sodium_crypto_box_secretkey(#[\SensitiveParameter] string $key_pair): string {}
617
618#ifdef crypto_core_ristretto255_HASHBYTES
619function sodium_crypto_core_ristretto255_add(string $p, string $q): string {}
620
621function sodium_crypto_core_ristretto255_from_hash(string $s): string {}
622
623function sodium_crypto_core_ristretto255_is_valid_point(string $s): bool {}
624
625function sodium_crypto_core_ristretto255_random(): string {}
626
627function sodium_crypto_core_ristretto255_scalar_add(string $x, string $y): string {}
628
629function sodium_crypto_core_ristretto255_scalar_complement(string $s): string {}
630
631function sodium_crypto_core_ristretto255_scalar_invert(string $s): string {}
632
633function sodium_crypto_core_ristretto255_scalar_mul(string $x, string $y): string {}
634
635function sodium_crypto_core_ristretto255_scalar_negate(string $s): string {}
636
637function sodium_crypto_core_ristretto255_scalar_random(): string {}
638
639function sodium_crypto_core_ristretto255_scalar_reduce(string $s): string {}
640
641function sodium_crypto_core_ristretto255_scalar_sub(string $x, string $y): string {}
642
643function sodium_crypto_core_ristretto255_sub(string $p, string $q): string {}
644#endif
645
646function sodium_crypto_kx_keypair(): string {}
647
648function sodium_crypto_kx_publickey(#[\SensitiveParameter] string $key_pair): string {}
649
650function sodium_crypto_kx_secretkey(#[\SensitiveParameter] string $key_pair): string {}
651
652function sodium_crypto_kx_seed_keypair(#[\SensitiveParameter] string $seed): string {}
653
654/**
655 * @return array<int, string>
656 */
657function sodium_crypto_kx_client_session_keys(#[\SensitiveParameter] string $client_key_pair, string $server_key): array {}
658
659/**
660 * @return array<int, string>
661 *
662 */
663function sodium_crypto_kx_server_session_keys(#[\SensitiveParameter] string $server_key_pair, string $client_key): array {}
664
665function sodium_crypto_generichash(string $message, #[\SensitiveParameter] string $key = "", int $length = SODIUM_CRYPTO_GENERICHASH_BYTES): string {}
666
667function sodium_crypto_generichash_keygen(): string {}
668
669function sodium_crypto_generichash_init(#[\SensitiveParameter] string $key = "", int $length = SODIUM_CRYPTO_GENERICHASH_BYTES): string {}
670
671function sodium_crypto_generichash_update(string &$state, string $message): true {}
672
673function sodium_crypto_generichash_final(string &$state, int $length = SODIUM_CRYPTO_GENERICHASH_BYTES): string {}
674
675function sodium_crypto_kdf_derive_from_key(int $subkey_length, int $subkey_id, string $context, #[\SensitiveParameter] string $key): string {}
676
677function sodium_crypto_kdf_keygen(): string {}
678
679#ifdef crypto_pwhash_SALTBYTES
680function sodium_crypto_pwhash(int $length, #[\SensitiveParameter] string $password, string $salt, int $opslimit, int $memlimit, int $algo = SODIUM_CRYPTO_PWHASH_ALG_DEFAULT): string {}
681
682function sodium_crypto_pwhash_str(#[\SensitiveParameter] string $password, int $opslimit, int $memlimit): string {}
683
684function sodium_crypto_pwhash_str_verify(string $hash, #[\SensitiveParameter] string $password): bool {}
685#endif
686
687#if SODIUM_LIBRARY_VERSION_MAJOR > 9 || (SODIUM_LIBRARY_VERSION_MAJOR == 9 && SODIUM_LIBRARY_VERSION_MINOR >= 6)
688function sodium_crypto_pwhash_str_needs_rehash(string $password, int $opslimit, int $memlimit): bool {}
689#endif
690
691#ifdef crypto_pwhash_scryptsalsa208sha256_SALTBYTES
692function sodium_crypto_pwhash_scryptsalsa208sha256(int $length, #[\SensitiveParameter] string $password, string $salt, int $opslimit, int $memlimit): string {}
693
694function sodium_crypto_pwhash_scryptsalsa208sha256_str(#[\SensitiveParameter] string $password, int $opslimit, int $memlimit): string {}
695
696function sodium_crypto_pwhash_scryptsalsa208sha256_str_verify(string $hash, #[\SensitiveParameter] string $password): bool {}
697#endif
698
699function sodium_crypto_scalarmult(string $n, string $p): string {}
700
701#ifdef crypto_core_ristretto255_HASHBYTES
702function sodium_crypto_scalarmult_ristretto255(string $n, string $p): string {}
703
704function sodium_crypto_scalarmult_ristretto255_base(string $n): string {}
705#endif
706
707function sodium_crypto_secretbox(#[\SensitiveParameter] string $message, string $nonce, #[\SensitiveParameter] string $key): string {}
708
709function sodium_crypto_secretbox_keygen(): string {}
710
711function sodium_crypto_secretbox_open(string $ciphertext, string $nonce, #[\SensitiveParameter] string $key): string|false {}
712
713#ifdef crypto_secretstream_xchacha20poly1305_ABYTES
714function sodium_crypto_secretstream_xchacha20poly1305_keygen(): string {}
715
716/**
717 * @return array<int, string>
718 */
719function sodium_crypto_secretstream_xchacha20poly1305_init_push(#[\SensitiveParameter] string $key): array {}
720
721function sodium_crypto_secretstream_xchacha20poly1305_push(string &$state, #[\SensitiveParameter] string $message, string $additional_data = "", int $tag = SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_MESSAGE): string {}
722
723function sodium_crypto_secretstream_xchacha20poly1305_init_pull(string $header, #[\SensitiveParameter] string $key): string {}
724
725/** @return array<int, int|string>|false */
726function sodium_crypto_secretstream_xchacha20poly1305_pull(string &$state, string $ciphertext, string $additional_data = ""): array|false {}
727
728function sodium_crypto_secretstream_xchacha20poly1305_rekey(string &$state): void {}
729#endif
730
731function sodium_crypto_shorthash(string $message, #[\SensitiveParameter] string $key): string {}
732
733function sodium_crypto_shorthash_keygen(): string {}
734
735function sodium_crypto_sign(string $message, #[\SensitiveParameter] string $secret_key): string {}
736
737function sodium_crypto_sign_detached(string $message, #[\SensitiveParameter] string $secret_key): string {}
738
739function sodium_crypto_sign_ed25519_pk_to_curve25519(string $public_key): string {}
740
741function sodium_crypto_sign_ed25519_sk_to_curve25519(#[\SensitiveParameter] string $secret_key): string {}
742
743function sodium_crypto_sign_keypair(): string {}
744
745function sodium_crypto_sign_keypair_from_secretkey_and_publickey(#[\SensitiveParameter] string $secret_key, string $public_key): string {}
746
747function sodium_crypto_sign_open(string $signed_message, string $public_key): string|false {}
748
749function sodium_crypto_sign_publickey(#[\SensitiveParameter] string $key_pair): string {}
750
751function sodium_crypto_sign_secretkey(#[\SensitiveParameter] string $key_pair): string {}
752
753function sodium_crypto_sign_publickey_from_secretkey(#[\SensitiveParameter] string $secret_key): string {}
754
755function sodium_crypto_sign_seed_keypair(#[\SensitiveParameter] string $seed): string {}
756
757function sodium_crypto_sign_verify_detached(string $signature, string $message, string $public_key): bool {}
758
759function sodium_crypto_stream(int $length, string $nonce, #[\SensitiveParameter] string $key): string {}
760
761function sodium_crypto_stream_keygen(): string {}
762
763function sodium_crypto_stream_xor(#[\SensitiveParameter] string $message, string $nonce, #[\SensitiveParameter] string $key): string {}
764
765#if defined(crypto_stream_xchacha20_KEYBYTES)
766function sodium_crypto_stream_xchacha20(int $length, string $nonce, #[\SensitiveParameter] string $key): string {}
767
768function sodium_crypto_stream_xchacha20_keygen(): string {}
769
770function sodium_crypto_stream_xchacha20_xor(#[\SensitiveParameter] string $message, string $nonce, #[\SensitiveParameter] string $key): string {}
771
772function sodium_crypto_stream_xchacha20_xor_ic(#[\SensitiveParameter] string $message, string $nonce, int $counter,#[\SensitiveParameter]  string $key): string {}
773#endif
774
775function sodium_add(string &$string1, string $string2): void {}
776
777function sodium_compare(#[\SensitiveParameter] string $string1, #[\SensitiveParameter] string $string2): int {}
778
779function sodium_increment(string &$string): void {}
780
781function sodium_memcmp(#[\SensitiveParameter] string $string1, #[\SensitiveParameter] string $string2): int {}
782
783function sodium_memzero(#[\SensitiveParameter] string &$string): void {}
784
785function sodium_pad(#[\SensitiveParameter] string $string, int $block_size): string {}
786
787function sodium_unpad(#[\SensitiveParameter] string $string, int $block_size): string {}
788
789function sodium_bin2hex(#[\SensitiveParameter] string $string): string {}
790
791function sodium_hex2bin(#[\SensitiveParameter] string $string, string $ignore = ""): string {}
792
793#ifdef sodium_base64_VARIANT_ORIGINAL
794function sodium_bin2base64(#[\SensitiveParameter] string $string, int $id): string {}
795
796function sodium_base642bin(#[\SensitiveParameter] string $string, int $id, string $ignore = ""): string {}
797#endif
798
799/**
800 * @alias sodium_crypto_box_publickey_from_secretkey
801 */
802function sodium_crypto_scalarmult_base(#[\SensitiveParameter] string $secret_key): string {}
803
804class SodiumException extends Exception {}
805