1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2026-05-16 17:39:08 -04:00

VMess AEAD Experiment

This commit is contained in:
Shelikhoo
2020-06-06 17:11:30 +08:00
parent b610fc0a70
commit 9bf07b1f26
11 changed files with 621 additions and 45 deletions

26
proxy/vmess/aead/kdf.go Normal file
View File

@@ -0,0 +1,26 @@
package aead
import (
"crypto/hmac"
"crypto/sha256"
"hash"
)
func KDF(key []byte, path ...string) []byte {
hmacf := hmac.New(func() hash.Hash {
return sha256.New()
}, []byte("VMess AEAD KDF"))
for _, v := range path {
hmacf = hmac.New(func() hash.Hash {
return hmacf
}, []byte(v))
}
hmacf.Write(key)
return hmacf.Sum(nil)
}
func KDF16(key []byte, path ...string) []byte {
r := KDF(key, path...)
return r[:16]
}