mirror of
https://github.com/zama-ai/tfhe-rs.git
synced 2026-01-09 14:47:56 -05:00
WIP: almost all tables defined - compression is still missing
This commit is contained in:
@@ -453,13 +453,13 @@ class ParamsDefinition:
|
||||
f"ParamsDefinition("
|
||||
f"message_size={self.precision.message()}, "
|
||||
f"carry_size={self.precision.carry()}, "
|
||||
# f"pbs_kind={self.pbs_kind}, "
|
||||
f"pbs_kind={self.pbs_kind}, "
|
||||
f"grouping_factor={self.grouping_factor}, "
|
||||
# f"noise_distribution={self.noise_distribution}, "
|
||||
f"noise_distribution={self.noise_distribution}, "
|
||||
f"atomic_pattern={self.atomic_pattern}, "
|
||||
f"p_fail={self.p_fail}, "
|
||||
# f"version={self.version}, "
|
||||
# f"details={self.details})"
|
||||
f"version={self.version}, "
|
||||
f"details={self.details})"
|
||||
)
|
||||
|
||||
def components_match(self, *components):
|
||||
|
||||
@@ -679,6 +679,7 @@ class ElementType(enum.Enum):
|
||||
Operation = 0
|
||||
ParamComponent = 1
|
||||
SizeComponent = 2
|
||||
Reference = 3
|
||||
|
||||
|
||||
class LatexSeparator(enum.StrEnum):
|
||||
@@ -810,7 +811,7 @@ class LatexArraySection:
|
||||
if param_def.components_match(*row_filters, elem.elem):
|
||||
row_values.append(value)
|
||||
|
||||
print("Row values:", row_values)
|
||||
# print("Row values:", row_values) # DEBUG
|
||||
return " & ".join(row_values) + r" \\"
|
||||
|
||||
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
"""
|
||||
All tables are named after their label in the whitepaper.
|
||||
"""
|
||||
|
||||
from PIL.IptcImagePlugin import COMPRESSION
|
||||
from benchmark_specs import (
|
||||
AtomicPattern,
|
||||
ErrorFailureProbability,
|
||||
GroupingFactor,
|
||||
OperandSize,
|
||||
Precision,
|
||||
PBSKind,
|
||||
)
|
||||
from formatters.common import (
|
||||
ElementType,
|
||||
@@ -21,8 +22,8 @@ from formatters.common import (
|
||||
# Table 3 is core crypto KS/KS-PBS/PBS in the multibit case for V1_4_PARAM_MULTI_BIT_GROUP_X_MESSAGE_Y_CARRY_Y_KS_PBS_GAUSSIAN_2MZ for X in [2,3,4], Y in [1,2,3,4] and Z in [64, 128]
|
||||
# Table 5 is special case with 1_1_64, 2_2_64, 4_4_64
|
||||
# Table 6 is special case with 1_1_128, 2_2_128, 4_4_128
|
||||
# Table 7 is the multibit special case with V1_4_PARAM_MULTI_BIT_GROUP_X_MESSAGE_Y_CARRY_Y_KS_PBS_GAUSSIAN_2MZ for X in [2,3,4], Y = 2, Z = 64.
|
||||
# Table 8 is special case for 2_2_128 and 2_2_128 KS_32 <--- changed
|
||||
# Table 7 is the multibit special case with V1_4_PARAM_MULTI_BIT_GROUP_X_MESSAGE_Y_CARRY_Y_KS_PBS_GAUSSIAN_2MZ for X in [2,3,4], Y = 2, Z = 128.
|
||||
# Table 8 is special case for 2_2_128 and 2_2_128 KS_32
|
||||
# Table 9, 10, 11, 12 are the integer ops for 2_2_64_KS32 and 2_2_128_KS32
|
||||
# Table 13 is compression (which I believe was in special case?) for the 64/128 compression parameters
|
||||
|
||||
@@ -48,6 +49,10 @@ def _get_operation_elem(
|
||||
)
|
||||
|
||||
|
||||
def _get_cref_elem(cref_name) -> LatexRowElement:
|
||||
return LatexRowElement(cref_name, ElementType.Reference, f"\\cref{{{cref_name}}}")
|
||||
|
||||
|
||||
PFAIL_2M64_ELEM = LatexRowElement(
|
||||
ErrorFailureProbability.TWO_MINUS_64, ElementType.ParamComponent, r"\(2^{-64}\)"
|
||||
)
|
||||
@@ -58,13 +63,20 @@ PFAIL_2M128_ELEM = LatexRowElement(
|
||||
PFAIL_2M64_HIDDEN_ELEM = LatexRowElement(
|
||||
ErrorFailureProbability.TWO_MINUS_64,
|
||||
ElementType.ParamComponent,
|
||||
r"\(2^{-64}\)",
|
||||
"",
|
||||
display_element=False,
|
||||
)
|
||||
PFAIL_2M128_HIDDEN_ELEM = LatexRowElement(
|
||||
ErrorFailureProbability.TWO_MINUS_128,
|
||||
ElementType.ParamComponent,
|
||||
r"\(2^{-128}\)",
|
||||
"",
|
||||
display_element=False,
|
||||
)
|
||||
|
||||
CLASSICAL_PBS_HIDDEN_ELEM = LatexRowElement(
|
||||
PBSKind.Classical,
|
||||
ElementType.ParamComponent,
|
||||
"",
|
||||
display_element=False,
|
||||
)
|
||||
|
||||
@@ -104,6 +116,31 @@ M4C4_PFAIL_128_ELEM = LatexRowElement(
|
||||
r"${\tt 4\_4\_128}$",
|
||||
)
|
||||
|
||||
M2C2_PFAIL_128_GF_2_ELEM = LatexRowElement(
|
||||
GroupingFactor.Two,
|
||||
ElementType.ParamComponent,
|
||||
r"${\tt 2\_2\_128\_multibit2}$",
|
||||
)
|
||||
|
||||
M2C2_PFAIL_128_GF_3_ELEM = LatexRowElement(
|
||||
GroupingFactor.Three,
|
||||
ElementType.ParamComponent,
|
||||
r"${\tt 2\_2\_128\_multibit3}$",
|
||||
)
|
||||
|
||||
M2C2_PFAIL_128_GF_4_ELEM = LatexRowElement(
|
||||
GroupingFactor.Four,
|
||||
ElementType.ParamComponent,
|
||||
r"${\tt 2\_2\_128\_multibit4}$",
|
||||
)
|
||||
|
||||
M2C2_HIDDEN_ELEM = LatexRowElement(
|
||||
Precision.M2C2,
|
||||
ElementType.ParamComponent,
|
||||
"",
|
||||
display_element=False,
|
||||
)
|
||||
|
||||
KSPBS_HIDDEN_ELEM = LatexRowElement(
|
||||
AtomicPattern.KSPBS,
|
||||
ElementType.ParamComponent,
|
||||
@@ -117,12 +154,134 @@ KS32PBS_HIDDEN_ELEM = LatexRowElement(
|
||||
display_element=False,
|
||||
)
|
||||
|
||||
# ----------------------------
|
||||
# Operations as LaTex elements
|
||||
# ----------------------------
|
||||
|
||||
KS_OP_ELEM = _get_operation_elem("keyswitch", r"\ks")
|
||||
PBS_OP_ELEM = _get_operation_elem("pbs_mem_optimized", r"\pbs")
|
||||
MB_PBS_OP_ELEM = _get_operation_elem("multi_bit_deterministic_pbs", r"\mbpbs")
|
||||
KSPBS_OP_ELEM = _get_operation_elem("ks_pbs", r"\kspbs")
|
||||
KS_MB_PBS_OP_ELEM = _get_operation_elem("multi_bit_deterministic_ks_pbs", r"\ksmbpbs")
|
||||
|
||||
ADD_OP_ELEM = _get_operation_elem(
|
||||
"unsigned_add_parallelized", r"\texttt{unsigned\_add\_parallelized}"
|
||||
)
|
||||
SUB_OP_ELEM = _get_operation_elem(
|
||||
"unsigned_sub_parallelized", r"\texttt{unsigned\_sub\_parallelized}"
|
||||
)
|
||||
BITNOT_OP_ELEM = _get_operation_elem(
|
||||
"unsigned_bitnot", r"\texttt{unsigned\_bitnot\_non\_parallelized}"
|
||||
)
|
||||
BITAND_OP_ELEM = _get_operation_elem(
|
||||
"unsigned_bitand_parallelized",
|
||||
r"\texttt{unsigned\_bit\{and,or,xor\}\_parallelized}",
|
||||
)
|
||||
DIV_REM_OP_ELEM = _get_operation_elem(
|
||||
"unsigned_div_rem_parallelized", r"\texttt{unsigned\_div\_rem\_parallelized}"
|
||||
)
|
||||
EQ_OP_ELEM = _get_operation_elem(
|
||||
"unsigned_eq_parallelized", r"\texttt{unsigned\_\{eq,ne\}\_parallelized}"
|
||||
)
|
||||
COMPARISON_OP_ELEM = _get_operation_elem(
|
||||
"unsigned_gt_parallelized", r"\texttt{unsigned\_\{ge,gt,le,lt\}\_parallelized}"
|
||||
)
|
||||
IF_THEN_ELSE_OP_ELEM = _get_operation_elem(
|
||||
"unsigned_if_then_else_parallelized",
|
||||
r"\texttt{unsigned\_if\_then\_else\_parallelized}",
|
||||
)
|
||||
NEGATION_OP_ELEM = _get_operation_elem(
|
||||
"unsigned_neg_parallelized", r"\texttt{unsigned\_neg\_parallelized}"
|
||||
)
|
||||
MUL_OP_ELEM = _get_operation_elem(
|
||||
"unsigned_mul_parallelized", r"\texttt{unsigned\_mul\_parallelized}"
|
||||
)
|
||||
SCALAR_REM_OP_ELEM = _get_operation_elem(
|
||||
"unsigned_scalar_rem_parallelized", r"\texttt{unsigned\_scalar\_rem\_parallelized}"
|
||||
)
|
||||
SHIFT_OP_ELEM = _get_operation_elem(
|
||||
"unsigned_left_shift_parallelized",
|
||||
r"\texttt{unsigned\_\{left,right\}\_shift\_parallelized}",
|
||||
)
|
||||
ROTATE_OP_ELEM = _get_operation_elem(
|
||||
"unsigned_rotate_left_parallelized",
|
||||
r"\texttt{unsigned\_\{left,right\}\_rotate\_parallelized}",
|
||||
)
|
||||
OVERFLOWING_ADD_OP_ELEM = _get_operation_elem(
|
||||
"unsigned_unsigned_overflowing_add_parallelized",
|
||||
r"\texttt{unsigned\_overflowing\_add\_parallelized}",
|
||||
)
|
||||
OVERFLOWING_SUB_OP_ELEM = _get_operation_elem(
|
||||
"unsigned_unsigned_overflowing_sub_parallelized",
|
||||
r"\texttt{unsigned\_overflowing\_sub\_parallelized}",
|
||||
)
|
||||
OVERFLOWING_MUL_OP_ELEM = _get_operation_elem(
|
||||
"unsigned_unsigned_overflowing_mul_parallelized",
|
||||
r"\texttt{unsigned\_overflowing\_mul\_parallelized}",
|
||||
)
|
||||
SUM_CIPHERTEXTS_5_CTXTS_OP_ELEM = _get_operation_elem(
|
||||
"unsigned_sum_ciphertexts_parallelized_5_ctxts",
|
||||
r"\texttt{unsigned\_sum\_ciphertexts\_parallelized\_5\_ctxts\_non\_parallelized}",
|
||||
)
|
||||
SUM_CIPHERTEXTS_10_CTXTS_OP_ELEM = _get_operation_elem(
|
||||
"unsigned_sum_ciphertexts_parallelized_10_ctxts",
|
||||
r"\texttt{unsigned\_sum\_ciphertexts\_parallelized\_10\_ctxts\_non\_parallelized}",
|
||||
)
|
||||
SUM_CIPHERTEXTS_20_CTXTS_OP_ELEM = _get_operation_elem(
|
||||
"unsigned_sum_ciphertexts_parallelized_20_ctxts",
|
||||
r"\texttt{unsigned\_sum\_ciphertexts\_parallelized\_20\_ctxts\_non\_parallelized}",
|
||||
)
|
||||
COMPRESSION_OP_ELEM = _get_operation_elem(
|
||||
"", "Compress"
|
||||
)
|
||||
DECOMPRESSION_OP_ELEM = _get_operation_elem(
|
||||
"", "Decompress"
|
||||
)
|
||||
|
||||
OVERFLOWING_SCALAR_ADD_OP_ELEM = _get_operation_elem(
|
||||
"unsigned_unsigned_overflowing_scalar_add_parallelized",
|
||||
r"\texttt{unsigned\_overflowing\_scalar\_add\_parallelized}",
|
||||
)
|
||||
OVERFLOWING_SCALAR_SUB_OP_ELEM = _get_operation_elem(
|
||||
"unsigned_unsigned_overflowing_scalar_sub_parallelized",
|
||||
r"\texttt{unsigned\_overflowing\_scalar\_sub\_parallelized}",
|
||||
)
|
||||
SCALAR_ADD_OP_ELEM = _get_operation_elem(
|
||||
"unsigned_scalar_add_parallelized", r"\texttt{unsigned\_scalar\_add\_parallelized}"
|
||||
)
|
||||
SCALAR_SUB_OP_ELEM = _get_operation_elem(
|
||||
"unsigned_scalar_sub_parallelized", r"\texttt{unsigned\_scalar\_sub\_parallelized}"
|
||||
)
|
||||
SCALAR_BITWISE_OP_ELEM = _get_operation_elem(
|
||||
"unsigned_scalar_bitand_parallelized",
|
||||
r"\texttt{unsigned\_scalar\_bit\{and,or,xor\}\_parallelized}",
|
||||
)
|
||||
SCALAR_DIV_OP_ELEM = _get_operation_elem(
|
||||
"unsigned_scalar_div_parallelized", r"\texttt{unsigned\_scalar\_div\_parallelized}"
|
||||
)
|
||||
SCALAR_EQ_OP_ELEM = _get_operation_elem(
|
||||
"unsigned_scalar_eq_parallelized",
|
||||
r"\texttt{unsigned\_scalar\_\{eq,ne\}\_parallelized}",
|
||||
)
|
||||
SCALAR_COMPARISON_OP_ELEM = _get_operation_elem(
|
||||
"unsigned_scalar_gt_parallelized",
|
||||
r"\texttt{unsigned\_scalar\_\{ge,gt,le,lt\}\_parallelized}",
|
||||
)
|
||||
SCALAR_MUL_OP_ELEM = _get_operation_elem(
|
||||
"unsigned_scalar_mul_parallelized", r"\texttt{unsigned\_scalar\_mul\_parallelized}"
|
||||
)
|
||||
SCALAR_REM_OP_ELEM = _get_operation_elem(
|
||||
"unsigned_scalar_rem_parallelized", r"\texttt{unsigned\_scalar\_rem\_parallelized}"
|
||||
)
|
||||
SCALAR_SHIFT_OP_ELEM = _get_operation_elem(
|
||||
"unsigned_scalar_left_shift_parallelized",
|
||||
r"\texttt{unsigned\_scalar\_\{left,right\}\_shift\_parallelized}",
|
||||
)
|
||||
SCALAR_ROTATE_OP_ELEM = _get_operation_elem(
|
||||
"unsigned_scalar_rotate_left_parallelized",
|
||||
r"\texttt{unsigned\_scalar\_\{left,right\}\_rotate\_parallelized}",
|
||||
)
|
||||
|
||||
ADD_OP_HIDDEN_ELEM = _get_operation_elem(
|
||||
"unsigned_add_parallelized", "Addition", display_element=False
|
||||
)
|
||||
@@ -133,6 +292,38 @@ MUL_OP_HIDDEN_ELEM = _get_operation_elem(
|
||||
"unsigned_mul_parallelized", "Multiplication", display_element=False
|
||||
)
|
||||
|
||||
# --------------------
|
||||
# \cref LaTex elements
|
||||
# --------------------
|
||||
|
||||
ADD_CREF_ELEM = _get_cref_elem("alg:addition")
|
||||
BITNOT_CREF_ELEM = _get_cref_elem("alg:bitwise-not")
|
||||
BITWISE_CREF_ELEM = _get_cref_elem("alg:bitwise-ops")
|
||||
EQ_CREF_ELEM = _get_cref_elem("alg:eq")
|
||||
DIV_REM_CREF_ELEM = _get_cref_elem("alg:unsig-div-rem")
|
||||
IF_THEN_ELSE_CREF_ELEM = _get_cref_elem("alg:select")
|
||||
SHIFT_CREF_ELEM = _get_cref_elem("alg:shift-rot-encr")
|
||||
MUL_CREF_ELEM = _get_cref_elem("alg:multiplication")
|
||||
NEGATION_CREF_ELEM = _get_cref_elem("alg:negation")
|
||||
ROTATE_CREF_ELEM = _get_cref_elem("ssec:shift")
|
||||
SUB_CREF_ELEM = _get_cref_elem("alg:sub")
|
||||
SUM_CIPHERTEXTS_CREF_ELEM = _get_cref_elem("alg:sum")
|
||||
OVERFLOWING_CREF_ELEM = _get_cref_elem("ssec:overflow")
|
||||
COMPARISON_CREF_ELEM = _get_cref_elem("alg:comparison")
|
||||
COMPRESSION_REF_ELEM = _get_cref_elem("alg:compression")
|
||||
DECOMPRESSION_REF_ELEM = _get_cref_elem("alg:decompression")
|
||||
SCALAR_ADD_CREF_ELEM = _get_cref_elem("sssec:addition-scalar")
|
||||
SCALAR_BITWISE_CREF_ELEM = _get_cref_elem("alg:scalar-bitwise")
|
||||
SCALAR_DIV_CREF_ELEM = _get_cref_elem("sssec:scalar-div")
|
||||
SCALAR_EQ_CREF_ELEM = _get_cref_elem("sssec:equality-scalar")
|
||||
SCALAR_MUL_CREF_ELEM = _get_cref_elem("alg:scalar-multiplication")
|
||||
SCALAR_SHIFT_CREF_ELEM = _get_cref_elem("alg:left_shift_scalar,alg:right_shift_scalar")
|
||||
SCALAR_ROTATE_CREF_ELEM = _get_cref_elem(
|
||||
"alg:left_rotate_scalar,alg:right_rotate_scalar"
|
||||
)
|
||||
SCALAR_SUB_CREF_ELEM = _get_cref_elem("ssec:subtraction-scalar")
|
||||
|
||||
|
||||
# ---------------------
|
||||
# LaTex column elements
|
||||
# ---------------------
|
||||
@@ -263,7 +454,7 @@ TABLE_PBS_BENCH = LatexTable(
|
||||
M3C3_COL_ELEM,
|
||||
M4C4_COL_ELEM,
|
||||
],
|
||||
# [PFAIL_2M64_ELEM, KSPBS_OP_ELEM_AMORTIZED, M1C1_COL_ELEM, M2C2_COL_ELEM, M3C3_COL_ELEM, M4C4_COL_ELEM], # TODO line de données à calculer depuis les résultats
|
||||
# [PFAIL_2M64_ELEM, KSPBS_OP_ELEM_AMORTIZED, M1C1_COL_ELEM, M2C2_COL_ELEM, M3C3_COL_ELEM, M4C4_COL_ELEM], # TODO data line to compute from database values
|
||||
]
|
||||
),
|
||||
LatexArraySection(
|
||||
@@ -292,7 +483,7 @@ TABLE_PBS_BENCH = LatexTable(
|
||||
M3C3_COL_ELEM,
|
||||
M4C4_COL_ELEM,
|
||||
],
|
||||
# [PFAIL_2M128_ELEM, KSPBS_OP_ELEM_AMORTIZED, M1C1_COL_ELEM, M2C2_COL_ELEM, Precision.M3C3, M4C4_COL_ELEM],
|
||||
# [PFAIL_2M128_ELEM, KSPBS_OP_ELEM_AMORTIZED, M1C1_COL_ELEM, M2C2_COL_ELEM, Precision.M3C3, M4C4_COL_ELEM], # TODO data line to compute from database values
|
||||
]
|
||||
),
|
||||
]
|
||||
@@ -496,60 +687,81 @@ TABLE_COMPARISON_OPERATIONS_BOOTSTRAPPING = LatexTable(
|
||||
LatexArraySection(
|
||||
[
|
||||
BITAND_OP_AS_COL_ELEM,
|
||||
[
|
||||
BITAND_OP_HIDDEN_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
M1C1_PFAIL_128_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
BITAND_OP_HIDDEN_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
M2C2_PFAIL_128_ELEM,
|
||||
CLASSICAL_PBS_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
BITAND_OP_HIDDEN_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
M4C4_PFAIL_128_ELEM,
|
||||
M2C2_PFAIL_128_GF_2_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
BITAND_OP_HIDDEN_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
M2C2_PFAIL_128_GF_3_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
BITAND_OP_HIDDEN_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
M2C2_PFAIL_128_GF_4_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
ADD_OP_AS_COL_ELEM,
|
||||
[
|
||||
ADD_OP_HIDDEN_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
M1C1_PFAIL_128_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
ADD_OP_HIDDEN_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
M2C2_PFAIL_128_ELEM,
|
||||
CLASSICAL_PBS_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
ADD_OP_HIDDEN_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
M4C4_PFAIL_128_ELEM,
|
||||
M2C2_PFAIL_128_GF_2_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
ADD_OP_HIDDEN_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
M2C2_PFAIL_128_GF_3_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
ADD_OP_HIDDEN_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
M2C2_PFAIL_128_GF_4_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
MUL_OP_AS_COL_ELEM,
|
||||
[
|
||||
MUL_OP_HIDDEN_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
M1C1_PFAIL_128_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
MUL_OP_HIDDEN_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
M2C2_PFAIL_128_ELEM,
|
||||
CLASSICAL_PBS_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
MUL_OP_HIDDEN_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
M4C4_PFAIL_128_ELEM,
|
||||
M2C2_PFAIL_128_GF_2_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
MUL_OP_HIDDEN_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
M2C2_PFAIL_128_GF_3_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
MUL_OP_HIDDEN_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
M2C2_PFAIL_128_GF_4_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
]
|
||||
@@ -612,16 +824,549 @@ TABLE_COMPARISON_OPERATIONS_BOOTSTRAPPING128KS32 = LatexTable(
|
||||
]
|
||||
)
|
||||
|
||||
# # No LaTex set for this table.
|
||||
# table_plaintext_ciphertext_ops_pfail64_ks32 = LatexTable()
|
||||
# No LaTex label set for this table.
|
||||
TABLE_PLAINTEXT_CIPHERTEXT_OPS_PFAIL64_KS32 = LatexTable(
|
||||
[
|
||||
LatexArraySection(
|
||||
[
|
||||
[
|
||||
OVERFLOWING_SCALAR_ADD_OP_ELEM,
|
||||
OVERFLOWING_CREF_ELEM,
|
||||
PFAIL_2M64_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
OVERFLOWING_SCALAR_SUB_OP_ELEM,
|
||||
OVERFLOWING_CREF_ELEM,
|
||||
PFAIL_2M64_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
SCALAR_ADD_OP_ELEM,
|
||||
SCALAR_ADD_CREF_ELEM,
|
||||
PFAIL_2M64_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
SCALAR_BITWISE_OP_ELEM,
|
||||
SCALAR_BITWISE_CREF_ELEM,
|
||||
PFAIL_2M64_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
SCALAR_DIV_OP_ELEM,
|
||||
SCALAR_DIV_CREF_ELEM,
|
||||
PFAIL_2M64_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
SCALAR_EQ_OP_ELEM,
|
||||
SCALAR_EQ_CREF_ELEM,
|
||||
PFAIL_2M64_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
SCALAR_COMPARISON_OP_ELEM,
|
||||
COMPARISON_CREF_ELEM,
|
||||
PFAIL_2M64_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
SCALAR_MUL_OP_ELEM,
|
||||
SCALAR_MUL_CREF_ELEM,
|
||||
PFAIL_2M64_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
SCALAR_REM_OP_ELEM,
|
||||
SCALAR_DIV_CREF_ELEM,
|
||||
PFAIL_2M64_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
SCALAR_SHIFT_OP_ELEM,
|
||||
SCALAR_SHIFT_CREF_ELEM,
|
||||
PFAIL_2M64_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
SCALAR_ROTATE_OP_ELEM,
|
||||
SCALAR_ROTATE_CREF_ELEM,
|
||||
PFAIL_2M64_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
SCALAR_SUB_OP_ELEM,
|
||||
SCALAR_SUB_CREF_ELEM,
|
||||
PFAIL_2M64_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
]
|
||||
),
|
||||
]
|
||||
)
|
||||
|
||||
# No LaTex label set for this table.
|
||||
TABLE_PLAINTEXT_CIPHERTEXT_OPS_PFAIL128_KS32 = LatexTable(
|
||||
[
|
||||
LatexArraySection(
|
||||
[
|
||||
[
|
||||
OVERFLOWING_SCALAR_ADD_OP_ELEM,
|
||||
OVERFLOWING_CREF_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
OVERFLOWING_SCALAR_SUB_OP_ELEM,
|
||||
OVERFLOWING_CREF_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
SCALAR_ADD_OP_ELEM,
|
||||
SCALAR_ADD_CREF_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
SCALAR_BITWISE_OP_ELEM,
|
||||
SCALAR_BITWISE_CREF_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
SCALAR_DIV_OP_ELEM,
|
||||
SCALAR_DIV_CREF_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
SCALAR_EQ_OP_ELEM,
|
||||
SCALAR_EQ_CREF_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
SCALAR_COMPARISON_OP_ELEM,
|
||||
COMPARISON_CREF_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
SCALAR_MUL_OP_ELEM,
|
||||
SCALAR_MUL_CREF_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
SCALAR_REM_OP_ELEM,
|
||||
SCALAR_DIV_CREF_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
SCALAR_SHIFT_OP_ELEM,
|
||||
SCALAR_SHIFT_CREF_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
SCALAR_ROTATE_OP_ELEM,
|
||||
SCALAR_ROTATE_CREF_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
SCALAR_SUB_OP_ELEM,
|
||||
SCALAR_SUB_CREF_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
]
|
||||
),
|
||||
]
|
||||
)
|
||||
|
||||
# No LaTex label set for this table.
|
||||
TABLE_CIPHERTEXT_CIPHERTEXT_OPS_PFAIL64_KS32 = LatexTable(
|
||||
[
|
||||
LatexArraySection(
|
||||
[
|
||||
[
|
||||
ADD_OP_ELEM,
|
||||
ADD_CREF_ELEM,
|
||||
PFAIL_2M64_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
BITNOT_OP_ELEM,
|
||||
BITNOT_CREF_ELEM,
|
||||
PFAIL_2M64_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
BITAND_OP_ELEM,
|
||||
BITWISE_CREF_ELEM,
|
||||
PFAIL_2M64_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
DIV_REM_OP_ELEM,
|
||||
DIV_REM_CREF_ELEM,
|
||||
PFAIL_2M64_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
EQ_OP_ELEM,
|
||||
EQ_CREF_ELEM,
|
||||
PFAIL_2M64_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
COMPARISON_OP_ELEM,
|
||||
COMPARISON_CREF_ELEM,
|
||||
PFAIL_2M64_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
IF_THEN_ELSE_OP_ELEM,
|
||||
IF_THEN_ELSE_CREF_ELEM,
|
||||
PFAIL_2M64_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
SHIFT_OP_ELEM,
|
||||
SHIFT_CREF_ELEM,
|
||||
PFAIL_2M64_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
MUL_OP_ELEM,
|
||||
MUL_CREF_ELEM,
|
||||
PFAIL_2M64_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
NEGATION_OP_ELEM,
|
||||
NEGATION_CREF_ELEM,
|
||||
PFAIL_2M64_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
OVERFLOWING_SCALAR_ADD_OP_ELEM,
|
||||
OVERFLOWING_CREF_ELEM,
|
||||
PFAIL_2M64_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
OVERFLOWING_MUL_OP_ELEM,
|
||||
OVERFLOWING_CREF_ELEM,
|
||||
PFAIL_2M64_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
OVERFLOWING_SUB_OP_ELEM,
|
||||
OVERFLOWING_CREF_ELEM,
|
||||
PFAIL_2M64_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
ROTATE_OP_ELEM,
|
||||
ROTATE_CREF_ELEM,
|
||||
PFAIL_2M64_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
SUB_OP_ELEM,
|
||||
SUB_CREF_ELEM,
|
||||
PFAIL_2M64_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
SUM_CIPHERTEXTS_10_CTXTS_OP_ELEM,
|
||||
SUM_CIPHERTEXTS_CREF_ELEM,
|
||||
PFAIL_2M64_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
SUM_CIPHERTEXTS_20_CTXTS_OP_ELEM,
|
||||
SUM_CIPHERTEXTS_CREF_ELEM,
|
||||
PFAIL_2M64_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
SUM_CIPHERTEXTS_5_CTXTS_OP_ELEM,
|
||||
SUM_CIPHERTEXTS_CREF_ELEM,
|
||||
PFAIL_2M64_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
]
|
||||
),
|
||||
]
|
||||
)
|
||||
|
||||
# No LaTex label set for this table.
|
||||
TABLE_CIPHERTEXT_CIPHERTEXT_OPS_PFAIL128_KS32 = LatexTable(
|
||||
[
|
||||
LatexArraySection(
|
||||
[
|
||||
[
|
||||
ADD_OP_ELEM,
|
||||
ADD_CREF_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
BITNOT_OP_ELEM,
|
||||
BITNOT_CREF_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
BITAND_OP_ELEM,
|
||||
BITWISE_CREF_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
DIV_REM_OP_ELEM,
|
||||
DIV_REM_CREF_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
EQ_OP_ELEM,
|
||||
EQ_CREF_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
COMPARISON_OP_ELEM,
|
||||
COMPARISON_CREF_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
IF_THEN_ELSE_OP_ELEM,
|
||||
IF_THEN_ELSE_CREF_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
SHIFT_OP_ELEM,
|
||||
SHIFT_CREF_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
MUL_OP_ELEM,
|
||||
MUL_CREF_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
NEGATION_OP_ELEM,
|
||||
NEGATION_CREF_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
OVERFLOWING_SCALAR_ADD_OP_ELEM,
|
||||
OVERFLOWING_CREF_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
OVERFLOWING_MUL_OP_ELEM,
|
||||
OVERFLOWING_CREF_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
OVERFLOWING_SUB_OP_ELEM,
|
||||
OVERFLOWING_CREF_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
ROTATE_OP_ELEM,
|
||||
ROTATE_CREF_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
SUB_OP_ELEM,
|
||||
SUB_CREF_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
SUM_CIPHERTEXTS_10_CTXTS_OP_ELEM,
|
||||
SUM_CIPHERTEXTS_CREF_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
SUM_CIPHERTEXTS_20_CTXTS_OP_ELEM,
|
||||
SUM_CIPHERTEXTS_CREF_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
[
|
||||
SUM_CIPHERTEXTS_5_CTXTS_OP_ELEM,
|
||||
SUM_CIPHERTEXTS_CREF_ELEM,
|
||||
PFAIL_2M128_HIDDEN_ELEM,
|
||||
KS32PBS_HIDDEN_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
],
|
||||
]
|
||||
),
|
||||
]
|
||||
)
|
||||
|
||||
#
|
||||
# # No LaTex set for this table.
|
||||
# table_plaintext_ciphertext_ops_pfail128_ks32 = LatexTable()
|
||||
#
|
||||
# # No LaTex set for this table.
|
||||
# table_ciphertext_ciphertext_ops_pfail64_ks32 = LatexTable()
|
||||
#
|
||||
# # No LaTex set for this table.
|
||||
# table_ciphertext_ciphertext_ops_pfail128_ks32 = LatexTable()
|
||||
#
|
||||
# table_compression_benchmarks = LatexTable()
|
||||
TABLE_COMPRESSION_BENCHMARKS = LatexTable(
|
||||
[
|
||||
LatexArraySection(
|
||||
[
|
||||
[
|
||||
COMPRESSION_OP_ELEM,
|
||||
COMPRESSION_REF_ELEM,
|
||||
PFAIL_2M64_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
_get_operand_size_column_element(512)
|
||||
],
|
||||
[
|
||||
DECOMPRESSION_OP_ELEM,
|
||||
DECOMPRESSION_REF_ELEM,
|
||||
PFAIL_2M64_ELEM,
|
||||
M2C2_HIDDEN_ELEM,
|
||||
*ALL_OPERAND_SIZES_ELEM,
|
||||
_get_operand_size_column_element(512)
|
||||
],
|
||||
]
|
||||
),
|
||||
|
||||
]
|
||||
)
|
||||
|
||||
@@ -19,10 +19,16 @@ from formatters.core import CoreFormatter
|
||||
from formatters.integer import IntegerFormatter
|
||||
from .tables import (
|
||||
TABLE_BENCH_MULTIBIT_BY_PRECISION,
|
||||
TABLE_COMPARISON_OPERATIONS_BOOTSTRAPPING,
|
||||
TABLE_COMPARISON_OPERATIONS_BOOTSTRAPPING128KS32,
|
||||
TABLE_COMPARISON_OPERATIONS_PRECISION_PFAIL64,
|
||||
TABLE_COMPARISON_OPERATIONS_PRECISION_PFAIL128,
|
||||
TABLE_PBS_BENCH,
|
||||
TABLE_PLAINTEXT_CIPHERTEXT_OPS_PFAIL64_KS32,
|
||||
TABLE_PLAINTEXT_CIPHERTEXT_OPS_PFAIL128_KS32,
|
||||
TABLE_CIPHERTEXT_CIPHERTEXT_OPS_PFAIL64_KS32,
|
||||
TABLE_CIPHERTEXT_CIPHERTEXT_OPS_PFAIL128_KS32,
|
||||
TABLE_COMPRESSION_BENCHMARKS,
|
||||
)
|
||||
|
||||
|
||||
@@ -39,6 +45,7 @@ class ParametersFilterCase:
|
||||
grouping_factors: list[GroupingFactor] = None,
|
||||
precisions: list[Precision] = None,
|
||||
atomic_patterns: list[AtomicPattern] = None,
|
||||
additional_parameters: list[str] = None,
|
||||
associated_tables: list[LatexTable] = None,
|
||||
):
|
||||
self.param_name_pattern = param_name_pattern
|
||||
@@ -47,6 +54,8 @@ class ParametersFilterCase:
|
||||
self.precisions = precisions or []
|
||||
self.atomic_patterns = atomic_patterns or []
|
||||
|
||||
self.additional_parameters = additional_parameters or []
|
||||
|
||||
self.associated_tables = associated_tables or []
|
||||
|
||||
def get_parameter_variants(self):
|
||||
@@ -97,7 +106,12 @@ class ParametersFilterCase:
|
||||
self.param_name_pattern.format_map(Default(atomic_pattern=a))
|
||||
)
|
||||
|
||||
return last_populated or after_atomic_patterns or [self.param_name_pattern]
|
||||
interpolated_params = (
|
||||
last_populated or after_atomic_patterns or [self.param_name_pattern]
|
||||
)
|
||||
interpolated_params.extend(self.additional_parameters)
|
||||
|
||||
return interpolated_params
|
||||
|
||||
|
||||
CORE_CRYPTO_PARAM_CASES = [
|
||||
@@ -127,7 +141,8 @@ CORE_CRYPTO_PARAM_CASES = [
|
||||
]
|
||||
|
||||
INTEGER_PARAM_CASES = [
|
||||
# ParametersFilterCase( # TODO Table 5, 6
|
||||
# # --- Tables 5, 6 ---
|
||||
# ParametersFilterCase(
|
||||
# "%PARAM_MESSAGE_{msg}_CARRY_{carry}_KS_PBS_GAUSSIAN_{pfail}", # 1_1, 2_2, 4_4 (pfail: 2m64, 2m128)
|
||||
# pfails=[
|
||||
# ErrorFailureProbability.TWO_MINUS_64,
|
||||
@@ -139,41 +154,53 @@ INTEGER_PARAM_CASES = [
|
||||
# TABLE_COMPARISON_OPERATIONS_PRECISION_PFAIL128,
|
||||
# ],
|
||||
# ),
|
||||
ParametersFilterCase( # TODO 8
|
||||
"%PARAM_MESSAGE_2_CARRY_2_{atomic_pattern}_GAUSSIAN_2M128",
|
||||
atomic_patterns=[
|
||||
AtomicPattern.KSPBS,
|
||||
AtomicPattern.KS32PBS,
|
||||
],
|
||||
associated_tables=[TABLE_COMPARISON_OPERATIONS_BOOTSTRAPPING128KS32],
|
||||
),
|
||||
ParametersFilterCase( # TODO Table 9, 10, 11, 12, NEED TO DEAL WITH OPERANDS (ct and plaintext)
|
||||
"%PARAM_MESSAGE_2_CARRY_2_KS32_PBS_GAUSSIAN_{pfail}",
|
||||
pfails=[
|
||||
ErrorFailureProbability.TWO_MINUS_64,
|
||||
ErrorFailureProbability.TWO_MINUS_128,
|
||||
],
|
||||
associated_tables=BLAH,
|
||||
),
|
||||
# ParametersFilterCase( # TODO Table 7
|
||||
# "%PARAM_MULTI_BIT_GROUP_{gf}_MESSAGE_2_CARRY_2_KS_PBS_GAUSSIAN_{pfail}",
|
||||
# # --- Table 8 ---
|
||||
# ParametersFilterCase(
|
||||
# "%PARAM_MESSAGE_2_CARRY_2_{atomic_pattern}_GAUSSIAN_2M128",
|
||||
# atomic_patterns=[
|
||||
# AtomicPattern.KSPBS,
|
||||
# AtomicPattern.KS32PBS,
|
||||
# ],
|
||||
# associated_tables=[TABLE_COMPARISON_OPERATIONS_BOOTSTRAPPING128KS32],
|
||||
# ),
|
||||
# # --- Tables 9, 10, 11, 12 ---
|
||||
# ParametersFilterCase(
|
||||
# "%PARAM_MESSAGE_2_CARRY_2_KS32_PBS_GAUSSIAN_{pfail}",
|
||||
# pfails=[
|
||||
# ErrorFailureProbability.TWO_MINUS_64,
|
||||
# ErrorFailureProbability.TWO_MINUS_128,
|
||||
# ],
|
||||
# associated_tables=[
|
||||
# TABLE_PLAINTEXT_CIPHERTEXT_OPS_PFAIL64_KS32,
|
||||
# TABLE_PLAINTEXT_CIPHERTEXT_OPS_PFAIL128_KS32,
|
||||
# TABLE_CIPHERTEXT_CIPHERTEXT_OPS_PFAIL64_KS32,
|
||||
# TABLE_CIPHERTEXT_CIPHERTEXT_OPS_PFAIL128_KS32,
|
||||
# ],
|
||||
# ),
|
||||
# # --- Table 7 ---
|
||||
# ParametersFilterCase(
|
||||
# "%PARAM_MULTI_BIT_GROUP_{gf}_MESSAGE_2_CARRY_2_KS_PBS_GAUSSIAN_{pfail}",
|
||||
# pfails=[
|
||||
# ErrorFailureProbability.TWO_MINUS_128,
|
||||
# ],
|
||||
# grouping_factors=[
|
||||
# GroupingFactor.Two,
|
||||
# GroupingFactor.Three,
|
||||
# GroupingFactor.Four,
|
||||
# ],
|
||||
# additional_parameters=["%PARAM_MESSAGE_2_CARRY_2_KS_PBS_GAUSSIAN_2M128", ],
|
||||
# associated_tables=[TABLE_COMPARISON_OPERATIONS_BOOTSTRAPPING, ],
|
||||
# ),
|
||||
# ParametersFilterCase( # TODO Table 13
|
||||
# "%COMP_PARAM_MESSAGE_2_CARRY_2_KS_PBS_GAUSSIAN_{pfail}",
|
||||
# pfails=[
|
||||
# ErrorFailureProbability.TWO_MINUS_64,
|
||||
# ErrorFailureProbability.TWO_MINUS_128,
|
||||
# ],
|
||||
# ),
|
||||
# # --- Table 13 ---
|
||||
ParametersFilterCase( # TODO Table 13
|
||||
# "%COMP_PARAM_MESSAGE_2_CARRY_2_KS_PBS_GAUSSIAN_{pfail}",
|
||||
# pfails=[
|
||||
# ErrorFailureProbability.TWO_MINUS_64,
|
||||
# ErrorFailureProbability.TWO_MINUS_128,
|
||||
# ],
|
||||
"%COMP_PARAM_CUSTOM_BR_LEVEL_1_NOISE_DISTRIB_Gaussian%", # DEBUG
|
||||
associated_tables=[TABLE_COMPRESSION_BENCHMARKS],
|
||||
),
|
||||
]
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user