38 lines
887 B
Go
38 lines
887 B
Go
|
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.")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
|