@@ -2,14 +2,13 @@ package aead
22
33import (
44 "bytes"
5- "crypto/aes"
6- "crypto/cipher"
75 "crypto/rand"
86 "encoding/binary"
97 "io"
108 "time"
119
1210 "github.com/xtls/xray-core/common"
11+ "github.com/xtls/xray-core/common/crypto"
1312)
1413
1514func SealVMessAEADHeader (key [16 ]byte , data []byte ) []byte {
@@ -34,15 +33,7 @@ func SealVMessAEADHeader(key [16]byte, data []byte) []byte {
3433
3534 payloadHeaderLengthAEADNonce := KDF (key [:], KDFSaltConstVMessHeaderPayloadLengthAEADIV , string (generatedAuthID [:]), string (connectionNonce ))[:12 ]
3635
37- payloadHeaderLengthAEADAESBlock , err := aes .NewCipher (payloadHeaderLengthAEADKey )
38- if err != nil {
39- panic (err .Error ())
40- }
41-
42- payloadHeaderAEAD , err := cipher .NewGCM (payloadHeaderLengthAEADAESBlock )
43- if err != nil {
44- panic (err .Error ())
45- }
36+ payloadHeaderAEAD := crypto .NewAesGcm (payloadHeaderLengthAEADKey )
4637
4738 payloadHeaderLengthAEADEncrypted = payloadHeaderAEAD .Seal (nil , payloadHeaderLengthAEADNonce , aeadPayloadLengthSerializedByte , generatedAuthID [:])
4839 }
@@ -54,15 +45,7 @@ func SealVMessAEADHeader(key [16]byte, data []byte) []byte {
5445
5546 payloadHeaderAEADNonce := KDF (key [:], KDFSaltConstVMessHeaderPayloadAEADIV , string (generatedAuthID [:]), string (connectionNonce ))[:12 ]
5647
57- payloadHeaderAEADAESBlock , err := aes .NewCipher (payloadHeaderAEADKey )
58- if err != nil {
59- panic (err .Error ())
60- }
61-
62- payloadHeaderAEAD , err := cipher .NewGCM (payloadHeaderAEADAESBlock )
63- if err != nil {
64- panic (err .Error ())
65- }
48+ payloadHeaderAEAD := crypto .NewAesGcm (payloadHeaderAEADKey )
6649
6750 payloadHeaderAEADEncrypted = payloadHeaderAEAD .Seal (nil , payloadHeaderAEADNonce , data , generatedAuthID [:])
6851 }
@@ -104,15 +87,7 @@ func OpenVMessAEADHeader(key [16]byte, authid [16]byte, data io.Reader) ([]byte,
10487
10588 payloadHeaderLengthAEADNonce := KDF (key [:], KDFSaltConstVMessHeaderPayloadLengthAEADIV , string (authid [:]), string (nonce [:]))[:12 ]
10689
107- payloadHeaderAEADAESBlock , err := aes .NewCipher (payloadHeaderLengthAEADKey )
108- if err != nil {
109- panic (err .Error ())
110- }
111-
112- payloadHeaderLengthAEAD , err := cipher .NewGCM (payloadHeaderAEADAESBlock )
113- if err != nil {
114- panic (err .Error ())
115- }
90+ payloadHeaderLengthAEAD := crypto .NewAesGcm (payloadHeaderLengthAEADKey )
11691
11792 decryptedAEADHeaderLengthPayload , erropenAEAD := payloadHeaderLengthAEAD .Open (nil , payloadHeaderLengthAEADNonce , payloadHeaderLengthAEADEncrypted [:], authid [:])
11893
@@ -145,15 +120,7 @@ func OpenVMessAEADHeader(key [16]byte, authid [16]byte, data io.Reader) ([]byte,
145120 return nil , false , bytesRead , err
146121 }
147122
148- payloadHeaderAEADAESBlock , err := aes .NewCipher (payloadHeaderAEADKey )
149- if err != nil {
150- panic (err .Error ())
151- }
152-
153- payloadHeaderAEAD , err := cipher .NewGCM (payloadHeaderAEADAESBlock )
154- if err != nil {
155- panic (err .Error ())
156- }
123+ payloadHeaderAEAD := crypto .NewAesGcm (payloadHeaderAEADKey )
157124
158125 decryptedAEADHeaderPayload , erropenAEAD := payloadHeaderAEAD .Open (nil , payloadHeaderAEADNonce , payloadHeaderAEADEncrypted , authid [:])
159126
0 commit comments