This commit is contained in:
Rick Weber
2022-01-07 13:10:10 -08:00
parent cbc3ab05b8
commit 811b27207f
2 changed files with 18 additions and 10 deletions

View File

@@ -25,12 +25,12 @@ When using a plain modulus large enough for batching, generating relin keys fail
Precise sizes may vary with RNG. Some keys fail to generate for some poly degrees (marked as N/A).
| Poly degree | 1024 | 2048 | 4096 | 8192 | 16384 | 32768 |
|---------------------|---------|----------|-----------|-----------|-------------|-----------|
| secret key | 4.2 kiB | 15.1 kiB | 68.6 kiB | 264.4 kiB | 1_004.5 kiB | 3.8 MiB |
| public key | 8.4 kiB | 30.2 kiB | 131.0 kiB | 529.1 kiB | 2.0 MiB | 7.5 MiB |
| compact public key | 4.3 kiB | 15.2 kiB | 68.7 kiB | 264.4 kiB | 1_004.5 kiB | 3.8 MiB |
| relin keys | N/A | N/A | 270.3 kiB | 2.1 MiB | 15.7 MiB | 113.0 MiB |
| compact relin keys | N/A | N/A | 131.1 kiB | 1.0 MiB | 7.8 MiB | 56.5 MiB |
| Galois keys | N/A | N/A | 5.8 MiB | 49.6 MiB | 408.2 MiB | 3.1 GiB |
| compact Galois keys | N/A | N/A | N/A | N/A | N/A | N/A |
| Poly degree | 1024 | 2048 | 4096 | 8192 | 16384 | 32768 |
|---------------------|----------|-----------|------------|------------|--------------|------------|
| secret key | 4.17 kiB | 15.15 kiB | 68.60 kiB | 264.46 kiB | 1,004.55 kiB | 3.77 MiB |
| public key | 8.41 kiB | 30.19 kiB | 130.92 kiB | 529.19 kiB | 1.96 MiB | 7.53 MiB |
| compact public key | 4.27 kiB | 15.22 kiB | 68.69 kiB | 264.50 kiB | 1,004.58 kiB | 3.77 MiB |
| relin keys | N/A | N/A | 270.42 kiB | 2.07 MiB | 15.69 MiB | 113.02 MiB |
| compact relin keys | N/A | N/A | 131.21 kiB | 1.03 MiB | 7.85 MiB | 56.51 MiB |
| Galois keys | N/A | N/A | 5.79 MiB | 49.65 MiB | 408.23 MiB | 3.09 GiB |
| compact Galois keys | N/A | N/A | N/A | N/A | N/A | N/A |

View File

@@ -1,9 +1,17 @@
use comfy_table::{Cell, Row, Table};
use seal::*;
use si_scale::helpers::bibytes1;
use si_scale::{prelude::*, scale_fn};
use crate::POLY_DEGREE;
scale_fn!(bibytes1,
base: B1024,
constraint: UnitAndAbove,
mantissa_fmt: "{:.2}",
groupings: ',',
unit: "B"
);
pub fn key_size_table() -> Table {
let mut table = Table::new();
let mut header = Row::new();