demonstrate performance with large encoding size but limited to small database sizes

This commit is contained in:
alu committed 2024-11-15 22:20:21 +00:00
1 parent 373cfbf495
commit 55cc4ef781
1 file changed
+21 -14
+21 -14
View File
@@ -2,11 +2,11 @@
"cells": [
{
"cell_type": "code",
"execution_count": 11,
"execution_count": 44,
"metadata": {},
"outputs": [],
"source": [
"encoding_width = 64\n",
"encoding_width = 2**13 # restricted by ckks size\n",
"database_size = 100"
]
},
@@ -19,7 +19,7 @@
},
{
"cell_type": "code",
"execution_count": 12,
"execution_count": 45,
"metadata": {},
"outputs": [],
"source": [
@@ -29,7 +29,7 @@
},
{
"cell_type": "code",
"execution_count": 13,
"execution_count": 46,
"metadata": {},
"outputs": [
{
@@ -64,7 +64,7 @@
},
{
"cell_type": "code",
"execution_count": 14,
"execution_count": 47,
"metadata": {},
"outputs": [],
"source": [
@@ -76,14 +76,14 @@
},
{
"cell_type": "code",
"execution_count": 15,
"execution_count": 48,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[Client] sending HE_client=<ckks Pyfhel obj at 0x763cfa924030, [pk:Y, sk:Y, rtk:Y, rlk:Y, contx(n=16384, t=0, sec=128, qi=[60, 30, 30, 30, 60], scale=1073741824.0, )]> and cx=<Pyfhel Ciphertext at 0x763cf8b0e2c0, scheme=ckks, size=2/2, scale_bits=30, mod_level=0>\n"
"[Client] sending HE_client=<ckks Pyfhel obj at 0x779133ff2df0, [pk:Y, sk:Y, rtk:Y, rlk:Y, contx(n=32768, t=0, sec=128, qi=[60, 30, 30, 30, 60], scale=1073741824.0, )]> and cx=<Pyfhel Ciphertext at 0x77913c6fc4f0, scheme=ckks, size=2/2, scale_bits=30, mod_level=0>\n"
]
}
],
@@ -109,7 +109,7 @@
},
{
"cell_type": "code",
"execution_count": 16,
"execution_count": 49,
"metadata": {},
"outputs": [],
"source": [
@@ -122,7 +122,7 @@
},
{
"cell_type": "code",
"execution_count": 17,
"execution_count": 50,
"metadata": {},
"outputs": [],
"source": [
@@ -132,15 +132,15 @@
},
{
"cell_type": "code",
"execution_count": 18,
"execution_count": 51,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[Server] received HE_server=<ckks Pyfhel obj at 0x763cf2a734e0, [pk:Y, sk:-, rtk:Y, rlk:Y, contx(n=16384, t=0, sec=128, qi=[60, 30, 30, 30, 60], scale=1073741824.0, )]> and cx=<Pyfhel Ciphertext at 0x763cfa924ae0, scheme=ckks, size=2/2, scale_bits=30, mod_level=0>\n",
"[Server] Distances computed! Responding: res=[(<Pyfhel Ciphertext at 0x763cf3fe4f90, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x763cf2a47270, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x763cf3ff8090, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x763cf2a55f40, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x763cf2a55f90, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x763cf2a55ef0, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x763cf2a55db0, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x763cf2a55e00, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x763cf2a55d60, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x763cf2a55d10, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x763cf2a55cc0, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x763cf2a55b30, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x763cf2a5d8b0, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x763cf2a5db30, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x763cf2a5d950, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x763cf2a5d900, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x763cf2a5d9f0, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x763cf2a5d9a0, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x763cf2a5da90, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x763cf2a5da40, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x763cf3fe4e00, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x763cfa924310, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x763cfa924c20, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x763cfa924f40, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x763cf3fe4720, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x763cf2a6a4f0, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x763cf2a5dae0, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x763cf8b41cc0, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x763cf3ff8630, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x763cf2a73900, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x763cf2a733b0, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x763cf2a739a0, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x763cf2a73810, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x763cf2a73e50, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x763cf2a73040, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x763cf2a73a40, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x763cf2a73ae0, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x763cf2a737c0, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x763cf2a73b80, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x763cf2a73090, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x763cf2a73c20, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x763cf2a73950, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x763cf2a73cc0, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x763cf2a73180, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x763cf2a73d60, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x763cf2a73a90, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x763cf2a73e00, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x763cf2a73220, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x763cf2a73ea0, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x763cf2a73bd0, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x763cf2a73f40, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x763cf2a732c0, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x763cf2a73360, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x763cf2a73d10, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x763cfd2Line truncated
"[Server] received HE_server=<ckks Pyfhel obj at 0x779133f424e0, [pk:Y, sk:-, rtk:Y, rlk:Y, contx(n=32768, t=0, sec=128, qi=[60, 30, 30, 30, 60], scale=1073741824.0, )]> and cx=<Pyfhel Ciphertext at 0x77914a0b1400, scheme=ckks, size=2/2, scale_bits=30, mod_level=0>\n",
"[Server] Distances computed! Responding: res=[(<Pyfhel Ciphertext at 0x779133fef540, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x77914a0ae450, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x77914a0ae310, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x77914a0ae180, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x77914a0ae1d0, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x77914a0ae4f0, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x77914a0ae3b0, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x77914a0ae130, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x77914a0ae040, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x77914a0ae4a0, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x77914a0ae400, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x77914a0ae540, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x77914a0ae590, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x77914a0ae5e0, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x77914a0ae680, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x77914a0ae360, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x77914a0ae6d0, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x77914a0ae720, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x77914a0ae770, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x77914a0ae7c0, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x77914a0ae810, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x77914a0ae860, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x77914a0ae900, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x77914a0ae630, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x77914a0ae950, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x77914a0aeb30, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x77914a0ae9f0, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x77914a0aea40, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x77914a0aebd0, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x77914a0aea90, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x77914a0ae9a0, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x77914a0aed10, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x77914a0aeae0, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x77914a0aec20, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x77914a0ae8b0, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x77914a0aecc0, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x77914a0aed60, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x77914a0aeb80, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x77914a0aedb0, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x77914a0aef40, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x77914a0aee50, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x77914a0aec70, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x77914a0aa1d0, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x77914a0aa450, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x77914a0aaf90, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x77914a0aa4a0, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x77914a0aa590, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x77914a0aa5e0, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x77914a0aa360, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x77914a0aa2c0, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x77914a0aa680, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x77914a0aa720, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x77914a0aa270, scheme=ckks, size=2/4, scale_bits=60, mod_level=2>, <Pyfhel Ciphertext at 0x77914a0aa540, scheme=ckks, size=3/3, scale_bits=60, mod_level=3>), (<Pyfhel Ciphertext at 0x77914a0Line truncated
]
}
],
@@ -169,6 +169,13 @@
"print(f\"[Server] Distances computed! Responding: res={res}\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Note that the time is mostly restricted by database size and not encoding size"
]
},
{
"cell_type": "markdown",
"metadata": {},
@@ -178,7 +185,7 @@
},
{
"cell_type": "code",
"execution_count": 19,
"execution_count": 52,
"metadata": {},
"outputs": [],
"source": [
@@ -190,7 +197,7 @@
},
{
"cell_type": "code",
"execution_count": 20,
"execution_count": 53,
"metadata": {},
"outputs": [],
"source": [