MCPcopy Create free account
hub / github.com/TheThingsNetwork/lorawan-stack / Decrypt

Function Decrypt

pkg/crypto/encryption.go:52–69  ·  view source on GitHub ↗

Decrypt decrypts an encrypted message. Uses AES128 keys in GCM (Galois/Counter Mode).

(key types.AES128Key, encrypted []byte)

Source from the content-addressed store, hash-verified

50// Decrypt decrypts an encrypted message.
51// Uses AES128 keys in GCM (Galois/Counter Mode).
52func Decrypt(key types.AES128Key, encrypted []byte) ([]byte, error) {
53 cipherBlock, err := aes.NewCipher(key[:])
54 if err != nil {
55 return nil, err
56 }
57 gcm, err := cipher.NewGCM(cipherBlock)
58 if err != nil {
59 return nil, err
60 }
61 if len(encrypted) < gcm.NonceSize() {
62 return nil, errMalformedCipherText.New()
63 }
64 return gcm.Open(nil,
65 encrypted[:gcm.NonceSize()],
66 encrypted[gcm.NonceSize():],
67 nil,
68 )
69}

Callers 2

TestEncryptDecryptFunction · 0.85
DecryptMethod · 0.85

Calls 1

NewMethod · 0.65

Tested by 1

TestEncryptDecryptFunction · 0.68