2
2
3
3
<!-- YAML
4
4
changes:
5
+ - version: REPLACEME
6
+ pr-url: https://github.com/nodejs/node/pull/59544
7
+ description: Argon2 algorithms are now supported.
5
8
- version: REPLACEME
6
9
pr-url: https://github.com/nodejs/node/pull/59539
7
10
description: AES-OCB algorithm is now supported.
@@ -108,15 +111,18 @@ WICG proposal:
108
111
Algorithms:
109
112
110
113
* ` 'AES-OCB' ` [ ^ openssl30 ]
114
+ * ` 'Argon2d' ` [ ^ openssl32 ]
115
+ * ` 'Argon2i' ` [ ^ openssl32 ]
116
+ * ` 'Argon2id' ` [ ^ openssl32 ]
111
117
* ` 'ChaCha20-Poly1305' `
112
118
* ` 'cSHAKE128' `
113
119
* ` 'cSHAKE256' `
114
120
* ` 'ML-DSA-44' ` [ ^ openssl35 ]
115
121
* ` 'ML-DSA-65' ` [ ^ openssl35 ]
116
122
* ` 'ML-DSA-87' ` [ ^ openssl35 ]
117
- * ` 'ML-KEM-1024' ` [ ^ openssl35 ]
118
123
* ` 'ML-KEM-512' ` [ ^ openssl35 ]
119
124
* ` 'ML-KEM-768' ` [ ^ openssl35 ]
125
+ * ` 'ML-KEM-1024' ` [ ^ openssl35 ]
120
126
* ` 'SHA3-256' `
121
127
* ` 'SHA3-384' `
122
128
* ` 'SHA3-512' `
@@ -506,6 +512,9 @@ implementation and the APIs supported for each:
506
512
| ` ' AES-GCM' ` | ✔ | ✔ | ✔ | |
507
513
| ` ' AES-KW' ` | ✔ | ✔ | ✔ | |
508
514
| ` ' AES-OCB' ` | ✔ | ✔ | ✔ | |
515
+ | ` ' Argon2d' ` | | | ✔ | |
516
+ | ` ' Argon2i' ` | | | ✔ | |
517
+ | ` ' Argon2id' ` | | | ✔ | |
509
518
| ` ' ChaCha20-Poly1305' ` [^modern-algos] | ✔ | ✔ | ✔ | |
510
519
| ` ' ECDH' ` | ✔ | ✔ | ✔ | ✔ |
511
520
| ` ' ECDSA' ` | ✔ | ✔ | ✔ | ✔ |
@@ -545,6 +554,9 @@ implementation and the APIs supported for each:
545
554
| ` ' AES-GCM' ` | ✔ | | | ✔ | | |
546
555
| ` ' AES-KW' ` | | | | ✔ | | |
547
556
| ` ' AES-OCB' ` | ✔ | | | ✔ | | |
557
+ | ` ' Argon2d' ` | | | ✔ | | | |
558
+ | ` ' Argon2i' ` | | | ✔ | | | |
559
+ | ` ' Argon2id' ` | | | ✔ | | | |
548
560
| ` ' ChaCha20-Poly1305' ` [^modern-algos] | ✔ | | | ✔ | | |
549
561
| ` ' cSHAKE128' ` [^modern-algos] | | | | | | ✔ |
550
562
| ` ' cSHAKE256' ` [^modern-algos] | | | | | | ✔ |
@@ -714,6 +726,9 @@ Valid key usages depend on the key algorithm (identified by
714
726
| ` ' AES-GCM' ` | ✔ | | | ✔ | |
715
727
| ` ' AES-KW' ` | | | | ✔ | |
716
728
| ` ' AES-OCB' ` | ✔ | | | ✔ | |
729
+ | ` ' Argon2d' ` | | | ✔ | | |
730
+ | ` ' Argon2i' ` | | | ✔ | | |
731
+ | ` ' Argon2id' ` | | | ✔ | | |
717
732
| ` ' ChaCha20-Poly1305' ` [^modern-algos] | ✔ | | | ✔ | |
718
733
| ` ' ECDH' ` | | | ✔ | | |
719
734
| ` ' ECDSA' ` | | ✔ | | | |
@@ -864,6 +879,9 @@ The algorithms currently supported include:
864
879
<!-- YAML
865
880
added: v15.0.0
866
881
changes:
882
+ - version: REPLACEME
883
+ pr-url: https://github.com/nodejs/node/pull/59544
884
+ description: Argon2 algorithms are now supported.
867
885
- version:
868
886
- v22.5.0
869
887
- v20.17.0
@@ -880,7 +898,7 @@ changes:
880
898
881
899
<!--lint disable maximum-line-length remark-lint-->
882
900
883
- * ` algorithm` {EcdhKeyDeriveParams|HkdfParams|Pbkdf2Params}
901
+ * ` algorithm` {EcdhKeyDeriveParams|HkdfParams|Pbkdf2Params|Argon2Params }
884
902
* ` baseKey` {CryptoKey}
885
903
* ` length` {number|null} **Default:** ` null `
886
904
* Returns: {Promise} Fulfills with an {ArrayBuffer} upon success.
@@ -900,6 +918,9 @@ containing the generated data.
900
918
901
919
The algorithms currently supported include:
902
920
921
+ * ` ' Argon2d' ` [^modern-algos]
922
+ * ` ' Argon2i' ` [^modern-algos]
923
+ * ` ' Argon2id' ` [^modern-algos]
903
924
* ` ' ECDH' `
904
925
* ` ' HKDF' `
905
926
* ` ' PBKDF2' `
@@ -911,6 +932,9 @@ The algorithms currently supported include:
911
932
<!-- YAML
912
933
added: v15.0.0
913
934
changes:
935
+ - version: REPLACEME
936
+ pr-url: https://github.com/nodejs/node/pull/59544
937
+ description: Argon2 algorithms are now supported.
914
938
- version:
915
939
- v18.4.0
916
940
- v16.17.0
@@ -920,7 +944,7 @@ changes:
920
944
921
945
<!--lint disable maximum-line-length remark-lint-->
922
946
923
- * ` algorithm` {EcdhKeyDeriveParams|HkdfParams|Pbkdf2Params}
947
+ * ` algorithm` {EcdhKeyDeriveParams|HkdfParams|Pbkdf2Params|Argon2Params }
924
948
* ` baseKey` {CryptoKey}
925
949
* ` derivedKeyAlgorithm` {string|Algorithm|HmacImportParams|AesDerivedKeyParams}
926
950
* ` extractable` {boolean}
@@ -940,6 +964,9 @@ generate raw keying material, then passing the result into the
940
964
941
965
The algorithms currently supported include:
942
966
967
+ * ` ' Argon2d' ` [^modern-algos]
968
+ * ` ' Argon2i' ` [^modern-algos]
969
+ * ` ' Argon2id' ` [^modern-algos]
943
970
* ` ' ECDH' `
944
971
* ` ' HKDF' `
945
972
* ` ' PBKDF2' `
@@ -1235,7 +1262,7 @@ as the given `format` to create a {CryptoKey} instance using the provided
1235
1262
` algorithm` , ` extractable` , and ` keyUsages` arguments. If the import is
1236
1263
successful, the returned promise will be resolved with the created {CryptoKey}.
1237
1264
1238
- If importing a ` ' PBKDF2 ' ` key , ` extractable` must be ` false ` .
1265
+ If importing KDF algorithm keys , ` extractable` must be ` false ` .
1239
1266
1240
1267
The algorithms currently supported include:
1241
1268
@@ -1246,6 +1273,9 @@ The algorithms currently supported include:
1246
1273
| ` ' AES-GCM' ` | | | ✔ | ✔ | ✔ | | |
1247
1274
| ` ' AES-KW' ` | | | ✔ | ✔ | ✔ | | |
1248
1275
| ` ' AES-OCB' ` [^modern-algos] | | | ✔ | | ✔ | | |
1276
+ | ` ' Argon2d' ` [^modern-algos] | | | | | ✔ | | |
1277
+ | ` ' Argon2i' ` [^modern-algos] | | | | | ✔ | | |
1278
+ | ` ' Argon2id' ` [^modern-algos] | | | | | ✔ | | |
1249
1279
| ` ' ChaCha20-Poly1305' ` [^modern-algos] | | | ✔ | | ✔ | | |
1250
1280
| ` ' ECDH' ` | ✔ | ✔ | ✔ | ✔ | | ✔ | |
1251
1281
| ` ' ECDSA' ` | ✔ | ✔ | ✔ | ✔ | | ✔ | |
@@ -1666,6 +1696,90 @@ added: v15.0.0
1666
1696
* Type: {string} Must be one of ` ' AES-CBC' ` , ` ' AES-CTR' ` , ` ' AES-GCM' ` , or
1667
1697
` ' AES-KW' `
1668
1698
1699
+ ### Class: ` Argon2Params`
1700
+
1701
+ <!-- YAML
1702
+ added: REPLACEME
1703
+ -->
1704
+
1705
+ #### ` argon2Params .associatedData `
1706
+
1707
+ <!-- YAML
1708
+ added: REPLACEME
1709
+ -->
1710
+
1711
+ * Type: {ArrayBuffer|TypedArray|DataView|Buffer}
1712
+
1713
+ Represents the optional associated data.
1714
+
1715
+ #### ` argon2Params .memory `
1716
+
1717
+ <!-- YAML
1718
+ added: REPLACEME
1719
+ -->
1720
+
1721
+ * Type: {number}
1722
+
1723
+ Represents the memory size in kibibytes. It must be at least 8 times the degree of parallelism.
1724
+
1725
+ #### ` argon2Params .name `
1726
+
1727
+ <!-- YAML
1728
+ added: REPLACEME
1729
+ -->
1730
+
1731
+ * Type: {string} Must be one of ` ' Argon2d' ` , ` ' Argon2i' ` , or ` ' Argon2id' ` .
1732
+
1733
+ #### ` argon2Params .nonce `
1734
+
1735
+ <!-- YAML
1736
+ added: REPLACEME
1737
+ -->
1738
+
1739
+ * Type: {ArrayBuffer|TypedArray|DataView|Buffer}
1740
+
1741
+ Represents the nonce, which is a salt for password hashing applications.
1742
+
1743
+ #### ` argon2Params .parallelism `
1744
+
1745
+ <!-- YAML
1746
+ added: REPLACEME
1747
+ -->
1748
+
1749
+ * Type: {number}
1750
+
1751
+ Represents the degree of parallelism.
1752
+
1753
+ #### ` argon2Params .passes `
1754
+
1755
+ <!-- YAML
1756
+ added: REPLACEME
1757
+ -->
1758
+
1759
+ * Type: {number}
1760
+
1761
+ Represents the number of passes.
1762
+
1763
+ #### ` argon2Params .secretValue `
1764
+
1765
+ <!-- YAML
1766
+ added: REPLACEME
1767
+ -->
1768
+
1769
+ * Type: {ArrayBuffer|TypedArray|DataView|Buffer}
1770
+
1771
+ Represents the optional secret value.
1772
+
1773
+ #### ` argon2Params .version `
1774
+
1775
+ <!-- YAML
1776
+ added: REPLACEME
1777
+ -->
1778
+
1779
+ * Type: {number}
1780
+
1781
+ Represents the Argon2 version number. The default and currently only defined version is ` 19 ` (` 0x13 ` ).
1782
+
1669
1783
### Class: ` ContextParams`
1670
1784
1671
1785
<!-- YAML
@@ -2420,6 +2534,8 @@ The length (in bytes) of the random salt to use.
2420
2534
2421
2535
[^openssl30]: Requires OpenSSL >= 3.0
2422
2536
2537
+ [^openssl32]: Requires OpenSSL >= 3.2
2538
+
2423
2539
[^openssl35]: Requires OpenSSL >= 3.5
2424
2540
2425
2541
[JSON Web Key]: https://tools.ietf.org/html/rfc7517
0 commit comments