Skip to content

Commit 01cb7d4

Browse files
[PHP 8.4] Add new Sodium functions and constants (#3878)
Signed-off-by: Maurício Meneghini Fauth <[email protected]>
1 parent 8c38327 commit 01cb7d4

8 files changed

+598
-0
lines changed

reference/sodium/constants.xml

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,94 @@
7676
</simpara>
7777
</listitem>
7878
</varlistentry>
79+
<varlistentry xml:id="constant.sodium-crypto-aead-aegis128l-keybytes">
80+
<term>
81+
<constant>SODIUM_CRYPTO_AEAD_AEGIS128L_KEYBYTES</constant>
82+
(<type>int</type>)
83+
</term>
84+
<listitem>
85+
<simpara>
86+
Available as of PHP 8.4.0.
87+
</simpara>
88+
</listitem>
89+
</varlistentry>
90+
<varlistentry xml:id="constant.sodium-crypto-aead-aegis128l-nsecbytes">
91+
<term>
92+
<constant>SODIUM_CRYPTO_AEAD_AEGIS128L_NSECBYTES</constant>
93+
(<type>int</type>)
94+
</term>
95+
<listitem>
96+
<simpara>
97+
Available as of PHP 8.4.0.
98+
</simpara>
99+
</listitem>
100+
</varlistentry>
101+
<varlistentry xml:id="constant.sodium-crypto-aead-aegis128l-npubbytes">
102+
<term>
103+
<constant>SODIUM_CRYPTO_AEAD_AEGIS128L_NPUBBYTES</constant>
104+
(<type>int</type>)
105+
</term>
106+
<listitem>
107+
<simpara>
108+
Available as of PHP 8.4.0.
109+
</simpara>
110+
</listitem>
111+
</varlistentry>
112+
<varlistentry xml:id="constant.sodium-crypto-aead-aegis128l-abytes">
113+
<term>
114+
<constant>SODIUM_CRYPTO_AEAD_AEGIS128L_ABYTES</constant>
115+
(<type>int</type>)
116+
</term>
117+
<listitem>
118+
<simpara>
119+
Available as of PHP 8.4.0.
120+
</simpara>
121+
</listitem>
122+
</varlistentry>
123+
<varlistentry xml:id="constant.sodium-crypto-aead-aegis256-keybytes">
124+
<term>
125+
<constant>SODIUM_CRYPTO_AEAD_AEGIS256_KEYBYTES</constant>
126+
(<type>int</type>)
127+
</term>
128+
<listitem>
129+
<simpara>
130+
Available as of PHP 8.4.0.
131+
</simpara>
132+
</listitem>
133+
</varlistentry>
134+
<varlistentry xml:id="constant.sodium-crypto-aead-aegis256-nsecbytes">
135+
<term>
136+
<constant>SODIUM_CRYPTO_AEAD_AEGIS256_NSECBYTES</constant>
137+
(<type>int</type>)
138+
</term>
139+
<listitem>
140+
<simpara>
141+
Available as of PHP 8.4.0.
142+
</simpara>
143+
</listitem>
144+
</varlistentry>
145+
<varlistentry xml:id="constant.sodium-crypto-aead-aegis256-npubbytes">
146+
<term>
147+
<constant>SODIUM_CRYPTO_AEAD_AEGIS256_NPUBBYTES</constant>
148+
(<type>int</type>)
149+
</term>
150+
<listitem>
151+
<simpara>
152+
Available as of PHP 8.4.0.
153+
</simpara>
154+
</listitem>
155+
</varlistentry>
156+
<varlistentry xml:id="constant.sodium-crypto-aead-aegis256-abytes">
157+
<term>
158+
<constant>SODIUM_CRYPTO_AEAD_AEGIS256_ABYTES</constant>
159+
(<type>int</type>)
160+
</term>
161+
<listitem>
162+
<simpara>
163+
Available as of PHP 8.4.0.
164+
</simpara>
165+
</listitem>
166+
</varlistentry>
79167
<varlistentry xml:id="constant.sodium-crypto-aead-aes256gcm-keybytes">
80168
<term>
81169
<constant>SODIUM_CRYPTO_AEAD_AES256GCM_KEYBYTES</constant>
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!-- $Revision$ -->
3+
<refentry xml:id="function.sodium-crypto-aead-aegis128l-decrypt" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
4+
<refnamediv>
5+
<refname>sodium_crypto_aead_aegis128l_decrypt</refname>
6+
<refpurpose>Verify then decrypt a message with AEGIS-128L</refpurpose>
7+
</refnamediv>
8+
9+
<refsect1 role="description">
10+
&reftitle.description;
11+
<methodsynopsis>
12+
<type class="union"><type>string</type><type>false</type></type><methodname>sodium_crypto_aead_aegis128l_decrypt</methodname>
13+
<methodparam><type>string</type><parameter>ciphertext</parameter></methodparam>
14+
<methodparam><type>string</type><parameter>additional_data</parameter></methodparam>
15+
<methodparam><type>string</type><parameter>nonce</parameter></methodparam>
16+
<methodparam><modifier role="attribute">#[\SensitiveParameter]</modifier><type>string</type><parameter>key</parameter></methodparam>
17+
</methodsynopsis>
18+
<simpara>
19+
Verify then decrypt a message with AEGIS-128L.
20+
</simpara>
21+
</refsect1>
22+
23+
<refsect1 role="parameters">
24+
&reftitle.parameters;
25+
<variablelist>
26+
<varlistentry>
27+
<term><parameter>ciphertext</parameter></term>
28+
<listitem>
29+
<simpara>
30+
Must be in the format provided by <function>sodium_crypto_aead_aegis128l_encrypt</function>.
31+
</simpara>
32+
</listitem>
33+
</varlistentry>
34+
<varlistentry>
35+
<term><parameter>additional_data</parameter></term>
36+
<listitem>
37+
<simpara>
38+
Additional, authenticated data. This is used in the verification of the authentication tag
39+
appended to the ciphertext, but it is not encrypted or stored in the ciphertext.
40+
</simpara>
41+
</listitem>
42+
</varlistentry>
43+
<varlistentry>
44+
<term><parameter>nonce</parameter></term>
45+
<listitem>
46+
<simpara>
47+
A number that must be only used once, per message.
48+
</simpara>
49+
</listitem>
50+
</varlistentry>
51+
<varlistentry>
52+
<term><parameter>key</parameter></term>
53+
<listitem>
54+
<simpara>
55+
Encryption key (128-bit).
56+
</simpara>
57+
</listitem>
58+
</varlistentry>
59+
</variablelist>
60+
</refsect1>
61+
62+
<refsect1 role="returnvalues">
63+
&reftitle.returnvalues;
64+
<simpara>
65+
Returns the plaintext on success, &return.falseforfailure;.
66+
</simpara>
67+
</refsect1>
68+
69+
<refsect1 role="seealso">
70+
&reftitle.seealso;
71+
<simplelist>
72+
<member><function>sodium_crypto_aead_aegis128l_encrypt</function></member>
73+
<member><function>sodium_crypto_aead_aegis128l_keygen</function></member>
74+
</simplelist>
75+
</refsect1>
76+
</refentry>
77+
<!-- Keep this comment at the end of the file
78+
Local variables:
79+
mode: sgml
80+
sgml-omittag:t
81+
sgml-shorttag:t
82+
sgml-minimize-attributes:nil
83+
sgml-always-quote-attributes:t
84+
sgml-indent-step:1
85+
sgml-indent-data:t
86+
indent-tabs-mode:nil
87+
sgml-parent-document:nil
88+
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
89+
sgml-exposed-tags:nil
90+
sgml-local-catalogs:nil
91+
sgml-local-ecat-files:nil
92+
End:
93+
vim600: syn=xml fen fdm=syntax fdl=2 si
94+
vim: et tw=78 syn=sgml
95+
vi: ts=1 sw=1
96+
-->
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!-- $Revision$ -->
3+
<refentry xml:id="function.sodium-crypto-aead-aegis128l-encrypt" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
4+
<refnamediv>
5+
<refname>sodium_crypto_aead_aegis128l_encrypt</refname>
6+
<refpurpose>Encrypt then authenticate a message with AEGIS-128L</refpurpose>
7+
</refnamediv>
8+
9+
<refsect1 role="description">
10+
&reftitle.description;
11+
<methodsynopsis>
12+
<type>string</type><methodname>sodium_crypto_aead_aegis128l_encrypt</methodname>
13+
<methodparam><modifier role="attribute">#[\SensitiveParameter]</modifier><type>string</type><parameter>message</parameter></methodparam>
14+
<methodparam><type>string</type><parameter>additional_data</parameter></methodparam>
15+
<methodparam><type>string</type><parameter>nonce</parameter></methodparam>
16+
<methodparam><modifier role="attribute">#[\SensitiveParameter]</modifier><type>string</type><parameter>key</parameter></methodparam>
17+
</methodsynopsis>
18+
<simpara>
19+
Encrypt then authenticate a message with AEGIS-128L.
20+
</simpara>
21+
</refsect1>
22+
23+
<refsect1 role="parameters">
24+
&reftitle.parameters;
25+
<variablelist>
26+
<varlistentry>
27+
<term><parameter>message</parameter></term>
28+
<listitem>
29+
<simpara>
30+
The plaintext message to encrypt.
31+
</simpara>
32+
</listitem>
33+
</varlistentry>
34+
<varlistentry>
35+
<term><parameter>additional_data</parameter></term>
36+
<listitem>
37+
<simpara>
38+
Additional, authenticated data. This is used in the verification of the authentication tag
39+
appended to the ciphertext, but it is not encrypted or stored in the ciphertext.
40+
</simpara>
41+
</listitem>
42+
</varlistentry>
43+
<varlistentry>
44+
<term><parameter>nonce</parameter></term>
45+
<listitem>
46+
<simpara>
47+
A number that must be only used once, per message.
48+
</simpara>
49+
</listitem>
50+
</varlistentry>
51+
<varlistentry>
52+
<term><parameter>key</parameter></term>
53+
<listitem>
54+
<simpara>
55+
Encryption key (128-bit).
56+
</simpara>
57+
</listitem>
58+
</varlistentry>
59+
</variablelist>
60+
</refsect1>
61+
62+
<refsect1 role="returnvalues">
63+
&reftitle.returnvalues;
64+
<simpara>
65+
Returns the ciphertext and authentication tag as a string of raw binary bytes.
66+
</simpara>
67+
</refsect1>
68+
69+
<refsect1 role="seealso">
70+
&reftitle.seealso;
71+
<simplelist>
72+
<member><function>sodium_crypto_aead_aegis128l_decrypt</function></member>
73+
<member><function>sodium_crypto_aead_aegis128l_keygen</function></member>
74+
</simplelist>
75+
</refsect1>
76+
</refentry>
77+
<!-- Keep this comment at the end of the file
78+
Local variables:
79+
mode: sgml
80+
sgml-omittag:t
81+
sgml-shorttag:t
82+
sgml-minimize-attributes:nil
83+
sgml-always-quote-attributes:t
84+
sgml-indent-step:1
85+
sgml-indent-data:t
86+
indent-tabs-mode:nil
87+
sgml-parent-document:nil
88+
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
89+
sgml-exposed-tags:nil
90+
sgml-local-catalogs:nil
91+
sgml-local-ecat-files:nil
92+
End:
93+
vim600: syn=xml fen fdm=syntax fdl=2 si
94+
vim: et tw=78 syn=sgml
95+
vi: ts=1 sw=1
96+
-->
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!-- $Revision$ -->
3+
<refentry xml:id="function.sodium-crypto-aead-aegis128l-keygen" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
4+
<refnamediv>
5+
<refname>sodium_crypto_aead_aegis128l_keygen</refname>
6+
<refpurpose>Generate a random AEGIS-128L key</refpurpose>
7+
</refnamediv>
8+
9+
<refsect1 role="description">
10+
&reftitle.description;
11+
<methodsynopsis>
12+
<type>string</type><methodname>sodium_crypto_aead_aegis128l_keygen</methodname>
13+
<void/>
14+
</methodsynopsis>
15+
<simpara>
16+
Generate a random key for use with <function>sodium_crypto_aead_aegis128l_encrypt</function> and
17+
<function>sodium_crypto_aead_aegis128l_decrypt</function>.
18+
</simpara>
19+
</refsect1>
20+
21+
<refsect1 role="parameters">
22+
&reftitle.parameters;
23+
&no.function.parameters;
24+
</refsect1>
25+
26+
<refsect1 role="returnvalues">
27+
&reftitle.returnvalues;
28+
<simpara>
29+
Returns a 128-bit random key.
30+
</simpara>
31+
</refsect1>
32+
33+
<refsect1 role="seealso">
34+
&reftitle.seealso;
35+
<simplelist>
36+
<member><function>sodium_crypto_aead_aegis128l_decrypt</function></member>
37+
<member><function>sodium_crypto_aead_aegis128l_encrypt</function></member>
38+
</simplelist>
39+
</refsect1>
40+
</refentry>
41+
<!-- Keep this comment at the end of the file
42+
Local variables:
43+
mode: sgml
44+
sgml-omittag:t
45+
sgml-shorttag:t
46+
sgml-minimize-attributes:nil
47+
sgml-always-quote-attributes:t
48+
sgml-indent-step:1
49+
sgml-indent-data:t
50+
indent-tabs-mode:nil
51+
sgml-parent-document:nil
52+
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
53+
sgml-exposed-tags:nil
54+
sgml-local-catalogs:nil
55+
sgml-local-ecat-files:nil
56+
End:
57+
vim600: syn=xml fen fdm=syntax fdl=2 si
58+
vim: et tw=78 syn=sgml
59+
vi: ts=1 sw=1
60+
-->

0 commit comments

Comments
 (0)