Asymmetric.Public now can be converted to Universal and stored into a ring

This commit is contained in:
sergeych committed 2024-06-23 09:55:31 +07:00
1 parent bb383b5457
commit 435604379e
12 files changed
+149 -53

No files matched your search

+22 -6
View File
@@ -16,7 +16,7 @@ class RingTest {
val y2 = SymmetricKey("1234567890Hello,dolly.here-we-go".encodeToUByteArray())
assertEquals(y1, y2)
val e1 = Asymmetric.new()
val e1 = Asymmetric.newSecretKey()
val e2: Asymmetric.SecretKey = BipackDecoder.decode(BipackEncoder.encode(e1))
assertEquals(e1, e2)
@@ -26,8 +26,8 @@ class RingTest {
assertEquals(k1, k11)
val k2 = UniversalKey.from(Asymmetric.new())
val k3 = UniversalKey.from(Asymmetric.new())
val k2 = UniversalKey.from(Asymmetric.newSecretKey())
val k3 = UniversalKey.from(Asymmetric.newSecretKey())
//
val r = UniversalRing(k1, k2)
// val r = UniversalRing(k1)
@@ -35,8 +35,8 @@ class RingTest {
assertTrue(k1 in r)
assertFalse { k3 in r }
println(Asymmetric.new().keyBytes.size)
println(BipackEncoder.encode(Asymmetric.new()).size)
println(Asymmetric.newSecretKey().keyBytes.size)
println(BipackEncoder.encode(Asymmetric.newSecretKey()).size)
val encoded = BipackEncoder.encode(r)
println(encoded.toDump())
println(encoded.size)
@@ -56,12 +56,28 @@ class RingTest {
assertEquals(r, r2)
}
@Test
fun testAsymmetricPublic() = runTest {
initCrypto()
val sk = Asymmetric.newSecretKey()
assertEquals(sk.id, sk.publicKey.id)
val r = UniversalRing.from(sk.publicKey to "foo")
println(sk.publicKey.id)
println(sk.id)
println(r.findKey<EncryptingKey>(sk.id))
println(BipackEncoder.encode(r).toDump())
val r1 = deepCopy(r)
println(r1.findKey<EncryptingKey>(sk.id))
println(sk)
assertTrue { sk.publicKey.toUniversalKey() == r1.findKey<EncryptingKey>(sk.id) }
}
@Test
fun testTags() = runTest {
initCrypto()
val k1 = UniversalKey.from(SymmetricKey("1234567890Hello,dolly.here-we-go".encodeToUByteArray()))
val k2 = UniversalKey.from(Asymmetric.new())
val k2 = UniversalKey.from(Asymmetric.newSecretKey())
val r1 = UniversalRing(k1, k2)
var r2 = UniversalRing(deepCopy(k1), deepCopy(k2))