seekia/internal/cryptography/kyber/kyber_test.go

38 lines
887 B
Go
Raw Normal View History

package kyber_test
import "seekia/internal/cryptography/kyber"
import "seekia/internal/helpers"
import "testing"
func TestEncryptDecryptKyber(t *testing.T) {
testPublicKey, testPrivateKey, err := kyber.GetNewRandomPublicPrivateKyberKeys()
if (err != nil) {
t.Fatalf("Failed to derive Kyber keys: " + err.Error())
}
keyToEncrypt, err := helpers.GetNewRandom32ByteArray()
if (err != nil){
t.Fatalf("Failed to get new random 32 byte array: " + err.Error())
}
encryptedBytes, err := kyber.EncryptKeyWithKyber(testPublicKey, keyToEncrypt)
if (err != nil) {
t.Fatalf("Failed to encrypt Kyber: " + err.Error())
}
decryptedKey, err := kyber.DecryptKyberEncryptedKey(encryptedBytes, testPrivateKey)
if (err != nil) {
t.Fatalf("Failed to decrypt Kyber: " + err.Error())
}
if (decryptedKey != keyToEncrypt){
t.Fatalf("Kyber decrypted key does not match.")
}
}