File tree Expand file tree Collapse file tree 13 files changed +67
-0
lines changed Expand file tree Collapse file tree 13 files changed +67
-0
lines changed Original file line number Diff line number Diff line change @@ -16,6 +16,11 @@ public function getAeadId(): string
1616 return self ::AEAD_ID ;
1717 }
1818
19+ public function getSuiteName (): string
20+ {
21+ return 'AES-128-GCM ' ;
22+ }
23+
1924 public function keyLength (): int
2025 {
2126 return 16 ;
Original file line number Diff line number Diff line change @@ -14,6 +14,10 @@ public function getAeadId(): string
1414 {
1515 return self ::AEAD_ID ;
1616 }
17+ public function getSuiteName (): string
18+ {
19+ return 'AES-256-GCM ' ;
20+ }
1721
1822 public function keyLength (): int
1923 {
Original file line number Diff line number Diff line change @@ -16,6 +16,11 @@ public function getAeadId(): string
1616 return self ::AEAD_ID ;
1717 }
1818
19+ public function getSuiteName (): string
20+ {
21+ return 'ChaCha20Poly1305 ' ;
22+ }
23+
1924 public function keyLength (): int
2025 {
2126 return 32 ;
Original file line number Diff line number Diff line change @@ -18,6 +18,11 @@ public function getAeadId(): string
1818 return self ::AEAD_ID ;
1919 }
2020
21+ public function getSuiteName (): string
22+ {
23+ return 'Export-Only AEAD ' ;
24+ }
25+
2126 /**
2227 * @throws HPKEException
2328 */
Original file line number Diff line number Diff line change @@ -30,6 +30,20 @@ public function __construct(
3030 public AEADInterface $ aead
3131 ) {}
3232
33+ /**
34+ * Human-readable suite name.
35+ *
36+ * @return string
37+ */
38+ public function getSuiteName (): string
39+ {
40+ return implode (', ' , [
41+ $ this ->kem ->getSuiteName (),
42+ $ this ->kdf ->getSuiteName (),
43+ $ this ->aead ->getSuiteName (),
44+ ]);
45+ }
46+
3347 /**
3448 * @return string
3549 */
Original file line number Diff line number Diff line change @@ -7,4 +7,13 @@ enum Hash: string
77 case Sha256 = 'sha256 ' ;
88 case Sha384 = 'sha384 ' ;
99 case Sha512 = 'sha512 ' ;
10+
11+ public function getSuiteName (): string
12+ {
13+ return match ($ this ) {
14+ self ::Sha256 => 'SHA256 ' ,
15+ self ::Sha384 => 'SHA384 ' ,
16+ self ::Sha512 => 'SHA512 ' ,
17+ };
18+ }
1019}
Original file line number Diff line number Diff line change 77interface AEADInterface
88{
99 public function getAeadId (): string ;
10+ public function getSuiteName (): string ;
1011 public function keyLength (): int ;
1112 public function nonceLength (): int ;
1213 public function tagLength (): int ;
Original file line number Diff line number Diff line change 55interface KDFInterface
66{
77 public function getKdfId (): string ;
8+ public function getSuiteName (): string ;
89 public function getHashLength (): int ;
910
1011 public function deriveBytes (
Original file line number Diff line number Diff line change @@ -9,6 +9,7 @@ public function generateKeys(): array;
99 public function getHeaderLength (): int ;
1010
1111 public function getKemId (): string ;
12+ public function getSuiteName (): string ;
1213
1314 public function getPublicKeyLength (): int ;
1415
Original file line number Diff line number Diff line change @@ -37,6 +37,11 @@ public function getKdfId(): string
3737 };
3838 }
3939
40+ public function getSuiteName (): string
41+ {
42+ return 'HKDF- ' . $ this ->hash ->getSuiteName ();
43+ }
44+
4045 public function deriveBytes (
4146 #[\SensitiveParameter]
4247 string |SymmetricKeyInterface $ ikm ,
You can’t perform that action at this time.
0 commit comments