@@ -80,3 +80,65 @@ func RFC9580() *Custom {
8080 V6 : true ,
8181 }
8282}
83+
84+ func PQC () * Custom {
85+ setKeyAlgorithm := func (cfg * packet.Config , securityLevel int8 ) {
86+ cfg .Algorithm = packet .PubKeyAlgoMldsa65Ed25519
87+ }
88+ return & Custom {
89+ SetKeyAlgorithm : setKeyAlgorithm ,
90+ Hash : crypto .SHA512 ,
91+ CipherEncryption : packet .CipherAES256 ,
92+ CipherKeyEncryption : packet .CipherAES256 ,
93+ CompressionAlgorithm : packet .CompressionZLIB ,
94+ AeadKeyEncryption : & packet.AEADConfig {
95+ DefaultMode : packet .AEADModeGCM ,
96+ },
97+ AeadEncryption : & packet.AEADConfig {
98+ DefaultMode : packet .AEADModeGCM ,
99+ },
100+ CompressionConfiguration : & packet.CompressionConfig {
101+ Level : 6 ,
102+ },
103+ S2kKeyEncryption : & s2k.Config {
104+ S2KMode : s2k .Argon2S2K ,
105+ Argon2Config : & s2k.Argon2Config {},
106+ },
107+ S2kEncryption : & s2k.Config {
108+ S2KMode : s2k .Argon2S2K ,
109+ Argon2Config : & s2k.Argon2Config {},
110+ },
111+ V6 : true ,
112+ }
113+ }
114+
115+ func Symmetric () * Custom {
116+ setKeyAlgorithm := func (cfg * packet.Config , securityLevel int8 ) {
117+ cfg .Algorithm = packet .ExperimentalPubKeyAlgoHMAC
118+ }
119+ return & Custom {
120+ SetKeyAlgorithm : setKeyAlgorithm ,
121+ Hash : crypto .SHA512 ,
122+ CipherEncryption : packet .CipherAES256 ,
123+ CipherKeyEncryption : packet .CipherAES256 ,
124+ CompressionAlgorithm : packet .CompressionZLIB ,
125+ AeadKeyEncryption : & packet.AEADConfig {
126+ DefaultMode : packet .AEADModeGCM ,
127+ },
128+ AeadEncryption : & packet.AEADConfig {
129+ DefaultMode : packet .AEADModeGCM ,
130+ },
131+ CompressionConfiguration : & packet.CompressionConfig {
132+ Level : 6 ,
133+ },
134+ S2kKeyEncryption : & s2k.Config {
135+ S2KMode : s2k .Argon2S2K ,
136+ Argon2Config : & s2k.Argon2Config {},
137+ },
138+ S2kEncryption : & s2k.Config {
139+ S2KMode : s2k .Argon2S2K ,
140+ Argon2Config : & s2k.Argon2Config {},
141+ },
142+ V6 : true ,
143+ }
144+ }
0 commit comments