refining keys model

This commit is contained in:
sergeych committed 2024-06-23 07:09:27 +07:00
1 parent c4accfcd91
commit bb383b5457
5 files changed
+187 -47

No files matched your search

+35 -1
View File
@@ -114,6 +114,40 @@ class RingTest {
@Test
fun testSize() = runTest {
// val sy1 = SymmetricKey.random().toUniversal()
initCrypto()
val r = UniversalRing(UniversalKey.newSymmetricKey())
val rd = BipackEncoder.encode(r)
println(rd.size)
println(rd.toDump())
assertTrue { rd.size <= 46 }
}
@Test
fun testJoin() = runTest {
initCrypto()
val a = UniversalKey.newSecretKey()
val b = UniversalKey.newSigningKey()
val c = UniversalKey.newSymmetricKey()
val d = UniversalKey.newSigningKey()
val ra = UniversalRing(a)
val rb = UniversalRing(b)
val rc = UniversalRing(c)
val rd = UniversalRing(d) + (a to "foo_a")
var r1 = ra + rb + rc + rd
assertEquals(a, r1.findKey<UniversalKey.Secret>(a.id))
assertEquals(a, r1.keyByTag<UniversalKey>("foo_a"))
assertEquals(b, r1.findKey<SigningKey>(b.id))
assertEquals(c, r1.keysById(c.key.id).first())
r1 = UniversalRing.join(listOf(ra, rb, rc, rd))
assertEquals(a, r1.findKey<UniversalKey.Secret>(a.id))
assertEquals(a, r1.keyByTag<UniversalKey>("foo_a"))
assertEquals(b, r1.findKey<SigningKey>(b.id))
assertEquals(c, r1.keysById(c.key.id).first())
}
}