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.") } }