From 4b33d50700e976916c0b05a47a2e454da42a1acf Mon Sep 17 00:00:00 2001 From: Bo Peng Date: Tue, 21 Jul 2026 23:40:07 +0800 Subject: [PATCH] feat(lwe): add structured recovery challenge --- 2.0/README.md | 11 + .../lwe_structured_recovery/config.yaml | 26 + .../lwe_structured_recovery/evaluate.sh | 51 ++ .../lwe_structured_recovery/evaluator.py | 158 ++++ .../harbor/app/add_solution.py | 94 +++ .../harbor/app/public/catalog.jsonl | 200 +++++ .../harbor/app/public/catalog.sha256 | 1 + .../app/public/lwe_challenge/__init__.py | 1 + .../public/lwe_challenge/evaluator_core.py | 212 +++++ .../harbor/app/public/lwe_challenge/ledger.py | 686 +++++++++++++++ .../harbor/app/public/lwe_challenge/matrix.py | 109 +++ .../harbor/app/public/lwe_challenge/schema.py | 790 ++++++++++++++++++ .../harbor/app/public/lwe_challenge/shake.py | 54 ++ .../app/public/lwe_challenge/strict_json.py | 84 ++ .../app/public/lwe_challenge/submission.py | 202 +++++ .../app/public/lwe_challenge/verification.py | 133 +++ .../harbor/app/public/lwe_instance.py | 202 +++++ .../harbor/app/solution.json | 1 + 2.0/problems/lwe_structured_recovery/readme | 321 +++++++ .../lwe_structured_recovery/reference.py | 4 + 20 files changed, 3340 insertions(+) create mode 100644 2.0/problems/lwe_structured_recovery/config.yaml create mode 100755 2.0/problems/lwe_structured_recovery/evaluate.sh create mode 100644 2.0/problems/lwe_structured_recovery/evaluator.py create mode 100644 2.0/problems/lwe_structured_recovery/harbor/app/add_solution.py create mode 100644 2.0/problems/lwe_structured_recovery/harbor/app/public/catalog.jsonl create mode 100644 2.0/problems/lwe_structured_recovery/harbor/app/public/catalog.sha256 create mode 100644 2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/__init__.py create mode 100644 2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/evaluator_core.py create mode 100644 2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/ledger.py create mode 100644 2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/matrix.py create mode 100644 2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/schema.py create mode 100644 2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/shake.py create mode 100644 2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/strict_json.py create mode 100644 2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/submission.py create mode 100644 2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/verification.py create mode 100644 2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_instance.py create mode 100644 2.0/problems/lwe_structured_recovery/harbor/app/solution.json create mode 100644 2.0/problems/lwe_structured_recovery/readme create mode 100644 2.0/problems/lwe_structured_recovery/reference.py diff --git a/2.0/README.md b/2.0/README.md index 289ca6a00..381cf6cb7 100644 --- a/2.0/README.md +++ b/2.0/README.md @@ -126,3 +126,14 @@ tail-frame (≥60) LPIPS-vs-GT over the unpatched baseline, gated by a wall-cloc guardrail (so drift can't be bought with more compute). A history-stabilization reference reliably beats baseline (validated t≈2.5/22 clips); beating it substantially is the open challenge. + +## Structured-LWE Public Witness Recovery + +This cryptanalysis task publishes 200 structured-LWE instances spanning ten +balanced matrix/secret structure families. Its problem ID is +`lwe_structured_recovery`. Agents recover any public-valid secret for as many +instances as possible and submit an immediately updated cumulative JSON ledger; +each solved instance contributes one point. The evaluator holds no planted +secret or private checking key: it deterministically reconstructs the public +matrix and checks the submitted vector's public secret and centered-error +predicates. diff --git a/2.0/problems/lwe_structured_recovery/config.yaml b/2.0/problems/lwe_structured_recovery/config.yaml new file mode 100644 index 000000000..c56796430 --- /dev/null +++ b/2.0/problems/lwe_structured_recovery/config.yaml @@ -0,0 +1,26 @@ +tag: security +runtime: + language: python + timeout_seconds: 10800 + environment: "Public structured-LWE instances; Python 3.12 helper library; CPU only" + apt_packages: + - build-essential + - ca-certificates + - fplll-tools + - git + - libgmp-dev + - libmpfr-dev + - pkg-config + - python3 + - python3-dev + docker: + image: ubuntu:24.04 +environment: + cpus: 8 + memory_mb: 32768 + storage_mb: 32768 + build_timeout_seconds: 1800 +submission: + kind: file + path: /app/solution.json + max_queue_size: 3 diff --git a/2.0/problems/lwe_structured_recovery/evaluate.sh b/2.0/problems/lwe_structured_recovery/evaluate.sh new file mode 100755 index 000000000..25bba2818 --- /dev/null +++ b/2.0/problems/lwe_structured_recovery/evaluate.sh @@ -0,0 +1,51 @@ +#!/usr/bin/env bash +set -euo pipefail + +SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) +if [[ -n "${FCS_PYTHON:-}" ]]; then + PYTHON_CANDIDATES=("$FCS_PYTHON") +else + PYTHON_CANDIDATES=(python3.12 python3.11 python3) +fi + +PYTHON_BIN="" +for CANDIDATE in "${PYTHON_CANDIDATES[@]}"; do + if command -v "$CANDIDATE" >/dev/null 2>&1 \ + && "$CANDIDATE" -c 'import sys; raise SystemExit(sys.version_info < (3, 11))' \ + >/dev/null 2>&1; then + PYTHON_BIN="$CANDIDATE" + break + fi +done + +if [[ -z "$PYTHON_BIN" ]]; then + if command -v apt-get >/dev/null 2>&1; then + export DEBIAN_FRONTEND=noninteractive + apt-get update -qq + apt-get install -y -qq --no-install-recommends python3 >/dev/null + fi + for CANDIDATE in "${PYTHON_CANDIDATES[@]}"; do + if command -v "$CANDIDATE" >/dev/null 2>&1 \ + && "$CANDIDATE" -c 'import sys; raise SystemExit(sys.version_info < (3, 11))' \ + >/dev/null 2>&1; then + PYTHON_BIN="$CANDIDATE" + break + fi + done + if [[ -z "$PYTHON_BIN" ]]; then + echo "Error: Python 3.11 or newer is required" >&2 + exit 1 + fi +fi + +if [[ $# -gt 0 ]]; then + SOLUTION="$1" +else + SOLUTION="/work/execution_env/solution_env/solution.json" + CI_REFERENCE="/work/execution_env/solution_env/solution.py" + if [[ ! -f "$SOLUTION" && -f "$CI_REFERENCE" ]]; then + "$PYTHON_BIN" "$CI_REFERENCE" > "$SOLUTION" + fi +fi + +exec "$PYTHON_BIN" "$SCRIPT_DIR/evaluator.py" "$SOLUTION" diff --git a/2.0/problems/lwe_structured_recovery/evaluator.py b/2.0/problems/lwe_structured_recovery/evaluator.py new file mode 100644 index 000000000..1802b3d19 --- /dev/null +++ b/2.0/problems/lwe_structured_recovery/evaluator.py @@ -0,0 +1,158 @@ +"""Frontier-CS entry point for the public structured-LWE evaluator.""" + +from __future__ import annotations + +import hashlib +import math +import os +import stat +import sys +from collections.abc import Mapping +from functools import lru_cache +from pathlib import Path +from typing import TypeAlias + + +JsonScalar: TypeAlias = None | bool | int | float | str +PlainData: TypeAlias = JsonScalar | list["PlainData"] | dict[str, "PlainData"] + +try: + _SOURCE_PUBLIC_DIR = ( + Path(__file__).resolve().parent / "harbor" / "app" / "public" + ) + _INITIAL_CATALOG_OVERRIDE = os.environ.get("FCS_STRUCTURED_LWE_CATALOG") + _IMPORT_PUBLIC_DIR = Path( + _SOURCE_PUBLIC_DIR + if _INITIAL_CATALOG_OVERRIDE is not None + else os.environ.get("FRONTIER_PUBLIC_DIR", _SOURCE_PUBLIC_DIR) + ).resolve() + _IMPORT_PUBLIC_DIR_TEXT = str(_IMPORT_PUBLIC_DIR) + while _IMPORT_PUBLIC_DIR_TEXT in sys.path: + sys.path.remove(_IMPORT_PUBLIC_DIR_TEXT) + sys.path.insert(0, _IMPORT_PUBLIC_DIR_TEXT) + + from lwe_challenge.evaluator_core import evaluate_path # noqa: E402 + from lwe_challenge.schema import MAX_CATALOG_BYTES, Catalog # noqa: E402 +except Exception: + if __name__ == "__main__": + print("infrastructure_error", file=sys.stderr) + raise SystemExit(1) from None + raise + + +_SIDECAR_BYTES = len(f"{'0' * 64} catalog.jsonl\n".encode("ascii")) + + +def _catalog_path() -> Path: + override = os.environ.get("FCS_STRUCTURED_LWE_CATALOG") + if override is not None: + return Path(override).resolve() + public_dir = Path( + os.environ.get("FRONTIER_PUBLIC_DIR", _SOURCE_PUBLIC_DIR) + ).resolve() + return (public_dir / "catalog.jsonl").resolve() + + +def _catalog() -> Catalog: + path = _catalog_path() + production = os.environ.get("FCS_STRUCTURED_LWE_CATALOG") is None + catalog_bytes = _read_regular_bytes(path, max_bytes=MAX_CATALOG_BYTES) + digest = hashlib.sha256(catalog_bytes).hexdigest() + if production: + expected_sidecar = f"{digest} catalog.jsonl\n".encode("ascii") + try: + sidecar = _read_regular_bytes( + path.with_name("catalog.sha256"), max_bytes=_SIDECAR_BYTES + ) + except ValueError: + raise ValueError("catalog.sha256 is not a valid sidecar") from None + if sidecar != expected_sidecar: + raise ValueError("catalog.sha256 does not match catalog.jsonl") + return _load_catalog(str(path), digest, production) + + +def _read_regular_bytes(path: Path, *, max_bytes: int) -> bytes: + flags = ( + os.O_RDONLY + | os.O_NONBLOCK + | getattr(os, "O_CLOEXEC", 0) + | getattr(os, "O_NOFOLLOW", 0) + ) + fd = os.open(path, flags) + try: + if not stat.S_ISREG(os.fstat(fd).st_mode): + raise ValueError("catalog assets must be regular files") + data = bytearray() + limit = max_bytes + 1 + while len(data) < limit: + chunk = os.read(fd, min(1024 * 1024, limit - len(data))) + if not chunk: + break + data.extend(chunk) + finally: + os.close(fd) + if len(data) > max_bytes: + raise ValueError("catalog asset exceeds its byte limit") + return bytes(data) + + +@lru_cache(maxsize=8) +def _load_catalog(path: str, digest: str, production: bool) -> Catalog: + catalog = Catalog.load(path) + if catalog.catalog_id != digest: + raise RuntimeError("catalog changed while it was being verified") + if production and len(catalog.instances) != 200: + raise ValueError("production catalog must contain exactly 200 instances") + return catalog + + +def _plain_data(value: object) -> PlainData: + if isinstance(value, float) and not math.isfinite(value): + raise TypeError("public metrics require finite float values") + if value is None or isinstance(value, (bool, int, float, str)): + return value + if isinstance(value, Mapping): + copied: dict[str, PlainData] = {} + for key, item in value.items(): + if not isinstance(key, str): + raise TypeError("public metrics mappings require string keys") + copied[key] = _plain_data(item) + return copied + if isinstance(value, tuple): + return [_plain_data(item) for item in value] + raise TypeError("public metrics contain a non-JSON value") + + +def prepare() -> dict[str, object]: + catalog = _catalog() + return { + "instance_count": len(catalog.instances), + "catalog_id": catalog.catalog_id, + } + + +def evaluate(solution_path: str) -> tuple[float, float, str, dict[str, object]]: + catalog = _catalog() + result = evaluate_path(solution_path, catalog=catalog) + metrics = _plain_data(result.metrics) + if not isinstance(metrics, dict): + raise TypeError("evaluator metrics must be a mapping") + return result.score, result.score_unbounded, result.message, metrics + + +def main(argv: list[str]) -> int: + if len(argv) != 2: + print("usage: evaluator.py SOLUTION_JSON", file=sys.stderr) + return 2 + try: + score, score_unbounded, message, _metrics = evaluate(argv[1]) + except Exception: + print("infrastructure_error", file=sys.stderr) + return 1 + print(message, file=sys.stderr) + print(f"{score:.12f} {score_unbounded:.12f}") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main(sys.argv)) diff --git a/2.0/problems/lwe_structured_recovery/harbor/app/add_solution.py b/2.0/problems/lwe_structured_recovery/harbor/app/add_solution.py new file mode 100644 index 000000000..47b86df11 --- /dev/null +++ b/2.0/problems/lwe_structured_recovery/harbor/app/add_solution.py @@ -0,0 +1,94 @@ +#!/usr/bin/env python3 +"""Merge one candidate witness into the cumulative solution ledger.""" + +from __future__ import annotations + +import argparse +import sys +from collections.abc import Sequence +from pathlib import Path +from typing import NoReturn + + +def _load_ledger_module(): + public_path = str(Path(__file__).resolve().parent / "public") + while public_path in sys.path: + sys.path.remove(public_path) + sys.path.insert(0, public_path) + import lwe_challenge.ledger as ledger_module + + return ledger_module + + +if __name__ != "__main__": + ledger = _load_ledger_module() + + +def merge_solution( + ledger_path: str | Path, + instance_id: str, + secret: Sequence[int], +) -> int: + """Merge one new witness through the canonical locked transaction.""" + + updated = ledger.merge_witness_transaction( + ledger_path, + instance_id=instance_id, + secret=secret, + replace=False, + ) + return len(updated.solutions) + + +class _SanitizedArgumentParser(argparse.ArgumentParser): + def error(self, _message: str) -> NoReturn: + self.exit(2, "error: invalid command line\n") + + +def _parser() -> argparse.ArgumentParser: + parser = _SanitizedArgumentParser() + parser.add_argument("instance_id", metavar="INSTANCE_ID") + parser.add_argument("secret", metavar="SECRET", nargs="?") + parser.add_argument("--ledger", default="/app/solution.json") + parser.add_argument("--replace", action="store_true") + return parser + + +def main() -> int: + parser = _parser() + args, unknown = parser.parse_known_args() + if args.secret is None and len(unknown) == 1: + args.secret = unknown[0] + unknown = [] + if args.secret is None or unknown: + parser.error("INSTANCE_ID and SECRET are required") + try: + secret = tuple(int(component, 10) for component in args.secret.split(",")) + except ValueError: + parser.error("SECRET must be a comma-separated integer vector") + + try: + if args.replace: + updated = ledger.merge_witness_transaction( + args.ledger, + instance_id=args.instance_id, + secret=secret, + replace=True, + ) + solved_count = len(updated.solutions) + else: + solved_count = merge_solution(args.ledger, args.instance_id, secret) + except (OSError, TypeError, ValueError): + parser.exit(2, "error: unable to update ledger\n") + + print(solved_count) + return 0 + + +if __name__ == "__main__": + try: + ledger = _load_ledger_module() + except Exception: + sys.stderr.write("error: unable to update ledger\n") + raise SystemExit(2) + raise SystemExit(main()) diff --git a/2.0/problems/lwe_structured_recovery/harbor/app/public/catalog.jsonl b/2.0/problems/lwe_structured_recovery/harbor/app/public/catalog.jsonl new file mode 100644 index 000000000..396470482 --- /dev/null +++ b/2.0/problems/lwe_structured_recovery/harbor/app/public/catalog.jsonl @@ -0,0 +1,200 @@ +{"b":[45,50,233,92,81,144,58,55,202,244,173,211,209,215,13,53,222,115,185,82,17,195,40,240,232,30,254,19,142,206,186,212,44,124,75,115,44,34,33,11,11,68,26,103,167,162,254,255,190,253,91,76,93,14,136,249,46,139,40,35,140,13,79,239,139,47,85,215,172,199,110,208,68,65,158,80,110,109,0,2,242,137,155,75,27,72,91,9,27,79,205,18,242,81,156,104,175,107,16,38,86,149,163,67,193,234,174,11,73,73,103,75,116,132,109,187,148,236,190,121,73,233,109,4,1,193,199,27,32,21,109,88,137,243],"error":{"max_abs":32,"max_l1":4288,"max_l2_squared":137216,"max_nonzero":134},"error_distribution":{"bound":32,"eta":null,"kind":"truncated_discrete_gaussian","sigma":10.666666666666666,"weight":null},"instance_digest":"4821c32b72d0a9b675ba3707a37e66e9a9f711dc37edcf5d94adcee2cbd481b0","instance_id":"lwe_0001","m":134,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"274185adde6ca392d1d0cbbedf220c534f08e599eaedc5fea7fed850a3a4cbc0"},"n":63,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":3,"min_nonzero":3},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":3}} +{"b":[16,463,659,29,623,408,571,505,174,423,481,454,105,714,61,452,240,369,604,477,634,424,315,122,448,188,284,304,52,473,27,445,343,583,519,447,365,667,106,414,443,60,339,424,742,312,573,254,106,153,96,617,235,255,203,336,56,48],"error":{"max_abs":96,"max_l1":5568,"max_l2_squared":534528,"max_nonzero":58},"error_distribution":{"bound":96,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"45921cf801f243df7152099b644491bc99814b909d2c3f85c8162d04234bda27","instance_id":"lwe_0002","m":58,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"7eab9c714f98ea529f9d9e0ed0040a04e3676ce10193d588bc1ebd4bad75400b"},"n":25,"q":769,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":7,"min_nonzero":7},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":7}} +{"b":[35,257,1125,1155,547,1100,858,816,1169,774,831,284,1145,71,707,1021,617,878,711,313,127,561,817,530,386,566,841,963,1002,558,1189,784,809,1157,915,624,32,821,797,131,132,490,1019,1053,632,349,693,65,294,270,1059,1112,347,1148,313,83,1162,678,513,1200,675,88,457,1115,566,319,425,421,631,734,1163,735,737,1072,156,684,279,711,883,1197,44,661,1194,687,94,503,654,81,12,240,379,647,248,689,1168,809,122,745],"error":{"max_abs":153,"max_l1":14994,"max_l2_squared":2294082,"max_nonzero":98},"error_distribution":{"bound":153,"eta":null,"kind":"truncated_discrete_gaussian","sigma":51.0,"weight":null},"instance_digest":"8ec67dc8862ee68905133a872f41239c2995588e5278918f4c3684328054d251","instance_id":"lwe_0003","m":98,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"5b49c3c6384cc0320cfe7103161b129ca2367b0a5c401bc5760ed217ceb9a945"},"n":45,"q":1229,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":5,"min_nonzero":5},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":5}} +{"b":[630,1708,1927,1746,705,844,1839,926,1300,1686,1554,374,772,1181,167,361,1371,189,801,1696,211,1315,289,738,929,1624,1380,1214,1137,561,1203,2028,101,1505,1409,1529,1583,1179,1071,1978,1688,647,2049,1197,882,1588,197,1324,549,113,1421,2050,805,574,1167,542,1119,660,132,1148,114,1819,1006,1059,50,513,604,1948,397,289],"error":{"max_abs":256,"max_l1":17920,"max_l2_squared":4587520,"max_nonzero":70},"error_distribution":{"bound":256,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"5eac7a8956120ea7369c6f0fb163290145ca9960670909b74500f8a5cfb7c455","instance_id":"lwe_0004","m":70,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"db1e5870648f0eb387995a28a72db52c49476ab7048ec351fd05a0ed296cc0de"},"n":31,"q":2053,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":8,"min_nonzero":8},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":8}} +{"b":[4059,2005,1625,3002,2586,3606,2133,2696,2535,1370,3959,1680,2176,1763,956,1731,1565,175,1360,458,686,1505,2660,2550,2296,1975,1712,1457,1681,3024,82,3806,3923,2343,3534,3759,4007,2524,3699,65,3255,2340,3231,1676,2022,3075,1389,2321,2898,179,440,1753,297,1440,1649,1527,1628,3389,496,862,512,318,229,1105,3313,1554,2823,1766,1664,1889,2321,1975,1113,3636,780,1128,3898,333,3343,2097,2459,3896,1979,936,1563,308,3375,1007,3866,4086,3378,1535],"error":{"max_abs":511,"max_l1":47012,"max_l2_squared":24023132,"max_nonzero":92},"error_distribution":{"bound":511,"eta":null,"kind":"truncated_discrete_gaussian","sigma":170.33333333333334,"weight":null},"instance_digest":"1882befcaf4148e799b6db283329fce6a36ab4d4cc60392e98459bdea0189106","instance_id":"lwe_0005","m":92,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"034f884b32cc1cda1fab100320071086421a52dd75c4c5dba9da5bed6a090590"},"n":42,"q":4093,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":7,"min_nonzero":7},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":7}} +{"b":[110,79,140,221,18,137,194,100,246,131,117,83,13,29,32,83,63,100,161,155,84,62,68,168,146,184,17,84,96,35,107,23,185,133,113,71,68,168,32,147,94,218,187,247,137,37,155,209,139,133,155,222,121,215,174,69,166,176,72,101,24,41,66,107,138,43,114,227,111,74,249,21,121,200,207,129,198,186,236,200,110,172,177,144,125,9,93,32,37,192,236,244],"error":{"max_abs":32,"max_l1":2944,"max_l2_squared":94208,"max_nonzero":92},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"f3cae080e516d75752bbf112dc7f47f1a1db90ddf4e05bf2004604f23910806d","instance_id":"lwe_0006","m":92,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"c7e80487686d7433c451495a08b4f087f33ec4e3dae16cdbe3fb816df1e7bdd2"},"n":42,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":8,"min_nonzero":8},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":8}} +{"b":[46,38,89,4,228,134,224,67,32,68,18,177,126,209,147,203,54,0,215,14,78,120,186,155,164,59,73,240,230,15,239,100,240,22,126,199,120,164,159,65,163,71,114,25,98,163,71,141,128,1,244,166,2,230,28,69,75,253,247,101,210,127,49,28,82,241,77,111,173,180,5,80,251,15,174,50,107,84,117,65,135,141,172,238,248,46,201,230],"error":{"max_abs":32,"max_l1":2816,"max_l2_squared":90112,"max_nonzero":88},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"3518a43e6513edc2e4748d65b69173aae15f12be56e33778a6702ba7f0eb8261","instance_id":"lwe_0007","m":88,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"b787b7030a9181029afafff10d5606acda8a1106cadcc270687d6661a49f62a0"},"n":80,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[185,143,1,74,139,92,23,131,81,63,245,154,184,158,130,177,104,149,230,232,45,181,84,4,42,58,58,148,200,234,141,99,100,160,75,167,221,52,111,191,187,172,204,51,167,33,118,108,70,129,35,134,237,127,210,15,134,53,89,31,7,105,100,218,37,42,115,193,234,118,5,97,76,244,233,241,113,231,43,65,2,54,1,152,222,233,133,33,163,193,150,54,119],"error":{"max_abs":32,"max_l1":2976,"max_l2_squared":95232,"max_nonzero":93},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"7c590db81f01d61493e292987127261789e3b3b30c2a8b5415901f162b646116","instance_id":"lwe_0008","m":93,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"e31180cb1e5a1a50efbf55887f2df5016c90142a3c94e313e1aaef58ff069516"},"n":85,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[124,192,138,97,72,181,18,148,231,181,162,200,160,149,246,116,17,206,38,185,195,68,155,194,77,193,234,111,141,221,92,57,63,117,131,105,63,158,144,59,128,110,166,93,111,46,128,48,206,196,251,213,212,56,148,147,194,213,25,225,28,186,242,78,82,44,239,134,50,236,197,156,147,76,111,229,198,176,26,205,6,76,13,61,202,197,50,91,66,41,152,128,255,196,31,131,202,38],"error":{"max_abs":32,"max_l1":3136,"max_l2_squared":100352,"max_nonzero":98},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"3babf6ab50af6f4e4d56192d814520fd7ba9670ed2c8ad5e83169fc1e62d0013","instance_id":"lwe_0009","m":98,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"9f0de534f9bd8a43f7b9c4faf20dfca5fd00f1d0dd0a8d916131d34a2bfd1060"},"n":90,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[123,252,87,9,227,60,15,207,41,117,249,254,227,221,180,123,46,8,59,158,146,228,66,241,65,247,112,150,10,19,200,171,109,89,175,192,11,177,21,244,227,159,191,114,231,125,11,32,171,10,18,90,26,154,69,174,24,60,171,139,241,121,27,110,7,10,196,22,59,147,2,30,252,229,246,229,216,86,73,202,151,106,135,74,41,88,252,256,153,147,230,249,149,100,66,162,145,230,230,55,169,63,53,180,88,37,19,150],"error":{"max_abs":32,"max_l1":3456,"max_l2_squared":110592,"max_nonzero":108},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"a0068cb2de12bf69594be4184cdadcf77e91cff820a9b489a5eb8ba450b13ff9","instance_id":"lwe_0010","m":108,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"b4b598e05872195321f7a963399e122885f80b58aed5afe0e69e52f1d8d7510f"},"n":100,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[209,167,60,156,193,215,233,125,28,211,135,33,250,172,141,184,139,23,192,201,22,156,205,127,248,158,70,132,96,28,4,124,87,64,63,154,232,61,207,143,188,54,214,130,157,168,58,233,207,143,177,106,166,210,15,5,205,229,183,131,52,184,93,229,228,7,243,179,216,228,73,48,70,34,54,220,4,28,235,235,31,30,164,75,225,199,61,35,17,238,119,98,89,148,161,84,23,21,7,68,17,192,191,91,232,28,216,210,141,140,226,138,189],"error":{"max_abs":32,"max_l1":3616,"max_l2_squared":115712,"max_nonzero":113},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"9f068c7c4f01fa20864ce76dc75ab5bd1fb30e4579f959fd02e68ae6331c50fc","instance_id":"lwe_0011","m":113,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"f9e80fd7ceca6d16f6ded4c8ba3893899467794b648efa2f4ec67978b5d81d03"},"n":105,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[88,145,146,51,54,83,106,72,202,145,139,176,63,135,129,127,17,108,103,6,143,200,103,41,232,219,112,156,212,207,251,182,51,99,44,25,75,84,132,0,49,253,142,196,40,47,55,22,14,117,16,24,225,215,197,47,69,43,162,110,176,44,241,82,116,97,64,165,0,200,39,50,134,136,167,50,104,102,219,126,91,69,146,23,50,83,46,242,160,122,216,178,136,135,211,102,170,198,89,12,124,76,112,163,194,168,86,43,247,247,102,136,143,130,254,208,37,242],"error":{"max_abs":32,"max_l1":3776,"max_l2_squared":120832,"max_nonzero":118},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"d80e02abe820997c06d99a5cbe7499d93af11d4dbbff1c3b1e6f7e16e5da8d82","instance_id":"lwe_0012","m":118,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"482f90ed2e34f584786932e9b64a6ccf86a617c87e4ad808397de1d0135097f1"},"n":110,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[84,137,145,105,4,137,59,124,52,198,66,119,90,148,91,17,77,0,101,52,74,98,190,244,174,163,138,64,68,12,231,141,150,38,61,137,31,172,143,54,108,35,11,78,10,238,92,51,242,65,188,115,169,8,144,69,2,155,25,137,17,33,45,236,238,143,13,241,54,5,161,172,31,252,58,184,109,30,189,162,3,256,121,232,20,190,193,202,23,110,144,2,31,221,63,1,76,139,164,212,164,51,142,254,33,237,252,103,119,226,98,219,66,222,219,188,143,42,164,76,153,4,227,84,190,110,99,131],"error":{"max_abs":32,"max_l1":4096,"max_l2_squared":131072,"max_nonzero":128},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"4c810e55b86941fc1cd363de87b115284eb8a038d92badf7991cfb608ea1224a","instance_id":"lwe_0013","m":128,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"de7266dd0f4837a172221000cc23f0125d379292fe05e410159bbaad444d92f4"},"n":120,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[231,187,136,50,102,155,121,93,140,158,138,157,75,143,31,256,38,20,134,28,121,153,63,29,249,242,187,96,18,20,27,249,109,96,256,252,45,124,124,103,195,15,93,14,112,102,205,88,242,55,252,171,22,131,69,241,253,15,197,208,187,71,213,134,202,17,181,141,228,105,72,131,35,115,138,73,201,29,129,106,56,79,150,132,5,64,68,238,19,178,82,165,127,27,177,191,197,165,90,231,101,49,48,97,172,14,174,31,93,177,43,82,142,118,177,122,116,230,155,249,53,36,191,81,0,197,245,158,164,247,114,1,54,153,3,190,187,156],"error":{"max_abs":32,"max_l1":4416,"max_l2_squared":141312,"max_nonzero":138},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"79c7a3b30f5c8efee9451d8a416b0993deab2646a9a955351afca8367fbfd287","instance_id":"lwe_0014","m":138,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"a550ad864f5e15a52384662e4f5b19cd29861a398802d1804316a13846cb597d"},"n":130,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[84,6,37,237,194,166,36,168,42,1,174,255,190,128,167,82,213,50,252,198,202,214,58,44,5,127,97,68,195,164,67,25,31,193,55,140,124,153,226,146,249,154,125,31,105,124,80,229,189,204,193,63,85,167,248,172,222,105,216,180,18,229,232,133,143,89,31,55,164,138,231,170,100,227,182,6,64,214,35,16,88,97,175,24,62,54,129,69,38,168,19,137,242,188,170,136,108,83,121,159,149,136,70,126,68,85,23,101,37,3,156,21,255,104,157,199,175,238,114,118,218,222,97,209,35,172,247,154,23,150,197,24,111,174,9,101,243,41,221,67,69,13,124,69,59,215,112,173],"error":{"max_abs":32,"max_l1":4736,"max_l2_squared":151552,"max_nonzero":148},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"021436d585abc58721c99013f2c71bf0f870001879bc22e3315d0ee6bea82306","instance_id":"lwe_0015","m":148,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"2442037e1f72aadec3127f57c5d10c4c02d1999abfbc3c98c7ea0296f1d41145"},"n":140,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[163,39,190,244,93,135,155,170,104,88,88,218,193,1,190,212,66,209,27,200,224,72,254,213,223,192,159,80,66,9,159,240,126,145,42,100,225,89,85,219,34,23,94,58,132,219,101,116,252,185,41,23,157,51,60,63,240,18,215,100,93,224,44,139,83,168,138,224,184,241,26,144,57,197,5,202,78,152,137,212,92,167,86,133,128,18,21,160,73,133,233,85,63,41,124,198,66,91,116,201,61,130,256,153,121,56,43,11,175,47,182,32,152,142,196,132,158,163,205,152,67,97,246,173,167,50,147,76,35,172,70,99,173,7,240,44,139,199,160,148,101,53,214,90,231,94,124,139,88,100,66,237,208,185,118,220,57,69],"error":{"max_abs":32,"max_l1":5056,"max_l2_squared":161792,"max_nonzero":158},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"ea7619ffd4169b430be725a335a932ce1721b438713c2bf19307e525c195252b","instance_id":"lwe_0016","m":158,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"e82b8352da225a223041d2a5ca8b86d6bfb8464940864c42a8438cb6b987ac5a"},"n":150,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[20,206,24,53,172,190,211,217,82,151,209,85,72,65,149,168,164,150,140,220,72,207,253,129,222,44,228,94,89,24,2,13,119,86,167,94,174,134,118,33,39,126,43,202,197,138,162,62,83,136,144,237,131,114,16,202,161,141,58,148,63,142,91,156,119,40,79,100,18,55,224,197,83,5,108,29,163,68,234,38,106,4,197,154,67,143,182,127],"error":{"max_abs":32,"max_l1":2816,"max_l2_squared":90112,"max_nonzero":88},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"34d870561b7d8ae86828bf20b3e835fa63b7881960304affe7ccc5276baf4c0c","instance_id":"lwe_0017","m":88,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"36ef8300ab4fa3c9ac4cfa7a7eb8a94805dc1a0432e57fc24f584adb64c1b1e2"},"n":80,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[139,249,204,255,208,104,68,164,88,1,57,197,51,10,244,46,99,7,64,233,18,76,241,27,237,93,156,253,61,247,113,244,204,235,59,243,146,200,4,131,220,218,138,216,107,72,86,191,22,127,207,113,181,225,182,33,75,67,40,18,87,127,101,27,206,59,115,84,13,255,7,10,46,35,103,221,168,152,152,150,210,203,74,107,164,196,209,131,206,116,103,12,8],"error":{"max_abs":32,"max_l1":2976,"max_l2_squared":95232,"max_nonzero":93},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"037edb6eb3fdabf7ebec5c35ffada714ca0d363f6d9ac79762fff63e3205ddb9","instance_id":"lwe_0018","m":93,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"af0a890b7579c1525a9306585b276db7aa0853415ba6c8078c51c38f15fc7aa6"},"n":85,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[201,110,194,178,160,236,129,225,12,111,7,242,64,222,226,181,35,138,88,12,115,39,24,93,61,74,213,212,80,40,32,48,194,112,4,92,116,56,245,246,90,176,187,21,202,178,157,68,21,133,195,46,21,141,241,156,46,87,145,29,249,207,254,209,156,156,74,237,233,195,135,118,84,60,90,168,111,99,209,49,204,169,231,11,74,227,120,102,51,98,248,215,97,191,122,95,194,122],"error":{"max_abs":32,"max_l1":3136,"max_l2_squared":100352,"max_nonzero":98},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"0e20018ea99dd98c8b867b4e6aadc66798f78da738e6e3ddb99a5a0baf5888eb","instance_id":"lwe_0019","m":98,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"9d5ce0bdd6e7a01ad57199e2d4307a0dad714b3128384d9e6f5311e515865fa1"},"n":90,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[146,87,148,1,152,192,228,42,54,41,36,98,39,252,235,125,21,27,1,69,80,181,222,182,34,58,145,72,215,87,75,146,182,144,187,172,72,230,8,95,226,170,62,56,138,208,39,230,128,135,82,100,157,201,6,166,159,188,195,249,206,61,256,159,219,124,55,177,157,65,112,197,25,32,100,196,98,242,63,39,246,128,49,117,37,71,102,52,194,69,31,253,86,122,215,75,168,80,2,109,17,201,83,39,114,43,176,200],"error":{"max_abs":32,"max_l1":3456,"max_l2_squared":110592,"max_nonzero":108},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"989c2855a8d8be86a9a32042bb5d6cd94c1ea7a3be5ccfb3a487ec4d735f6dac","instance_id":"lwe_0020","m":108,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"ea0480c51a4e24a3386509cbf506c41a9317839c5439f2a2b41c42cdf510ae9a"},"n":100,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[517,522,538,672,149,139,308,78,346,246,332,205,339,291,288,271,640,385,637,629,651,12,90,169,217,246,125,333,253,406,103,588,268,581,131,185,723,459,512,569,342,576,46,746,615,702,36,592,476,249,635,169,746,419,20,639,580,336,429,102,145,689,220,599,94,286,757,506,620,738,355,229,618,364,356,651,229,398,132,379,644,182,322,204,731,550,467,519,602,677,41,615,124,358,313,713,269,399,78,174,353,684,660,15,656,204,342,380,169,394,104,669,132,116,430,480,461,742,693,764,192,385,197,406,745,363,110,461,80,481,532,702,112,284,638,190,259,730,474,233,110,681,493,758,333,21,703,454,253,106,639,750,153,295,608,54,94,321,637,607,16,296,609,630,96,402,492,295,368,480,706,185,193,575,126,638,477,234,410,423,512,732,584,350,275,88,503,22,51,353,303,463,372,251,110,583,77,505,637,438,704,534,120,16,162,517,296,71,421,471,700,578,427,321,361,625,621,555,456,263,378,693,223,744,669,558,365,332,212,589,281,227,655,677,397,154],"error":{"max_abs":96,"max_l1":22656,"max_l2_squared":2174976,"max_nonzero":236},"error_distribution":{"bound":96,"eta":null,"kind":"truncated_discrete_gaussian","sigma":32.0,"weight":null},"instance_digest":"cb9976ca31df8d1ac572626fff68c67e7cd023ae406eb661fe9cae3b45a73845","instance_id":"lwe_0021","m":236,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"36aa86dfc5b760a06c0683a9f9660219c13d5a976001e42701263e1e8824cc83"},"n":114,"q":769,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":2,"min_nonzero":2},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"exact_weight_alphabet","weight":2}} +{"b":[101,289,1131,1090,835,196,380,132,319,35,292,1220,583,424,295,187,910,51,1087,966,1079,961,27,619,336,874,1033,467,158,902,1195,294,1000,585,500,647,841,928,1095,963,588,923,335,186,582,244,835,62,647,1124],"error":{"max_abs":153,"max_l1":7650,"max_l2_squared":1170450,"max_nonzero":50},"error_distribution":{"bound":153,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"34c3eacc43f2c576f5398a0e10d480d93e263c47a4f708a359fcc8bc9000225f","instance_id":"lwe_0022","m":50,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"4d46f86570386ee29a426de2e670bffa59045f3b9381c9adec2adc26c62a0f51"},"n":21,"q":1229,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":5,"min_nonzero":5},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"exact_weight_alphabet","weight":5}} +{"b":[197,1756,23,2043,388,1308,840,1015,1069,324,1738,1839,1683,973,1395,561,1566,244,1500,1212,1984,586,1649,1232,17,971,1338,352,86,1632,1215,358,178,1555,1310,1295,1927,1675,1924,1160,1011,1019,1660,313,803,1636,1694,1277,382,115,805,1725,2027,265,1665,445,509,1382,720,1958,695,1348,1561,328,1384,487,1172,608,519,1502,1651,416,494,361,940,1946,89,812,1086,1630,480,2042,402,1169,1074,404,57,710,1470,437,61,1725,296,1495,809,740,465,540,198,1171,1568,1949,2041,1145,666,190,1636,852,540,956,339,708,480,1881,1278,1095,1787,1574,1927,521,1829,1151,207,1891,2005,128,380,1014,886,175,1234,414,1100,1998,1212,1525,553,1206,1168,1143,1010,964,134,1647,905,97,1576,1100,556,529,9,1133,1475,1042,47,284,1075,488,895,1738,1989,488,632,910,1151,197,408,2014,1978,254,1518,799,948,1960],"error":{"max_abs":256,"max_l1":44544,"max_l2_squared":11403264,"max_nonzero":174},"error_distribution":{"bound":256,"eta":null,"kind":"truncated_discrete_gaussian","sigma":85.33333333333333,"weight":null},"instance_digest":"630b4289dd94f07a4c45b8e49c466b828dd350828516934942a573c831be4ccd","instance_id":"lwe_0023","m":174,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"bfbb96068a34cca0a214b4187c603740a7db34854a1095e46782fb513457c3f0"},"n":83,"q":2053,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":3,"min_nonzero":3},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"exact_weight_alphabet","weight":3}} +{"b":[2222,2789,2740,1900,3608,3298,262,1112,2747,3671,551,2261,449,3918,934,2666,1579,4047,1536,586,2905,3082,3097,3263,1867,1315,2760,2075,2973,3159,574,2049,2,870,2949,767,907,3291,104,1412,167,849,2719,749,2343,1803,538,4038,2405,3737,2325,2470,2568,4058,2355,348,2885,3555,3257,1953,2820,3661,3729,339,369,252,1822,872,2541,1596,1938,3457,2645,3208,907,457,2313,2871,3825,1810,1877,1648,559,325,2270,3406,1496,662,2898,2657,1961,2733,2569,1874,2075,2995,2864,3982,3903,3963,1344,2933,1045,3270,2038,1849,3949,2771,747,3036,1454,2134,2556,1077,3254,4022,1413,3974,1857,1098,3763,1361,4016,3192,2203,4037,3885,3722,2465,1884,1184,3632,1137,1036,3311,2487,521,3925,2896,2573,1655,370,2047,1985,2654,2164,1714,3166,476,3196,265,357,1306,1674,1888,1825,176,2669,3156,1402,1446,3430,1036,3200,2707,668,463,3688,2554,2875,1207,3521,1660,3760,1937,2889,1033,1611,1885,934,1280,3027,2755,2303,204,3853,3916,3060,1822,1945,1689,779,654,426,1247,2590,1592,1107,1529,1776,1153,289,462,3900,2891,2090,3209,2601,1589,1583,1048,629,791,251,2626,2968,2520,2621,295,2596,1208,1150,2117,22,1776,1088,3712,318,3222,2669,3210,1771,1941,3996,3941,2195,756,3313,1327,3681,3898,3104,1233,1543,2057,2114,1154,134,4083,298,1661,3455],"error":{"max_abs":511,"max_l1":128772,"max_l2_squared":65802492,"max_nonzero":252},"error_distribution":{"bound":511,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"01f36dda1923ca1828c13d6da894031d91a4e4eb690e0299586682be5f2101c2","instance_id":"lwe_0024","m":252,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"bd71d6be6e26f5810d608d34e7bf5a06dd921118a8264cae19ea59320652992e"},"n":122,"q":4093,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":3,"min_nonzero":3},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"exact_weight_alphabet","weight":3}} +{"b":[58,234,131,35,188,31,18,186,20,189,130,97,185,253,13,171,56,73,154,38,83,177,19,48,52,149,247,68,5,155,72,200,235,168,105,192,94,97,18,54,89,179,181,155,220,82,217,141,119,241,75,181,115,82,118,114,222,108,104,199,197,169,66,206,224,237,82,59,7,53,255,198,11,70,93,97,87,236,73,17,250,102,4,7,77,230,43,81,114,124,222,123,60,252],"error":{"max_abs":32,"max_l1":3008,"max_l2_squared":96256,"max_nonzero":94},"error_distribution":{"bound":32,"eta":null,"kind":"truncated_discrete_gaussian","sigma":10.666666666666666,"weight":null},"instance_digest":"65e03a0992f490efd8108365aadcd4b6beac9375749a2ba65906441243081ccc","instance_id":"lwe_0025","m":94,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"23002c1c034f0c9a933aa1ef6dfb52ec581ccbdfb19a8fb363f16f871e4e0603"},"n":43,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":5,"min_nonzero":5},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"exact_weight_alphabet","weight":5}} +{"b":[477,217,47,681,395,308,128,509,402,65,307,624,172,252,503,127,279,42,384,134,712,748,162,122,219,117,95,251,256,376,543,524,339,513,445,402,175,196,253,717,706,406,30,436,52,635,401,317,477,444,167,669,515,245,504,340,591,302,724,710,700,483,367,465,383,573,615,209,40,366,253,654,302,340,557,516,130,758,452,407,399,19],"error":{"max_abs":96,"max_l1":7872,"max_l2_squared":755712,"max_nonzero":82},"error_distribution":{"bound":96,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"3814ce80a0f51a82431568431e5283bbb9d9ea66296bcb13064d07628bbfbb71","instance_id":"lwe_0026","m":82,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"e25e8097351b9e171305cd385686f313cfc4a8ede0603deca8cdcb9b1fd51127"},"n":37,"q":769,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":6,"min_nonzero":6},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"exact_weight_alphabet","weight":6}} +{"b":[209,118,143,126,251,88,69,200,107,136,122,38,212,183,33,112,156,34,74,64,94,171,1,37,231,165,62,52,142,169,127,47,115,69,46,49,26,172,88,34,24,9,239,175,186,132,117,225,199,243,207,182,115,227,155,46,17,207,98,66,127,48,66,222,226,10,112,31,105,184,175,208,20,150,154,40,105,100,127,36,194,216,77,175,212,66,83,220],"error":{"max_abs":32,"max_l1":2816,"max_l2_squared":90112,"max_nonzero":88},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"9b7fbcce8ee15dc04dde08f66b5487917115212353f15ccae440b503a2b5bdbd","instance_id":"lwe_0027","m":88,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"b26620d555f7d0c48f4c75d888ace60035731bf2bd00e0bcc8b69eab6a717f57"},"n":80,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[109,222,63,83,42,35,170,151,71,75,227,49,193,177,198,69,198,138,105,207,83,230,162,68,168,34,247,134,19,196,225,153,147,11,72,184,25,5,247,171,247,151,247,84,65,170,240,123,226,184,115,124,108,19,156,16,66,166,243,248,197,131,242,75,86,129,65,123,0,234,13,83,30,31,210,93,155,24,37,116,16,188,11,159,221,52,40,51,61,226,208,49,67],"error":{"max_abs":32,"max_l1":2976,"max_l2_squared":95232,"max_nonzero":93},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"2af5bbda71ae2062d6f49cbeade79f3ab0148e6f494d69ca8d827bf50d19d48a","instance_id":"lwe_0028","m":93,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"cfe2c75f0e6c95d4c91e8df0f86f979372b14d5ce2af138d1fb16e572bcf7c2f"},"n":85,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[101,89,223,231,219,201,208,13,16,129,212,232,121,32,218,52,208,220,32,35,140,119,61,45,225,135,241,184,235,184,96,25,247,85,186,98,119,96,26,10,5,241,19,218,178,21,198,190,25,8,30,208,51,163,111,86,121,203,87,91,242,129,32,238,35,145,193,30,184,225,117,184,34,197,75,7,120,100,92,72,210,2,51,182,13,69,147,22,251,91,256,90,90,198,69,197,112,30],"error":{"max_abs":32,"max_l1":3136,"max_l2_squared":100352,"max_nonzero":98},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"166192aaad845bca8252c60b4b413993d62d4875b3f114495848b6f18aec5444","instance_id":"lwe_0029","m":98,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"abb066b8c7b023dcd109469468c90b62cfd4357ee5f535e7d284b275a03bc1d5"},"n":90,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[224,30,144,55,209,236,100,211,181,31,92,244,256,126,6,90,237,214,248,80,237,149,115,197,154,34,196,11,84,52,5,46,71,29,217,132,106,179,220,47,203,192,63,7,132,126,214,50,106,247,12,74,192,106,159,100,193,129,34,246,226,40,45,55,44,249,176,182,21,85,53,60,114,114,177,38,229,246,83,30,251,114,87,42,3,172,1,146,238,50,117,87,207,60,62,213,252,176,145,146,19,210,122,18,181,12,31,185],"error":{"max_abs":32,"max_l1":3456,"max_l2_squared":110592,"max_nonzero":108},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"5841bc672f1372da479fe01021f8906e0b753d375d6f09364cbfdd659764beb0","instance_id":"lwe_0030","m":108,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"422894ce471239672c086985ba3fc349f3ed70f22480b26f76fb6871d44b7df9"},"n":100,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[168,89,163,67,203,212,20,96,208,167,98,163,98,120,107,208,238,154,122,226,35,78,176,133,97,227,47,176,149,11,212,175,70,160,141,123,30,52,103,220,29,35,111,230,30,123,36,55,39,227,151,123,108,107,136,2,111,161,203,50,195,139,101,106,222,36,47,43,55,19,116,165,31,150,126,120,109,134,176,18,237,85,214,13,254,66,53,1,173,139,178,95,46,160,9,202,124,32,132,5,30,245,219,8,191,167,174,164,89,225,23,90,102],"error":{"max_abs":32,"max_l1":3616,"max_l2_squared":115712,"max_nonzero":113},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"b113b8c865b3a9c318417f4667c6d09015893114ac7d6bc3cc61b6ee03d711eb","instance_id":"lwe_0031","m":113,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"c2f12fe7a049a0d9a23407d6979576f3657f67822049202779f0e1dda4b57b60"},"n":105,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[30,171,248,16,91,195,211,169,150,140,223,8,227,137,28,179,99,60,61,194,33,190,234,222,67,256,171,175,50,24,40,18,225,249,222,74,183,141,195,48,87,91,19,186,94,16,183,68,94,82,177,245,186,167,108,147,222,69,91,250,252,45,245,133,164,177,105,112,253,113,130,128,45,252,11,35,182,182,165,29,252,0,161,54,210,229,10,234,170,182,69,17,79,142,197,4,219,30,211,74,59,205,0,229,252,213,235,150,38,124,54,133,225,228,168,40,114,107],"error":{"max_abs":32,"max_l1":3776,"max_l2_squared":120832,"max_nonzero":118},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"518503ccecbbf42c604a5c4809ad8f51120c3b49904f7fb7c286583f35e0a67a","instance_id":"lwe_0032","m":118,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"b91116e4dfc3caa0a67b1399f8611646300dd9d8cbbee1922fe36e680a39b25c"},"n":110,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[156,3,110,200,116,43,54,45,98,1,64,256,216,44,162,135,50,26,111,207,28,129,15,227,21,5,37,209,233,233,79,70,131,159,18,207,243,186,242,231,213,247,16,113,133,144,128,75,147,11,207,54,89,56,41,21,74,65,37,62,28,91,145,241,248,109,189,183,58,79,218,177,18,147,110,203,62,31,142,155,22,240,231,238,109,194,70,46,247,75,226,220,192,99,84,54,231,215,90,198,18,160,252,232,171,143,58,73,13,45,72,155,54,28,122,38,188,174,137,94,67,130,235,76,238,45,143,6],"error":{"max_abs":32,"max_l1":4096,"max_l2_squared":131072,"max_nonzero":128},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"f8d730c2c31f9c0dd9221887eb050de5cf3b11cf54053fb3fff2a8bb408827d9","instance_id":"lwe_0033","m":128,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"bff8c1966f09ab15f10b8eb6d2aac46e541eb892d301c7ec85bc183814b68339"},"n":120,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[43,187,27,56,127,247,174,47,109,106,145,161,156,96,117,109,10,244,63,44,137,245,107,224,249,173,97,116,97,163,44,215,8,161,229,46,26,57,108,168,129,189,137,252,229,58,189,136,210,83,27,231,232,118,80,250,136,76,135,11,116,38,175,36,42,213,57,204,67,199,228,169,91,195,212,27,183,244,44,246,11,132,79,138,56,28,186,170,92,43,168,39,97,214,221,19,249,214,82,192,68,138,170,111,141,16,159,32,228,112,142,91,79,37,33,89,27,170,98,86,246,172,85,83,33,39,244,75,66,82,229,213,210,184,97,114,229,238],"error":{"max_abs":32,"max_l1":4416,"max_l2_squared":141312,"max_nonzero":138},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"52018fa22398121ba03edf908578fb09ffa97f1ac4896e64fd7e3bf1d3ba97cb","instance_id":"lwe_0034","m":138,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"96200e25b60a9614bff16eb28443b7326faab97f3f05e2b7d07d600e4c49a727"},"n":130,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[59,214,196,185,65,233,180,253,214,91,108,100,57,248,201,157,152,145,2,58,171,8,104,33,239,26,4,69,156,199,204,128,139,6,216,243,84,35,139,187,196,192,70,59,68,198,0,108,43,115,206,14,98,5,222,93,137,206,254,238,121,245,202,29,148,88,213,199,136,35,70,18,115,170,108,169,140,211,11,16,245,132,130,152,26,189,56,175,215,209,201,0,12,27,38,188,107,183,38,147,212,160,66,63,80,188,160,247,237,9,118,203,248,251,246,178,78,142,91,213,2,139,52,203,152,50,18,108,76,148,34,180,164,151,97,122,206,236,30,50,12,254,168],"error":{"max_abs":32,"max_l1":4576,"max_l2_squared":146432,"max_nonzero":143},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"6b9d74caf4dedc00a17a5bd0730808360016335859dbfd50df22894c147e598d","instance_id":"lwe_0035","m":143,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"fd136f7add38de2b2a6c63186d823eee6dda84bb3f3f7e9aa1bd36a3593dc146"},"n":135,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[252,77,188,109,67,54,77,131,10,56,54,52,124,116,180,180,91,227,182,29,248,228,59,152,35,101,64,73,175,74,244,201,7,35,8,212,247,166,203,56,105,212,27,10,10,77,227,245,36,185,58,65,136,74,145,227,146,84,16,52,82,212,201,244,240,213,246,160,245,255,196,137,11,160,29,62,141,196,71,234,215,169,59],"error":{"max_abs":32,"max_l1":2656,"max_l2_squared":84992,"max_nonzero":83},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"3edd1dafa905fa150e6e187cb0fc310d378b0b81353e55298e251789389e0a0b","instance_id":"lwe_0036","m":83,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"2f9b2cd06040ce18598d1d0b36e6b6a00d002f913d1c4adac470cb3103fc61ed"},"n":75,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[188,185,109,157,44,246,253,220,229,35,188,229,134,180,107,87,229,149,230,181,145,249,178,24,29,209,174,123,56,60,223,100,214,253,14,159,89,8,41,12,56,43,222,57,35,70,189,131,175,152,23,62,18,253,210,207,247,19,144,118,44,42,120,243,124,161,88,166,48,223,140,207,128,114,166,126,168,0,175,123,70,144,235,234,2,49,240,121],"error":{"max_abs":32,"max_l1":2816,"max_l2_squared":90112,"max_nonzero":88},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"1984860947331a8020e4d4fb12ec9f07d993043517e691c4616312b9e2baf4de","instance_id":"lwe_0037","m":88,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"4b1e49c750f72a5d43158868c548b4751ba4af9eea407a71306846daaeff59e4"},"n":80,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[242,203,88,64,168,185,1,60,66,180,146,249,68,150,222,191,49,125,228,194,207,195,96,68,217,72,255,244,154,157,86,168,113,105,90,191,114,16,148,82,248,161,114,185,181,96,173,135,198,140,32,223,177,223,67,163,69,27,130,214,193,155,228,117,15,85,238,184,244,82,32,186,158,98,7,157,70,0,22,115,182,164,124,61,35,168,111,39,5,56,157,213,220],"error":{"max_abs":32,"max_l1":2976,"max_l2_squared":95232,"max_nonzero":93},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"c5713ec9317d455040c236d74bb273da8790f15be6e0fb44354ccb76f60407b8","instance_id":"lwe_0038","m":93,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"dafd264b77c1378dce798d0bf944edc5d7b805ed0f4adea840016de1020147d7"},"n":85,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[240,229,128,190,256,146,166,30,235,216,105,83,60,176,168,9,23,147,66,39,125,89,214,111,255,98,56,46,68,34,182,136,74,256,85,226,171,126,45,160,136,228,173,99,71,232,98,204,212,133,244,70,117,187,37,162,144,150,147,182,241,128,89,64,85,201,197,149,107,60,172,76,123,213,114,113,127,251,239,92,242,232,158,8,99,55,155,145,74,76,64,153,129,139,201,55,44,228],"error":{"max_abs":32,"max_l1":3136,"max_l2_squared":100352,"max_nonzero":98},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"c5f052193de82ab603af87f7d2c1dfba2d5a4b40ff828b85408faa125631092a","instance_id":"lwe_0039","m":98,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"0f55057e4dbc150d5f922abd381662c191309ac63ce36cdc410b034fcae90dc0"},"n":90,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[141,250,256,87,187,197,39,215,149,72,178,143,196,20,105,252,189,56,46,130,209,135,89,13,245,2,55,0,136,199,144,165,93,51,51,243,161,168,52,229,103,160,245,80,191,156,139,2,12,92,70,116,81,172,49,73,106,133,90,6,115,114,33,42,159,115,232,157,109,6,116,0,201,103,127,84,209,167,213,55,197,27,62,46,253,34,198,221,17,30,220,40,99,166,246,252,37,87,125,2,194,81,214,10,158,3,248,170],"error":{"max_abs":32,"max_l1":3456,"max_l2_squared":110592,"max_nonzero":108},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"27758a1ea16bb8db444f3f3a1227f510cfcbbfae467847378e7939dd056a7eec","instance_id":"lwe_0040","m":108,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"2dbd4884cb4b41c988663f7a4ee36d5e77ae8836c09ea9789d98597913a751fa"},"n":100,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[591,885,74,637,157,721,759,764,227,732,549,955,454,877,876,318,498,619,1086,555,710,188,1202,176,557,1004,1132,789,1223,362,697,421,539,989,1122,17,252,886,1077,154,627,944,264,391,1078,720,231,170,582,594,475,66,1090,1093,561,1039,725,670,700,981,1199,646,464,1090,1130,534,1006,1035,726,510,617,141,430,487,569,818,44,162,8,997,896,232,101,1008,272,215,639,277,113,673,57,1116,203,1126,951,1217,706,690,420,377,801,260,633,1084,223,1053,824,745,673,938,538,829,346,577,1113,209,185,1075,161,625,838,541,1173,894,942,41,165,254,949,495,1220,941,586,286,915,479,175,890,505,828,565,637,846,1089,562,865,899,846,1153,284,787,432,988,350,421,806,433,916,554,699,907,1012,568,265,1098,198,668,576,1153,863,992,1048,560,58,681,1054,331,921,248,985,220,1073,291,264,539,735,801,581,1006,260,1170,303,231,514,164,732,111,1006,221,1114,581,575,935,968,1103,752,20,848,23,435,391,837,40,423,954,220,220,519,1079,1061,428,853,596,416,411,709,1209,327,203,547,64,248,316,609,471,112,933,1172,732,635,90,931,846,741,576,771,323,253,482,544,600,42,264,1054,1155,207,771,403,15,226,601,110,401,474,125,453,977,1097,113,207,314,684,1000,1061,1103,1133,400,57,831,600,1159,569,668,442,773,706,1044,859,304,305,1132],"error":{"max_abs":153,"max_l1":1071,"max_l2_squared":163863,"max_nonzero":7},"error_distribution":{"bound":153,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":7},"instance_digest":"947e1e732002f4de4601e7f157c124298e68b27f60c7ad84471b7551ced99ce1","instance_id":"lwe_0041","m":291,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"6170c59baee64a4acfcf6a878bd8e38c20ad5015894789bf736a43874fed26e5"},"n":97,"q":1229,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":97,"min_nonzero":0},"secret_distribution":{"alphabet":[0,1],"eta":null,"kind":"iid_alphabet","weight":null}} +{"b":[1757,889,166,874,673,872,1862,2017,1335,1987,1616,943,454,1676,1271,93,584,352,201,475,952,739,700,1575,974,1158,529,1587,777,1694,805,1100,1414,153,933,1122,435,627,1348,1790,1129,1768,690,304,678,886,1393,486,166,1209,781,1912,1434,692,1623,214,1898,708,1483,97,1837,1041,299,182,1750,1906,1371,454,1066,116,978,825,1615,816,1145,1313,937,702,477,8,1495,359,1259,384,95,1986,1708,335,682,957,1712,1863,1154,706,885,423,356,1989,1484,527,98,719,369,1408,489,1358,1766,99,312,162,462,1545,1015,1632,1833,700,777,1384,1628,621,1624,40,513,397,215,142,1587,1902,1643,552,396,1106,397,378,810,673,2027,1171,283,406,1023,1205,212,21,212,137,148,1538,625,1677,411,550,1292,1073,1008,2041,760,597,2048,1213,1453,1864,1370,1539,1113,1571,1641,1469,1000,1556,1767,1276,727,1253,892,1440,579,210,1141,188,1955,560,27,1455,1146,1029,1405,944,285],"error":{"max_abs":256,"max_l1":3072,"max_l2_squared":786432,"max_nonzero":12},"error_distribution":{"bound":256,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":12},"instance_digest":"52f1cd86215d0351188c1518cdc5749d7fef01aaf7245f8027e21a50d135d487","instance_id":"lwe_0042","m":189,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"91c86aaf7815370c33c7875a148be1918233c4c4cd86d90f6adbfe44da988757"},"n":63,"q":2053,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":63,"min_nonzero":0},"secret_distribution":{"alphabet":[0,1],"eta":null,"kind":"iid_alphabet","weight":null}} +{"b":[3087,1081,1207,1476,3515,1963,2471,1031,2097,1162,3260,1202,1847,1295,14,4036,2478,2402,1284,1574,243,3361,2774,1,306,3129,144,3295,1841,643,1695,1082,278,1344,1863,2749,1313,933,232,1046,2888,552,159,1313,2601,548,3520,2346,2851,491,855,4070,1591,2638,84,1499,236,2563,2113,865,1513,3267,3410,2522,3394,2720,3605,2566,3546,2624,1901,2935,3863,2531,1946,2169,1650,2968,3911,896,433,385,2466,746,902,3587,3225,1580,12,600,1161,3542,3949,3690,3796,2461,1203,2198,1448,1851,2876,1975,536,2266,2242,493,3580,2061,3926,2395,2156,1386,2107,1606,1086,2505,1831,43,2272,433,92,1840,3394,2023,830,1156,254,2158,3815,3465,3747,3510,3441,1241,3044,1788,2447,2277,353,826,3019,3503,2418,353,58,1545,1270,1963,1504,2938,3334,2379,3115,509,1867,2133,1924,1409,2501,3236,3578,3608,40,966,3061,355,2471,346,2611,1158,3239,3941,3769,2752,401,3960,2430,2921,2540,2994,2324,846,2745,1382,2087,16,952,1497,1618,3623,3701,441,2110,463,2830,2607,1909,330,3025,2686,1260,1666,1650,1705,969,2134,2344,1818,907,3339,1506,630,1475,2158,4073,1965,2513,2902,741,1348,264,1877],"error":{"max_abs":511,"max_l1":7665,"max_l2_squared":3916815,"max_nonzero":15},"error_distribution":{"bound":511,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":15},"instance_digest":"9413fbfa70bed2c75a7e047f6ee26e7f307d63c8135929b8c622f73725734bf4","instance_id":"lwe_0043","m":222,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"34ce8a78bdd8eb9ae068c810496789175fac22d49c7ef2ba8df7291a214a4406"},"n":74,"q":4093,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":74,"min_nonzero":0},"secret_distribution":{"alphabet":[0,1],"eta":null,"kind":"iid_alphabet","weight":null}} +{"b":[79,148,220,47,239,255,246,7,13,82,189,127,194,25,212,87,146,160,9,252,43,139,0,44,103,134,178,6,68,146,5,36,61,211,72,171,250,133,100,150,47,32,219,5,136,215,137,244,154,249,127,128,55,42,175,24,238,130,46,248,113,122,223,2,131,183,44,94,48,81,91,3,3,72,113,11,27,47,206,214,250,186,197,71,83,34,148,106,110,150,1,165,237,240,68,202,253,231,57,147,254,221,78,166,3,87,16,83,234,120,125,73,172,203,75,229,247,19,0,124,219,23,74,58,204,240,1,237,256,9,62,246,7,204,11,80,55,102,175,242,172,103,226,178,142,157,124,181,50,91,77,116,109,241,47,118,184,2,165,131,190,139,19,254,148,4,95,97,19,66,182,151,149,140,2,81,110,185,159,18,215,61,213,181,148,10,139,231,207,81,63,78,202,111,150,203,106,120,65,100,224,38,7,172,52,202,59,124,123,245,202,28,101,210,33,73,103,65,155,125,150,183,147,6,6,85,202,48,233,73,96,160,213,247,218,12,230,248,33,223,254,143,92,209,51,81,193,37,99,110,14,34,64,141,20,63,120,100,179,175,213,111,203,173,222,34,7,82,241,22,232,191,13,149,21,206,170,40,235,151,5,207,231,149,36,157,104,57,61,173,64,231,30,209,254,88,199,222,68,207,87,155,206,38,65,154,12,179,153,215,55,189,40,220,41,238,123,206,138,84,128,35,113,141,255,228,131,199,147,11,150,191,56,114,5,132,245,10,212,97,44,255,15,204,34,179,182,40,74,235,16,69,244,135,238,23,207,68,166,117,60,67,236,239,175,196,111,72,178,107,199,153],"error":{"max_abs":32,"max_l1":544,"max_l2_squared":17408,"max_nonzero":17},"error_distribution":{"bound":32,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":17},"instance_digest":"67b70369fdb6827ac1f68b1a7b00f17e1cee77f819d9d5c8aeba00183310b9af","instance_id":"lwe_0044","m":372,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"7d5ace32d76076608e3a40620a327b7c16887bcb56ad8d7fa2ba14035bfc50f5"},"n":124,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":124,"min_nonzero":0},"secret_distribution":{"alphabet":[0,1],"eta":null,"kind":"iid_alphabet","weight":null}} +{"b":[733,767,335,339,479,123,588,270,79,291,617,195,27,692,409,537,523,459,63,651,60,217,718,93,564,670,764,140,530,685,433,664,231,552,131,21,100,4,555,398,148,697,378,462,385,253,582,686,67,511,289,13,29,186,702,347,18,523,634,597,714,458,549,445,131,463,328,167,21,131,524,623,490,25,730,767,680,293,672,437,272,420,370,351,507,295,205,79,594,313,559,87,332,340,577,306,89,21,374,707,739,612,341,726,182,735,178,644,624,198,520,544,280,592,602,451,453,453,660,117,42,599,364,216,700,366,752,602,203,745,322,28,710,698,548,664,346,235,694,604,487,191,226,335,35,609,647,232,377,212,573,337,510,170,729,395,265,547,426,731,563,469,226,172,715,18,644,492,723,505,287,552,753,443,265,629,392,280,112,314,751,80,450,217,603,640,419,162,743,647,210,381,107,73,15,443,628,85,45,348,173,683,739,126,422,212,743,449,160,440,191,578,132,734,123,461,385,134,494,315,343,581,81,380,160,243,228,331,660,664,713,681,76,196,170,615,685,125,79,83,740,341,299,756,26,731,679,257,485,12,117,180,238,649,575,741,148,262,78,299,506,737,89,635,454,530,226,297,70,287,110,108,235,577,229,673,247,373,287,675,66,642,577,58,205,472,703,700,519,539,614,170,374,549,549,523,141,313,395,639,488,736,188,734,8,411,722,211,649,492,680,263],"error":{"max_abs":96,"max_l1":2016,"max_l2_squared":193536,"max_nonzero":21},"error_distribution":{"bound":96,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":21},"instance_digest":"b5567bcb50c8c74a8d60574b0261c1d72708eccde92fb8b93f9a41c11d7677c3","instance_id":"lwe_0045","m":312,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"02070cfd13d5f174ba368c393c5f86d4184eb0a750fbf9fb4f8faea817cc71f7"},"n":104,"q":769,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":104,"min_nonzero":0},"secret_distribution":{"alphabet":[0,1],"eta":null,"kind":"iid_alphabet","weight":null}} +{"b":[46,748,78,510,644,191,26,430,202,704,1085,425,769,581,1008,1056,1178,929,440,969,763,1070,783,408,790,901,697,138,1173,960,1016,1173,138,86,636,930,1173,424,236,1032,1185,780,670,70,1062,299,78,441,1140,342,329,699,1196,877,343,616,602,849,1174,545,818,903,1181,255,838,175,720,1207,801,27,445,660,626,703,335,813,40,863,208,521,198,1000,37,845,1012,1137,262,1181,800,1175,1100,755,765,287,717,841,1102,464,8,909,1073,483,152,821,502,101,579,719,550,1013,342,620,1149,97,1211,489,195,849,841,473,442,546,1020,498,560,96,807,714,941,782,347,724,26,962,1127,1060,582,508,1129,1164,811,393,1146,102,823,783,1008,839,1089,941,961,668,426,710,1075,1103,449,208,190,44,1132,941,453,540,566,672,275,245,121,405,252,316,442,374,814,421,686,368,122,1070,102,309,299,1135,575,1057,1119,1053,111,746,341,674,920,73,1096,425,723,829],"error":{"max_abs":153,"max_l1":3825,"max_l2_squared":585225,"max_nonzero":25},"error_distribution":{"bound":153,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":25},"instance_digest":"b4ae3d19b33daea03ea079ad0032a679b2f42048f47dd77ab57dd2acca80a698","instance_id":"lwe_0046","m":198,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"d712c371ce0d377d99488c909c5581b184288129915a90c92b9f616fea423920"},"n":66,"q":1229,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":66,"min_nonzero":0},"secret_distribution":{"alphabet":[0,1],"eta":null,"kind":"iid_alphabet","weight":null}} +{"b":[1356,493,403,584,1240,895,856,794,1022,499,933,1588,187,1602,1323,1310,411,1333,1533,1634,1475,1973,1723,1005,696,1595,166,1177,1005,2025,2039,1477,1243,1656,267,589,1929,1049,573,1647,1083,1512,174,299,389,970,878,598,1733,1673,979,1099,2012,277,989,384,480,210,482,1744,1457,268,982,625,135,1021,83,1602,750,506,2012,348,429,1018,2041,1715,1214,1264,915,1342,951,1040],"error":{"max_abs":256,"max_l1":20992,"max_l2_squared":5373952,"max_nonzero":82},"error_distribution":{"bound":256,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"c26b7faf8c1678cb38aadba0fa9746998529bab5f75d16813985cb01db0c97e9","instance_id":"lwe_0047","m":82,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"82190604cf4f91b0f0968b4637d75ecac4d5461d0e6d2d86290dc07ff356a1fa"},"n":74,"q":2053,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":74,"min_nonzero":0},"secret_distribution":{"alphabet":[0,1],"eta":null,"kind":"iid_alphabet","weight":null}} +{"b":[2743,2397,1919,976,602,2799,2793,3644,3253,2508,79,2354,2050,3150,1375,3113,2614,1257,1816,3640,1603,1398,654,2000,330,1834,1307,58,3865,875,2782,2748,2495,3037,3704,1731,3571,3284,2804,2456,562,1471,3346,2054,1801,2983,1668,3253,617,1018,3546,2969,3715,3577,1377,764,4013,887,3396,593,2943,3301,3506,899,962,2953,2870,1518,3915,977,1175,1719,1288,2053,2692,3374,3941,2164,1644,29,527,2186,686,1552],"error":{"max_abs":511,"max_l1":42924,"max_l2_squared":21934164,"max_nonzero":84},"error_distribution":{"bound":511,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"35730a2ea4dc5f0dd8154aae5b1224aa53da75eeeef3b121a54c24fb1290010a","instance_id":"lwe_0048","m":84,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"104903dd17a6804461816bf526480944405b5104cb91fe90ef3f0aff81304271"},"n":76,"q":4093,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":76,"min_nonzero":0},"secret_distribution":{"alphabet":[0,1],"eta":null,"kind":"iid_alphabet","weight":null}} +{"b":[133,96,175,107,175,106,6,238,152,92,147,175,148,50,178,13,5,205,10,242,117,113,134,37,202,4,81,46,243,187,52,170,209,6,177,49,142,169,2,145,203,215,139,178,94,129,239,138,90,245,82,219,94,222,7,124,2,218,149,154,35,33,156,175,90,155,140,121,48,256,234,133,41,69,200,100,176,256,84,187,61,66,167,90,110,218],"error":{"max_abs":32,"max_l1":2752,"max_l2_squared":88064,"max_nonzero":86},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"9c88152ec9944cfe66940999883ab8ad094320ef518f6fba6f8aad9697e7b15b","instance_id":"lwe_0049","m":86,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"66ca3500e0aeb9ca4c6a7f0b1dde79d090ecf3e630103c88ff3dbcc821431928"},"n":78,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":78,"min_nonzero":0},"secret_distribution":{"alphabet":[0,1],"eta":null,"kind":"iid_alphabet","weight":null}} +{"b":[328,279,598,12,358,154,102,244,446,456,584,239,29,402,27,92,759,65,53,378,424,141,356,57,278,682,393,54,699,736,185,74,508,531,218,23,542,561,486,269,148,360,386,622,323,439,694,317,742,643,100,411,506,529,97,65,80,688,53,46,486,127,64,129,501,101,497,762,220,689,304,423,181,268,305,344,63,491,605,428,155,631,120,128,667,96,300,334],"error":{"max_abs":96,"max_l1":8448,"max_l2_squared":811008,"max_nonzero":88},"error_distribution":{"bound":96,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"5bb9731e151e02934ccbc4ede5540b6d262ab96136f55ccffe125ed590326419","instance_id":"lwe_0050","m":88,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"8d9e128701d124c35422069c44ef8af134a27e697fe26ae566fefda7bdbdfd8e"},"n":80,"q":769,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":80,"min_nonzero":0},"secret_distribution":{"alphabet":[0,1],"eta":null,"kind":"iid_alphabet","weight":null}} +{"b":[1009,1226,9,270,81,827,421,279,531,1055,263,169,810,778,511,272,899,23,307,684,1160,668,248,808,278,1046,127,816,532,1108,488,849,1075,1070,1207,1086,127,273,796,768,506,747,57,1205,467,957,260,763,769,564,1173,354,575,1183,322,96,553,168,414,99,1102,294,183,541,1072,878,550,898,460,536,397,1176,469,1059,221,736,1202,593,1154,107,739,175,47,956,921,695,200,1156,73,3],"error":{"max_abs":153,"max_l1":13770,"max_l2_squared":2106810,"max_nonzero":90},"error_distribution":{"bound":153,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"538fc803641e0fd5d2b557954b69d5434078b317eb794fdbcff3f60252b3d3b2","instance_id":"lwe_0051","m":90,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"88aa35f7eb97fa4b94a768e8db6ea794c2f0f575c3de0c5dd0c0463308a7e1ff"},"n":82,"q":1229,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":82,"min_nonzero":0},"secret_distribution":{"alphabet":[0,1],"eta":null,"kind":"iid_alphabet","weight":null}} +{"b":[300,1622,1447,502,2039,1817,181,524,870,1687,17,1327,1567,958,164,1362,665,1906,59,734,1037,2012,996,238,232,95,550,79,1772,1170,813,1222,1180,760,1927,473,524,987,1913,1747,1632,2037,1094,514,704,609,236,46,1927,990,361,1895,1966,206,1632,1932,488,1651,903,388,1656,610,1461,948,712,231,1222,1158,1156,412,607,1951,701,1993,930,1868,204,509,1169,1836,347,530,1955,341,652,296,246,1702,384,1245,1478,907],"error":{"max_abs":256,"max_l1":23552,"max_l2_squared":6029312,"max_nonzero":92},"error_distribution":{"bound":256,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"0fab7fbff6ae694ca7a9e7eecabc007107d30b5df7a37e39adc305a9406a5749","instance_id":"lwe_0052","m":92,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"ba86f4275f4bbfaebc3deae6bcbc2d87ad4d37690f450d66710f34fc340790a0"},"n":84,"q":2053,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":84,"min_nonzero":0},"secret_distribution":{"alphabet":[0,1],"eta":null,"kind":"iid_alphabet","weight":null}} +{"b":[376,182,2856,2199,3934,3012,1703,3848,3507,2298,3888,773,2984,866,490,2112,2357,633,2543,591,1096,2520,2251,3298,1840,3191,1537,2757,3320,902,1852,254,130,2372,2307,3406,53,1641,1952,3869,2342,3670,3479,107,763,807,1846,3191,1150,30,2640,937,2795,285,3548,2189,138,1911,302,1161,2531,533,1159,1721,809,3083,3014,3557,3575,2781,2006,3846,2540,2633,2704,297,621,1068,2448,1873,1783,3294,807,403,1870,1528,3802,1863,4028,894,3883,2094,558,3596],"error":{"max_abs":511,"max_l1":48034,"max_l2_squared":24545374,"max_nonzero":94},"error_distribution":{"bound":511,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"7beb0d56daf8354436d53f5a6a2e22382381b5540f6eea9e9c7a3ec07a7b1532","instance_id":"lwe_0053","m":94,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"ee4cd94c5d8cfd17b9cf8350fceb07a41e976a02eef893e216914470242f6c33"},"n":86,"q":4093,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":86,"min_nonzero":0},"secret_distribution":{"alphabet":[0,1],"eta":null,"kind":"iid_alphabet","weight":null}} +{"b":[177,48,14,84,155,174,40,41,209,66,251,199,24,77,1,133,146,145,213,160,23,61,56,180,99,248,39,109,21,17,49,102,161,241,97,120,120,58,196,185,127,72,244,163,17,16,95,239,197,146,237,248,188,0,36,203,12,81,140,253,136,88,234,148,207,163,29,218,162,123,68,17,14,64,247,69,197,37,111,105,56,94,97,198,173,113,106,255,109,65,167,254,13,170,10,203],"error":{"max_abs":32,"max_l1":3072,"max_l2_squared":98304,"max_nonzero":96},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"4b749848594451bbe6bd183738d11bcc78e736ebb4168cf30472cc7cf499754e","instance_id":"lwe_0054","m":96,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"786d7d7ae0812808006e7aff8d23e1482cefebd096e3f184ff8a6edb62c0c929"},"n":88,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":88,"min_nonzero":0},"secret_distribution":{"alphabet":[0,1],"eta":null,"kind":"iid_alphabet","weight":null}} +{"b":[227,755,96,549,191,75,487,264,77,472,258,600,203,223,179,233,640,331,0,739,633,558,717,58,385,132,666,383,750,17,438,515,418,226,208,120,94,480,230,526,129,737,750,312,617,414,682,103,346,228,174,300,438,419,333,666,17,28,163,520,695,390,318,301,314,263,327,249,669,259,474,313,229,138,125,477,266,295],"error":{"max_abs":96,"max_l1":7488,"max_l2_squared":718848,"max_nonzero":78},"error_distribution":{"bound":96,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"4643052db5424969141cf2c1f54730bfa015c1b08f3d9e4b57e1d36c6746a0ee","instance_id":"lwe_0055","m":78,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"03fab3e23ebf96e64f450dc5c2bc846c689e94dbebe46a434fd07f7b3536a589"},"n":70,"q":769,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":70,"min_nonzero":0},"secret_distribution":{"alphabet":[0,1],"eta":null,"kind":"iid_alphabet","weight":null}} +{"b":[569,153,950,93,572,203,713,1094,49,976,65,942,769,1114,89,792,557,1070,493,1086,621,324,1194,1164,311,412,623,896,342,966,720,693,804,179,215,735,521,868,98,304,553,925,1144,327,216,293,530,327,47,702,818,80,1054,192,194,894,298,784,991,281,31,247,980,235,1024,885,1213,918,147,652,675,619,922,80,256,630,549,916,349,71],"error":{"max_abs":153,"max_l1":12240,"max_l2_squared":1872720,"max_nonzero":80},"error_distribution":{"bound":153,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"df7028cb3ef2bc54246c8e5aa856f06af095808e2b06e2fc1324da003ff2850b","instance_id":"lwe_0056","m":80,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"e4f817a9118c879e257e9a8ede0f6d95f3cfff7b3aa525808ee709f2cbe29f1c"},"n":72,"q":1229,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":72,"min_nonzero":0},"secret_distribution":{"alphabet":[0,1],"eta":null,"kind":"iid_alphabet","weight":null}} +{"b":[720,1911,2044,1241,1665,72,1213,959,374,1242,941,259,743,860,1912,601,42,2022,943,282,1759,1471,207,1773,1125,613,127,2046,373,547,797,167,1682,1221,1905,340,1598,2045,1934,874,1704,1310,353,884,776,688,1032,572,1417,1920,602,2036,133,1374,198,1784,1459,654,1427,899,1434,1903,502,319,1916,114,1788,625,24,1832,1480,1675,1309,1490,673,204,1787,1325,179,124,1760,1832],"error":{"max_abs":256,"max_l1":20992,"max_l2_squared":5373952,"max_nonzero":82},"error_distribution":{"bound":256,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"fb9e4fd88cde98167dfe9067b4eb11a6ef4c1c2fbb22a1c463b6d378c15bf832","instance_id":"lwe_0057","m":82,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"52789445828c3b3e5795816292ff4597453dacb1393781f58847f25f087e737b"},"n":74,"q":2053,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":74,"min_nonzero":0},"secret_distribution":{"alphabet":[0,1],"eta":null,"kind":"iid_alphabet","weight":null}} +{"b":[2807,1338,3535,1354,1928,1897,207,1028,582,3713,2579,3221,2904,1926,1963,334,1570,2304,315,311,1645,851,3489,682,2346,2891,2399,273,132,1564,680,2998,3715,2658,2898,984,1081,2523,1873,3539,1478,1133,2690,531,387,1038,3989,3881,3953,592,3925,416,575,1372,1970,3343,2957,1042,430,750,3856,1692,1377,3530,1160,1941,87,172,3315,1530,1959,3467,3118,1825,451,3898,1415,2442,189,820,1081,82,3762,2630],"error":{"max_abs":511,"max_l1":42924,"max_l2_squared":21934164,"max_nonzero":84},"error_distribution":{"bound":511,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"73dd03500f327dd9a4abaa5c9ad4e20fb74ea31189ba7ae99a52cb11cbd6ff8e","instance_id":"lwe_0058","m":84,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"5dd2650d69b1a2309cfff3542bf8fa2b55f08a0c14d9545f3dbb651493cb13f0"},"n":76,"q":4093,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":76,"min_nonzero":0},"secret_distribution":{"alphabet":[0,1],"eta":null,"kind":"iid_alphabet","weight":null}} +{"b":[48,105,227,16,110,244,186,153,55,127,38,197,31,94,99,239,148,212,17,9,222,96,92,256,151,162,102,108,85,128,48,159,201,144,28,221,128,126,201,109,35,228,7,177,225,169,27,113,173,103,56,59,152,10,110,27,192,199,246,170,0,139,92,5,60,111,56,190,16,152,155,98,176,129,232,2,182,203,136,185,56,215,196,163,32,208],"error":{"max_abs":32,"max_l1":2752,"max_l2_squared":88064,"max_nonzero":86},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"d5b125544926de5ca32d37f385c835801fcfaeceaa858a631a60edbf80175b82","instance_id":"lwe_0059","m":86,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"0735ddcfeb21dbfbdfa00b1d5936aac1f609071787e8fa1e0fd43a6e914e336e"},"n":78,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":78,"min_nonzero":0},"secret_distribution":{"alphabet":[0,1],"eta":null,"kind":"iid_alphabet","weight":null}} +{"b":[29,264,52,760,258,199,357,473,401,18,163,317,347,450,38,184,625,448,80,697,544,121,495,535,223,117,210,720,40,574,716,153,461,560,3,392,423,634,668,248,753,92,598,445,569,760,249,43,439,680,262,683,455,601,51,602,196,270,563,62,14,285,286,424,533,321,639,298,683,305,15,642,762,690,660,587,724,447,627,763,684,387,447,338,400,52,56,163],"error":{"max_abs":96,"max_l1":8448,"max_l2_squared":811008,"max_nonzero":88},"error_distribution":{"bound":96,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"d3e82f5196b0e0a32baf7aeced5576ba54e20ff0ab3fcedbef27c690e245a1c0","instance_id":"lwe_0060","m":88,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"uniform","row_weight":null,"seed_hex":"ce777e70eb68a6813dd11be86036829e4d0dbd6b25efaf5cbcdaeb9c624d273c"},"n":80,"q":769,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":80,"min_nonzero":0},"secret_distribution":{"alphabet":[0,1],"eta":null,"kind":"iid_alphabet","weight":null}} +{"b":[129,1328,1626,136,1315,1828,1163,377,773,519,705,1506,647,439,818,2017,1545,370,944,573,1898,1842,1657,2018,953,1110,611,334,984,1314,106,150,1361,1838,1623,198,1419,300,1011,455,1147,437,446,942,1184,348,823,1176,1287,1594,1532,570,1045,1520,2042,409,1591,1569,969,1955,1830,1778,1581,949,1022,1587,922,295,1979,105,61,1404,2011,1491,682,799,1592,1873,671,1170,704,26,1132,1332,533,1264,1164,614,981,759,1917,777,1987,1283,1220,1681,1249,824,1191,998,1323,1286,1405,762,1631,1359,741,1140,1686,1906,1384,767,1009,1254,243,463,374,553,1268,49,45,163,567,1038,639,1268,52,922,627,1686,398,1767,433,314,862,1870,766,682,166,1401,1750,760,379,1217,808,763,678],"error":{"max_abs":256,"max_l1":2304,"max_l2_squared":589824,"max_nonzero":9},"error_distribution":{"bound":256,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":9},"instance_digest":"16ee1e75fdda7f8f97228daabedf658491d639e60ad804fb533dddb493ceb025","instance_id":"lwe_0061","m":147,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":14,"seed_hex":"2ee24c888403e3b7af824a6f14e4971cc3f3990fb5a16a4d1d68a975dbe06b5b"},"n":49,"q":2053,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":49,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[1287,2282,701,15,3665,996,3871,209,1414,3300,4074,2156,974,1154,1786,3851,262,1644,1710,3018,1273,1600,3437,1037,272,1832,2118,2581,3608,2436,4062,3108,1687,660,623,1388,2889,352,3128,1524,889,1266],"error":{"max_abs":511,"max_l1":7154,"max_l2_squared":3655694,"max_nonzero":14},"error_distribution":{"bound":511,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":14},"instance_digest":"11997cfd8c7292398d529e2f1fbe215fd409e82c39c3bc4fd024529e5b77b462","instance_id":"lwe_0062","m":42,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":8,"seed_hex":"ff7f63f89d91610a7f9e769801114d6bbf3a928bd90ea85b2fa2aafa8c29db30"},"n":14,"q":4093,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":14,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[117,130,138,143,15,89,55,76,82,223,144,254,147,254,6,165,225,81,68,241,80,72,138,236,44,255,118,122,96,221],"error":{"max_abs":32,"max_l1":480,"max_l2_squared":15360,"max_nonzero":15},"error_distribution":{"bound":32,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":15},"instance_digest":"b4574df996d93e4394b72f15cf4bfa184d462abe3fca2af12c384fcae77b534a","instance_id":"lwe_0063","m":30,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":7,"seed_hex":"1eb5f73d6cd34319788fcad18d84afbed40b2504fa68630aba260904c3cdf9b0"},"n":10,"q":257,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":10,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[470,715,688,141,524,45,152,452,431,93,415,643,489,485,639,356,160,672,408,606,170,618,62,330,444,139,501,465,488,340,95,571,267,464,181,618,392,737,181,430,408,388,717,726,343,564,460,507,603,429,407,567,644,353,20,693,354,556,318,413,280,43,146,294,304,429,581,433,597,416,720,227,675,755,488,300,214,281,484,530,513,57,110,384,255,405,115,132,203,676,749,128,705,375,117,669,606,175,678,396,606,134,14,43,633,299,209,607,124,140,686,236,109,340,129,444,559,613,543,354,125,628,84,391,301,114,82,182,499,175,734,579,463,56,25,306,43,96,405,1,46,177,484,443,441,451,693],"error":{"max_abs":96,"max_l1":1824,"max_l2_squared":175104,"max_nonzero":19},"error_distribution":{"bound":96,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":19},"instance_digest":"4406d9ab0931035afc074af3a2239021f361b0f70644aee2e557bf3434a2c12b","instance_id":"lwe_0064","m":147,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":14,"seed_hex":"6a8ea6ce483a97558adcaf5391c2b3de3487ebe4b6780b89f90f0a6963955698"},"n":49,"q":769,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":49,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[953,519,579,120,1217,851,645,787,844,1086,214,917,943,387,780,64,994,384,1213,304,893,283,583,336,792,120,890,469,983,672,1060,932,1082,982,873,443,1017,574,152,131,659,813,374,664,1125,294,354,268,367,319,67,376,1105,96,1132,1121,313,192,785,1161,1189,597,571,981,644,430,1144,248,1164,826,303,1051,927,959,1170,798,578,420,786,915,95],"error":{"max_abs":153,"max_l1":3366,"max_l2_squared":514998,"max_nonzero":22},"error_distribution":{"bound":153,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":22},"instance_digest":"6ff82fa0200acbd35b1cf232059809a09a9a3c5198438aa5384facc6bc396dee","instance_id":"lwe_0065","m":81,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":11,"seed_hex":"2b8c7e674b1b96757597a5257480dd9fbe44d1364dbaab423037d584036f5b33"},"n":27,"q":1229,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":27,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[210,2021,1300,925,1014,20,1453,263,1865,1350,130,1487,258,1910,139,372,1279,539,1699,1913,1446,758,1377,957,1820,834,1590,1026,215,477,539,463,1042,1908,1288,1457,971,1991,984,821,248,460,1051,138,65,81,1293,1495,1182,1016,1762,1630,794,1853,1185,789,593,1970,426,727,369,1168,233,994,129,515,1862,402,1232,213,1724,161,846,618,375,1475,767,1927,824,783,1247,350,787,1064,1460,1703,9,68,761,1556,953,1757,1626,1809,1647,74,1523,83,2044,997,889,1848,668,1283,94,163,808,502,1028,374,383,462,543,12,1746,2026,1314,871,1747,1991,23,643,1856,183,322,1133,1082,1176,218,1876,90,529,1125,422,1532,635,688,430,1046,78,1865,1738,1236,1419,225,821,1957,368,407,969,814,284,729,369,461,436,2,599,244,71,1028,1535,1879,2002,120,808,1254,583,397,877,567,179,1912,1084,112,1335,1414,861,1444,87,1684,916,1246,1534,1775,633,1988,1363,916,1086,146,979,1374,1203,1434,1181,169,360,232,6,2046,1099,754,1443,1812,1995,991,198,620,1028,487,1020,403,1054,1688,1187,917,1189,1072,565,1754,675,119,1935,212,1835,1644,616,1849,1038,1789,2017,410,1142,823,1528,786,29,1434,1780,73,1869,1636,311,414,75,1459,1329,153,1195,1636,988,368,1707,210,871,1850,727,552,1324,356,106,317,575,1472,1135,1763,759,1928,1922,2001,1177,1672,1031,640,186,161,849,1581,1503,1689,904,1675,1506,726,492,238,1331,201,886,1955,1968,1003,1323,1950,1510,52,493,906,1899],"error":{"max_abs":256,"max_l1":6144,"max_l2_squared":1572864,"max_nonzero":24},"error_distribution":{"bound":256,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":24},"instance_digest":"6a6d951c85b965289e2fbdd2e6fdd0396257ba21ccd349268b168f58a9a8aca2","instance_id":"lwe_0066","m":300,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":20,"seed_hex":"e1d05bace555b169ee23a03d1e43ded54fd51e0d9b5665bbcac0ecf83569d85e"},"n":100,"q":2053,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":100,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[1998,263,2219,2844,3981,474,3300,3203,1904,1146,2729,3505,3131,1251,1756,3835,1995,2764,3246,2819,3829,3771,1154,2056,2826,2305,2483,2372,173,2164,984,2414,2316,3892,426,1742,2140,1566,573,2999,2115,3948,1357,3914,3042,2656,1327,3699,2809,1567,1054,2885,2068,2882,287,2571,192,244,1199,3299,763,1753,1747,1056,1753,2772,846,454,1628,2338,1879,2246,848,380,436,995,4082,1754,95,2577,3599,2907,2643,1021,2769,34,2324,103,120,3245,2485,3592,1094,3766,310,3156,229,3846,216,1113,3050,127,2878,2454,1690,3007,209,3467,1459,402,3952,2765,848,2935,216,3995,1168,1981,3471,3344,593,3501,3484,333,3,347,250,2594,3112,2573,1413,4007,3840,2159,2811,1678,207,2481,106,3795,2197,2821,3166,2116,188,3080,2163,1057,2013,2119,3890,97,505,3234,1827,4088,2283,382,645,3789,3641,616,2013,1029,3689,3474,3072,2810,1147,1767,3077,2864,178,3812,1549,808,1389,401,2316,1662,253,3336,344,2531,1608,1423,2411,1439,1471,483,2715,2968,694,2807,2073,3502,591,4069,891,1472,893,1065,2160,2507,3575,1354,636,737,1743,161,2011,1145,255,3389,525,1224,1485,3661,325,2999,2595,2949,1257,2299,319,514,3896,2154,3351,3722,3614,446,3616,4051,961,3835,2489,3485,1271,3883,1678,623,196,302,3787,619,1125,4076,1265,1352,1452,3416,2989,2967,2468,20,2853,2168,3157,2268,208,2921,583,3185,2168,513,515,1745,3320,3077,3244,2384,2422,1114,2385,2456,511,3070,3960,570,1833,527,668,1052,2130,622,2455,1431,2708,2102,181,1238,2041,2056,622,499,1589],"error":{"max_abs":511,"max_l1":15330,"max_l2_squared":7833630,"max_nonzero":30},"error_distribution":{"bound":511,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":30},"instance_digest":"ddfbbf4ef6bde550afd19869669e384eed1e2b792d98bd09d7e7268ee11f4810","instance_id":"lwe_0067","m":297,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":20,"seed_hex":"6a5d22f97b0f08b6e5226511d4160ac818e056a96c4c4d1a2e2e147adb96b11c"},"n":99,"q":4093,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":99,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[123,203,160,220,135,118,203,240,28,222,72,28,53,256,148,62,132,41,101,84,36,153,195,132,212,176,117,221,215,191,210,160,199,31,138,33,182,136,117,156,155,143,189,204,90,144,191,35,78,102,119,54,239,176,120,110,246,237,121,145,60,239,118,252,67,56,244,156,171,21,221,50,107,75,195,82,66,165,41,156,256,146,217,119,68,11,144,162,127,94,64,210,16,151,145,53,236,15,33,184,186,0,58,249,26,94,86,190,162,63,185,145,69,196,86,119,104,2,6,50,171,138,231,93,12,52,116,37,162,98,91,114,153,100,193,25,186,252,153,231,148,154,181,47,62,172,10,66,239,174,84,154,23,215,139,0,121,87,148,61,115,104,135,249,50,242,33,215,109,225,104,37,199,144,119,102,167,28,112,35,179,3,229,10,160,147,239,198,134,103,191,8,51,155,28,247,101,203,90,232,247,103,124,235,122,2,207,146,213,100,185,49,248,240,80,71,223,184,208,230,132,0,211,217,25,117,26,123,110,150,214,147,65,90,160,107,161,248,215,91,161,179,145,87,65,53,74,119,31,98,54,153,24,217,34,188,123,85,27,184,12,54,162,221,54,131,218,146,174,36,123,26,152,114,70,84,233,253,56,110,124,20,1,40,117,156,35,69,142,178,196,219,98,3,185,255,225,86,112,135,215,88,251,45,147,175,230,187,174,33,177,171,67,99,53,214,85,176,126,120,134,144,48,12,74,254,57,89,25,184,80,104,8,148,57,18,84,107,146,234,44,154,244,238,150,255,4,1,23,104,106,8,159,73,71,211,242,39,53,201,110,27,110,145,122,122],"error":{"max_abs":32,"max_l1":1024,"max_l2_squared":32768,"max_nonzero":32},"error_distribution":{"bound":32,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":32},"instance_digest":"01df8eb897c460a73b221a570cc1ad3700f92ffb0cdc77dbf018e5969bdfa898","instance_id":"lwe_0068","m":366,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":23,"seed_hex":"b5f5498892618d71b8fb794f818060090278e84720cddae471335cefc216c24a"},"n":122,"q":257,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":122,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[380,327,649,46,644,5,602,543,439,645,104,124,252,276,136,483,145,459,383,324,268,355,567,741,187,294,573,675,584,677,347,684,322,143,347,443,513,460,243,61,634,322,418,603,66,603,140,437,268,687,758,139,1,126,478,340,102,221,69,364,169,394,747,615,115,499,115,20,467,692,347,557,474,392,507,661,19,440,402,297,421,494,624,404,686,414,530,635,405,260,629,163,137,534,246,250,293,648,311,640,44,344,229,23,215,80,625,405,594,471,577,119,174,733,719,38,110,512,115,480,677,163,328,10,58,597,676,354,705,597,37,68,3,569,52,291,218,382,366,488,3,125,284,150,17,503,451,302,607,206,84,702,379,25,543,729,559,735,368,20,98,1,537,246,546,330,151,470,440,218,714,317,677,113,638,256,189,54,702,125,292,647,542,89,573,465,714,652,39,55,158,509,330,689,287,750,600,445,268,433,334,700,611,423,117,630,421,320,210,430,390,433,90,561,282,507,609,443,536,536,40,74,453,320,195,129,54,571,763,274,565,435,101,120,105,498,328,210,242,356,695,615,497,130,636,178,670,51,489,666,508,428,304,6,52,171,218,437,533,619,256,80,252,360,470,334,230,393,750,587,262,299,444,565,371,675,104,465,318,112,476,462,231,639,569,657,650,711],"error":{"max_abs":96,"max_l1":3168,"max_l2_squared":304128,"max_nonzero":33},"error_distribution":{"bound":96,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":33},"instance_digest":"573cc446d6f5593c6c6ee81cff34dcf0fe0062b754afa57182d9473fdcfad6ff","instance_id":"lwe_0069","m":288,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":20,"seed_hex":"e9d89e28091e439f370f6e6667f76263c1d7035a3068fbfd9c365a8806293f2b"},"n":96,"q":769,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":96,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[983,674,1144,1109,96,780,620,1033,987,673,73,537,1016,155,837,900,1000,660,193,637,676,561,1008,384,815,915,1048,95,1188,817,339,754,177,1130,290,250,873,970,1177,688,1040,674,968,1066,1073,893,606,1007,445,211,616,800,696,927,1160,187,763,224,634,300,195,53,1194,558,670,506,254,1014,587,866,25,552,1069,763,114,858,983,633,630,3,9,386,98,983,591,985,1019,1046,333,323,293,1165,706,334,151,273,250,748,569,248,389,1003,810,1029,1195,310,1020,885,916,755,259,635,436,1057,445,217,246,118,1007,890,347,730,598,462,660,429,790,1016,923,150,1013,869,264,164,273,893,953,669,1032,540,791,1054,528,49,69,299,997,906,944,200,96,981,411,500,1217,423,411,248,376,219,69,955,1024,164,1111,141,1211,838,686,176,419,1087,1207,1013,136,165,649,1035,134,1048,1110,1009,795,868,46,387,344,142,70,645,517,1097,1197,0,76,1203,638,911,43,482,13,1152,44,866,1118,76,367,447,452,361,482,810,162,341,784,367,1189,815,863,399,611,35,187,378,1097,296,1223,423,1162,38,606,766,296,594,236,63,247,954,931,309,176,751,791,763,865,448,874,1014,396,917,279,137,822,444,746,422,390,187,721,987,1159,718,410,435,594,557,326,827,807,235,454,1006,457,813,859,834,925,75,57,311,443,1224,433,632,741,1114,364,290,822,1171,408,426,224,421,1065,889,84,305,626,779,1051,192,1165,1076,1155,626,1164,943,527,275,345,389,942,464,530,125,338,603,151,432,457,291,129,809,184,177,480],"error":{"max_abs":153,"max_l1":5355,"max_l2_squared":819315,"max_nonzero":35},"error_distribution":{"bound":153,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":35},"instance_digest":"283985f8b6b86557767bc607331f2ae414aed702bacb5b64894f80c2504260dc","instance_id":"lwe_0070","m":327,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":21,"seed_hex":"c781f20ffb33401302e90fe3ddd2845bf2bdbb5df09e07b17c4ae9b941039ea2"},"n":109,"q":1229,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":109,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[1063,780,254,1765,571,1256,967,1810,1721,1553,901,1868,1379,1789,937,818,600,509,395,1263,112,1943,1988,1118,455,1370,682,389,1153,1590,698,1475,451,621,48,922,879,694,1600,1853,1184,124,226,912,1588,949,1197,619,1302,1905,198,654,2051,1328,2016,1584,1486,582,849,128,83,1312,1238,851,1456,1724,918,811,1256,711,1456,1211,968,334,1676,2041,219,2036,3,1513,1982,1573,626,1889,548,718,395,1855,680,1798,111,137,1020,976,1688,345,1693,602,1943,1301,596,742,1773,985,1918,1443,103,1194,28,1524,1042,1729,147,403,423,874,1961,758,1179,1813,1716,1768,2011,1537,560,684,1255,333,1776,1126,2025,1061,1984,1405,310,498,1615,1084,1572,989,1167,459,1490,1432,789,1326,128,1768,184,1136,1104,961,1424,1395,1135,1871,1245,849,978,1134,1414,779,494,2008,1358,1771,207,1331,8,12,2000,1536,1336,1314,2021,145,1667,755,587,947,321,1360,15,1289,1118,1337,402,2028,760,1899,367,204,528,1802,1807,1244,827,1947,935,1001,1663,968,759,617,1678,935,1626,1826,920,1555,1958,1258,835,1076,1458,72,1807,1656,273,1219,412,1055,1270,1116,960,1476,1196,1617,1510,1270,387,2032,223,895,1255,1932,1271,1001,1928,1740,365,883,863,414,1623,953,1830,467,1515,812,523,623,1829,1096,1698,1825,860,1619,507,2024,1878,1224,1350,592,1989,1070,1295,1956,1371,837,871,843,920,831,1908,378,1672,1777,2031,441,1607,960,1357,1465,1773,1218,1458,494,1081,543,1495,171,133,1883,373,2042,1342,1621,438,4,58,1979,362,1520,1585,2026,788,1528,192,1930,494,1242,1481,791,117,658,698,1903,489,557,1756,1009,53,1218,941,593,1304,1491,320,35,1720,703,572,824,399,642,689,387,1823,1871,91,1800,165,211,1393,675,2020,1256,1347,1158,1807,1357,1265,1865,205,1420,1574,1708,571,907,1266,270,1478,764,1722,924,1444,18,519,1338,328,1674,2003,1889,1496,655,478,353,257,1707,1017,1572,1059,387],"error":{"max_abs":256,"max_l1":9472,"max_l2_squared":2424832,"max_nonzero":37},"error_distribution":{"bound":256,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":37},"instance_digest":"23f31107e9ea1c612497cb45bb6afa55434d4ea003e8c304d2c3c1f5c166563e","instance_id":"lwe_0071","m":384,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":23,"seed_hex":"6e5e63bf40d024ea22703699c94530eb870ac785088c4c35585b498ba95a62e6"},"n":128,"q":2053,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":128,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[904,3209,1801,2941,3056,2950,3849,483,92,1334,1755,3912,1200,581,665,1364,2069,1507,3416,2116,321,64,967,829,371,1536,761,3597,3303,2151,310,3475,584,3385,2820,1008,625,324,3323,687,3268,955,1855,3495,2678,3594,2911,912,3844,2285,749,3965,893,3028,3458,1491,244,2134,2258,2422,3238,2920,356,2018,3067,2199,214,3535,1780,558,3121,993,3,2476,2996,3154,1873,190,472,3130,3858,1210,3307,1174,1301,3587,865,3530,4067,1718,2937,401,1360,1145,3983,2351,2529,3317,3428,2427,2665,1202,819,335,2322,1626,587,2962,3916,95,2556,1903,182,1966,284,3895,3287,2930,2893,197,4032,276,2745,1338,3860,1923,3774,2427,885,1311,2539,155,1839,1011,2723,3041,87,3748,458,2688,2954,3406,3958,566,2178,3187,1725,50,1815,969,1332,2076,748,3897,1627,2318,2573,3664,2380,3552,621,921,2498,3543,208,1900,3216,968,2844,3019,3367,3500,2543,2690,2785,1940,2756,1515,2466,3128,1399,1046,3039,1974,3370,262,3156,616,253,647,3795,2249,871,2539,1038,1420,3981,2498,452,584,681,3819,1967,3673,1675,844,3000,1659,666,988,2744,3417,616,1562,867,2405,759,3238,3684,1219,3412,3745,1061,1817,2785,2588,1541,1338,3018,2472,1184,676,3783,3675,3214,92,1497,3339,2152,3639,274,288,2487,3232,3951,51,780,3004,1555,1610,1742,684,3532,4041,2020,373,2564,4072,936,2385,1224,547,897,3167,3233,805,226,4075,780,46,241,1296,3783,3232,1790,3064,3279,1909,1410,3449,3683,164,2806,1212,2498,405,3754,3675,782,1535,2171,2362,3851,3122,795,3520,1374,823,3590,288,79,2869,3446,1427,2099,2118,808,3350,3986],"error":{"max_abs":511,"max_l1":19418,"max_l2_squared":9922598,"max_nonzero":38},"error_distribution":{"bound":511,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":38},"instance_digest":"5f06cfca467b3feb55648f8c6b477448e0867a02f46613ec11622e9e50715ef9","instance_id":"lwe_0072","m":309,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":21,"seed_hex":"be0a2b45e704dc75c3d79356d60c2ec4eeafe8d479730fa30fe31b46d8812094"},"n":103,"q":4093,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":103,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[59,76,83,83,92,203,2,91,10,72,255,146,176,74,91,237,243,47,35,75,15,35,158,51,78,86,155,219,133,87,216,154,111,205,164,6,171,241,90,199,189,213,172,68,196,155,44,85,141,211,149,134,31,230,61,249,236,214,183,177,80,254,218,89,109,135,134,41,20,55,53,254,25,2,225,44,18,25,48,109,185,70,211,173,87,41,248,94,102,161,49,11,256,176,182,209,249,25,189,41,22,215,96,216,50,235,98,110,144,214,239,69,57,146,171,243,255,187,17,207,85,206,235,250,14,81,38,33,27,145,211,10,172,1,140,95,35,168,225,13,21,6,208,14,38,216,20,186,167,31,92,214,103,200,212,240,55,104,192,56,236,185,29,193,104,188,19,66,173,222,174,245,222,0,98,24,250,203,163,40,103,201,246,185,120,72,197,116,3,87,224,179,62,12,240,229,124,144,172,85,110,160,137,108,99,141,234,71,106,160,70,201,189,102,100,127,166,73,162,116,95,24,201,9,141,225,79,215,150,220,66,229,63,216,226,213,94,184,194,175,109,96,98,28,223,124,0,68,247,202,125,208,230,59,113,11,246,214,155,189,67,179,12,186,99,245,16,39,228,206,90,62,103,227,86,210,43,241,130,125,196,114,15,140,228,88,99,115,134,162,100,30,78,37,132,171,95,175,127,143,105,58,224,230,59,68,147,137,21,171,112,218,252,218,4,187,5,32,179,121,210,218,224,117,251,130,232,10,0,98,44,66,185,127,156,82,99,114,153,76,166,182,182,92,66,228,229,76,62,236,214,42,231,58,215,222,94,206,48,223],"error":{"max_abs":32,"max_l1":1280,"max_l2_squared":40960,"max_nonzero":40},"error_distribution":{"bound":32,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":40},"instance_digest":"ec07cc16d1412124fb2662c3d4aa46b2b4d13c0985d229f5982459ce71ac1b40","instance_id":"lwe_0073","m":360,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":22,"seed_hex":"68ba16c6f4537392568fcb2bdceb455472abcf3b668d20b5d4d4ffea9ab47a79"},"n":120,"q":257,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":120,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[538,400,738,729,117,403,57,754,665,279,535,81,387,397,361,235,572,144,582,745,64,639,632,580,547,477,471,6,575,609,322,406,706,130,233,14,193,683,700,562,456,717,742,409,257,284,147,53,231,39,292,573,508,83,157,146,596,52,670,570,339,50,380,497,646,730,401,623,186,362,641,293,253,643,573,268,631,132,745,65,496,75,513,488,261,237,518,550,217,555,428,468,241,735,511,515,369,315,661,197,430,183,240,467,484,407,622,520,218,532,608,501,559,144,558,508,412,636,724,742,373,90,672,725,503,56,182,60,225,761,304,393,99,676,671,707,493,630,2,665,118,30,252,438,669,2,411,697,0,420,459,534,467,451,161,180,537,278,746,313,405,141,111,77,12,174,385,535,419,246,103,427,734,202,313,640,405,688,362,575,145,457,595,405,462,689,583,70,390,342,663,302,717,81,289,707,41,678,739,321,123,84,573,276,542,459,763,226,509,527,338,262,110,522,333,234,212,51,300,123,195,215,120,285,594,183,189,470,503,719,582,275,726,725,284,107,15,618,318,586,655,11,34,613,623,732,440,167,471,450,18,703,484,541,179,90,666,89,638,380,363,314,40,360,470,445,653,224,0,764,145,351,480,550,107,456,148,565,633,583,489,667,35,705,692,26,414,303],"error":{"max_abs":96,"max_l1":2496,"max_l2_squared":239616,"max_nonzero":26},"error_distribution":{"bound":96,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":26},"instance_digest":"e3277d977849fd6eaa56bdaeae5261e58bd846130acead61a6f938a54d3bd17c","instance_id":"lwe_0074","m":288,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":20,"seed_hex":"3e934c735ba2d649c189536cb1e2a60ad786daba5463b32e9dad724848407d64"},"n":96,"q":769,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":96,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[999,4,370,1182,1201,668,689,344,801,816,698,689,910,382,417,48,484,481,718,108,1084,1205,263,909,787,345,973,815,1067,935,1142,1133,563,429,512,752,475,994,178,1148,527,1082,614,208,496,28,382,377,85,780,698,963,1190,594,1204,357,914,365,1080,1228,681,726,1155,574,556,128,621,245,227,609,242,845,1044,733,1005,64,521,228,748,583,690,1202,1028,134,166,122,619,1085,755,1018,321,693,847,231,79,356,849,184,877,118,42,659,470,616,316,794,1,964,486,423,763,496,526,120,210,1210,1110,318,1039,166,1162,1198,700,653,1151,575,634,291,923,213,952,841,665,254,101,197,614,636,186,140,866,246,1,718,250,1158,398,357,639,0,935,655,725,475,1212,279,403,636,902,635,115,1133,603,1047,689,190,995,479,436,349,913,720,24,27,825,817,1174,459,1139,578,82,183,506,432,811,557,19,54,224,437,39,368,2,141,60,289,51,179,1089,239,390,72,1067,788,278,980,722,1217,875,509,10,774,932,113,1051,999,861,246,933,693,591,135,1028,828,575,687,1139,299,517,988,716,20,1190,1058,871,343,369,893,412,1210,377,1000,1025,760,1006,348,580,474,979,401,1097,462,1159,1125,649,31,1061,1059,154,492,776,957,1093,340,755,230,381,508,488,1157,314,725,1002,877,1176,1104,396,672,532,445,408,478,563,467,1150,1125,296,907,101,1044,1148,254,825,661,1021,436,555,185,956,118,301,1222,1074,634,1081,217,777,148,695,970,772,159,1198,488,893,736,70,579,934,310,791,573,531,1167,551,362,535,781,33,174],"error":{"max_abs":153,"max_l1":4284,"max_l2_squared":655452,"max_nonzero":28},"error_distribution":{"bound":153,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":28},"instance_digest":"356383805f45715a46ab0b68753eb07395d65f509e0be32c3778bceac3f44b55","instance_id":"lwe_0075","m":330,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":21,"seed_hex":"77b5ca3021bd8bed4c8084dcd7f2bc45a9a9c03153e09f2e67121eb528c76aff"},"n":110,"q":1229,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":110,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[1733,498,1442,1572,722,454,644,367,562,1681,1519,1642,1879,335,730,1816,745,1057,778,290,781,1205,1448,156,1829,1144,327,766,1933,1207,976,1825,1669,977,1222,429,430,1453,1042,1104,1070,1217,1513,1905,1349,1822,1684,989,1617,1026,1263,1461,247,1045,1152,924,1218,1226,941,506,1148,1589,1982,7,403,444,1399,1958,1871,164,1237,688,317,340,866,62,498,1213,1554,1300,596,9,2008,799,301,240,354,1202,1706,528,2009,1921,1220,1035,383,21,176,1751,421,1983,1451,964,1786,1497,656,1496,2024,1531,1530,2051,1481,811,220,1009,1275,1958,1362,2028,998,912,67,341,1656,101,1753,1474,79,10,432,380,717,212,101,1331,1836,426,1049,659,284,2005,1420,982,1656,1914,616,2029,1457,567,1095,2039,1174,741,1467,1758,707,2043,1385,1974,1596,150,1596,971,1144,1841,1252,1772,1170,406,1806,848,1991,585,486,696,1630,1993,1542,1450,1976,427,1880,1728,1830,1179,774,1088,71,1916,924,234,224,1057,496,1170,464,1659,1995,664,775,678,1841,1559,157,2015,341,33,1279,598,1526,987,1755,267,415,275,1672,757,1846,1275,748,1429,1492,140,1543,289,1654,645,1113,1975,724,553,1629,1160,1115,1685,1437,1292,99,1999,701,1176,306,190,1564,1766,1429,706,113,170,281,1017,1472,1928,1057,579,1431,1768,1216,33,1836,1708,308,302,462,1732,1794,246,1562,94,1931,811,224,741,499,483,1624,1899,570,1512,1044,520,1643,541,979,447,1505,1338,1349,105,1886,1587,1464,906,1027,1949,1688,391,495,276,257,1231,584,514,1568,896,1999,197,1499,1379,1405,693,23,669,839,26,838,1519,758,1154,1534,1132,719,565,1432,831,1411,1622,1121,1417,301,1250,1983,1164,766,694,1939,1688,100,915,695,990,247,839,1521,1881,453,1827,85,1668,343,1663,263,2036,210,1290,950,590,1195,1206,922,436,1277,1471,333,1711,1608,1397,861,754,1698,1347,1449,938,57,261,1094,1409,1257,2019,1972,1744,304,716,850,668],"error":{"max_abs":256,"max_l1":7680,"max_l2_squared":1966080,"max_nonzero":30},"error_distribution":{"bound":256,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":30},"instance_digest":"7a322a256ece41a7e333941f2467404db2c1c43b17cc8ef6318c7a16a11a9eb8","instance_id":"lwe_0076","m":384,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":23,"seed_hex":"e82739799f09b29f232eed8f6f9595fe237e978ab420a542944212b954cebf5e"},"n":128,"q":2053,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":128,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[3456,449,866,3328,3041,1031,1391,172,1721,2720,1382,1182,2905,346,2637,2863,2615,3482,582,389,838,2570,1520,2126,2583,1205,749,3846,894,2798,3464,2226,1638,3707,3974,3169,2959,3291,3781,763,1696,2552,392,3482,731,1996,2141,2616,408,3709,2122,1008,489,1718,1360,1223,2385,2000,2637,370,793,1589,583,790,1706,385,2325,2404,2001,1288,2967,3047,2902,3541,2769,2732,672,273,3623,613,2786,1465,1333,1749,3099,1746,3472,965,306,2470,1327,1701,956,530,2156,3768,2104,1875,2431,1218,1256,354,1914,2047,2675,1121,3454,1773,1141,553,3928,728,2297,2072,3909,867,1165,3283,1193,374,1910,3048,1435,2810,1185,2875,97,195,3348,1645,3053,310,1761,1385,997,3433,2426,3502,2770,1469,2903,2835,3110,3684,3546,2515,2840,1428,372,568,788,1273,3897,1687,2143,1529,2741,3070,3103,139,3999,422,1564,460,1192,3494,1518,177,3417,3215,755,560,2730,3675,3860,260,1820,2397,1389,1745,295,572,1005,1612,3197,3614,1043,282,2308,265,1082,1647,746,2278,1065,2919,1853,1264,3014,1221,2402,373,1922,1674,3482,1193,3376,1899,1436,2591,1532,1816,1115,1354,1385,4025,2182,2833,2832,140,2365,83,3498,3655,2653,615,3664,1804,3061,2886,4067,2350,1967,988,2169,668,2085,2406,1673,2284,2854,444,3630,1403,2839,2151,1087,13,2156,2272,3609,151,23,3320,338,3407,2882,3946,922,3192,787,3682,1227,4085,63,3760,2608,612,2812,2871,743,816,1507,2812,3765,3226,1924,2572,3338,112,1025,3432,2832,3973,17,3146,1871,3751],"error":{"max_abs":511,"max_l1":15841,"max_l2_squared":8094751,"max_nonzero":31},"error_distribution":{"bound":511,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":31},"instance_digest":"54350268e03d5c0bf8ca53c9044c16e91ec8d50002eed26feb45928add89a6b0","instance_id":"lwe_0077","m":288,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":20,"seed_hex":"2bd554a64e8e36a5c84c1cac57233819165a0a1ac8b6a17c9b3bc0740df26ffb"},"n":96,"q":4093,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":96,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[223,36,249,101,87,256,151,2,154,226,169,153,173,152,208,192,108,225,155,227,104,9,191,129,83,83,250,181,246,51,71,167,158,178,220,3,114,140,87,24,9,165,78,212,163,5,53,242,157,169,219,198,45,205,85,36,105,7,130,200,130,3,37,100,133,157,83,83,80,175,19,148,241,84,150,162,241,159,62,204,225,139,71,19,15,98,82,179,223,99,52,86,187,122,250,74,28,29,11,144,230,131,205,93,14,46,87,213,129,249,247,40,143,231,224,149,126,213,64,138,194,2,50,40,218,213,150,126,207,13,58,202,134,118,78,78,142,226,159,238,112,34,101,129,212,137,199,32,210,32,159,166,133,196,133,220,210,177,133,73,93,56,75,209,1,116,5,256,12,103,18,158,233,4,65,64,113,161,58,170,108,256,24,159,212,39,147,243,89,83,164,102,19,156,31,31,143,36,241,116,196,203,141,143,168,3,215,179,145,39,69,132,154,74,147,209,17,243,105,18,3,137,237,30,173,43,151,64,82,119,178,33,11,129,112,246,35,112,23,26,193,14,168,22,231,139,159,6,182,18,205,168,173,10,64,232,250,21,190,248,241,201,74,31,20,245,190,6,212,103,214,53,210,256,62,63,204,234,34,228,138,32,151,148,200,29,122,0,110,154,64,231,192,205,61,178,189,4,155,71,32,237,79,159,123,140,31,256,109,81,31,128,22,3,59,52,89,162,201,225,100,165,161,88,167,173,228,45,118,156,148,191,174,182,89,37,198,129,102,250,237,107,209,201,179,235,54,236,109,167,139],"error":{"max_abs":32,"max_l1":1056,"max_l2_squared":33792,"max_nonzero":33},"error_distribution":{"bound":32,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":33},"instance_digest":"97adefbbc4a9c27c10189b74df494548df2c21b561a80116cbaeda5ff48bec5e","instance_id":"lwe_0078","m":351,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":22,"seed_hex":"ea6c21653e686c3d8915516c3d76b7837faa0de290982dd5ad6ace2140610c96"},"n":117,"q":257,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":117,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[584,310,529,280,505,247,756,425,663,722,549,246,486,280,66,203,433,64,679,565,632,596,552,357,412,89,282,486,735,417,126,492,39,27,635,191,359,399,288,178,384,273,86,508,534,747,460,11,755,353,234,164,211,764,600,226,658,454,292,648,476,16,411,76,204,549,14,625,401,437,51,488,251,199,265,435,438,597,571,364,543,92,759,755,594,372,535,652,286,133,183,108,71,711,760,360,736,153,344,314,135,207,666,145,499,587,491,59,221,545,365,280,508,146,143,125,89,101,22,144,446,428,115,36,149,475,45,416,537,543,459,212,633,643,668,445,467,60,53,67,148,286,408,632,184,541,127,38,666,80,522,667,494,648,161,73,626,247,389,268,484,581,38,407,270,33,262,412,735,522,347,313,163,204,527,149,637,623,63,689,549,443,126,291,221,487,273,224,641,305,434,263,189,609,15,345,538,127,173,81,404,42,687,217,663,295,267,337,746,721,370,673,172,181,579,169,244,65,685,475,35,420,609,107,499,179,174,539,480,132,578,98,684,571,370,271,157,227,567,454,600,469,704,634,96,364,56,34,151,61,269,421,520,455,430,472,249,272,90,323,79,611,719,57,631,198,388,190,264,602,746,224,541,269,100,764,479,66,585,452,130,297,738,67,669,695,34,747],"error":{"max_abs":96,"max_l1":3264,"max_l2_squared":313344,"max_nonzero":34},"error_distribution":{"bound":96,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":34},"instance_digest":"6016e35bd17788f745b97a3f2e2ef0c04ae29d8df1c45e3a9499637392cd1099","instance_id":"lwe_0079","m":288,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":20,"seed_hex":"4b36957e1d9fd4d5f71bd2839fe096f91ad8c56f7988cb528ad97c44651a2438"},"n":96,"q":769,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":96,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[15,752,305,1204,101,812,996,8,879,982,647,111,11,1039,582,953,992,1156,1039,150,985,323,134,60,134,396,781,1196,942,549,179,270,122,484,887,732,1053,510,907,159,441,948,966,45,290,364,807,1078,1123,886,759,727,713,733,420,777,510,103,900,286,83,395,513,391,83,289,471,881,695,572,1056,1169,918,787,710,173,1010,133,969,515,396,1146,355,856,1218,681,483,1209,226,483,22,525,713,0,352,394,839,110,974,1176,358,21,667,42,219,1071,669,274,449,827,732,335,699,954,1219,732,736,397,548,1007,346,752,622,360,886,404,67,221,409,1150,996,1189,414,793,652,652,909,393,681,642,158,601,284,910,1125,49,1125,949,331,415,1063,1207,427,74,811,517,208,918,989,525,143,911,460,521,595,221,721,151,403,415,308,2,754,240,848,1095,172,307,897,192,625,1008,814,55,1129,978,182,522,1058,884,396,726,1024,9,1125,893,416,873,1189,873,250,644,1219,21,99,765,659,851,1143,1129,731,413,482,43,388,287,452,435,467,623,314,365,82,629,730,141,517,303,62,1002,292,838,1072,16,269,757,721,351,598,794,650,356,546,1019,1084,1064,1148,444,787,793,698,996,923,834,273,286,376,717,467,982,235,1119,510,166,517,1163,88,679,206,699,732,301,141,1109,25,458,1102,155,698,226,1057,173,632,815,549,38,1013,1108,164,1079,585,1043,682,286,548,478,824,692,42,332,804,1156,1060,821,562,750,666,789,282,599,801,184,1111,872,1051,713,209,809],"error":{"max_abs":153,"max_l1":5508,"max_l2_squared":842724,"max_nonzero":36},"error_distribution":{"bound":153,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":36},"instance_digest":"fbc10756d3fb07358a8735869dfd81da0ebafafa5ded543509564cfea200550c","instance_id":"lwe_0080","m":318,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":21,"seed_hex":"91ca9f8bb0d0205e00c5aea043ede9572e7babf5ae9d8600eb0d4ba9014df807"},"n":106,"q":1229,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":106,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[1305,862,3856,3839,3154,1094,3711,3875,1653,234,628,2689,2138,2384,2395,394,1718,1805,4009,823,710,2875,523,3691,201,2212,849,3156,3851,260,253,1248,732,1233,758,258,271,166,482,2457,1817,3086,244,1057,3773,3455,3632,2534,2886,860,2095,2747,710,2070,3599,2337,455,1048,1741,2777,482,3101,2432,593,3653,2278,3990,1913,3301,2216,2303,591,283,2214,3465,3772,1686,3353,1495,1495,3798,1385,819,2561,3279,1530,3742,3188,3394,2112,3791,3618,1101,4020,3686,1199,2001,1319,500,1329,3756,4033,3285,680,1132,264,2737,1575,1420,3454,3008,4020,3657,1696,3318,2130,2737],"error":{"max_abs":511,"max_l1":5110,"max_l2_squared":2611210,"max_nonzero":10},"error_distribution":{"bound":511,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":10},"instance_digest":"edb8220aca510e0410f40e9afad7a4ee32cf09ee2c68ad73e3371370e5355cd4","instance_id":"lwe_0081","m":117,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":13,"seed_hex":"ff6bec3ac78cee1173602e69546295d31e6ad0cb59a3da669f9aa46d6495baa7"},"n":39,"q":4093,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":39,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[77,119,45,15,195,98,102,210,171,229,155,1,11,104,115,233,214,234,36,2,163,68,1,148,175,209,189,111,256,237,79,156,169,201,255,108,211,23,206,169,85,101,30,156,214,71,66,229,87,186,60,159,63,160,86,30,248,51,15,147,222,156,250,176,150,162,153,18,55,105,117,58,183,31,114,5,12,152,113,232,147],"error":{"max_abs":32,"max_l1":448,"max_l2_squared":14336,"max_nonzero":14},"error_distribution":{"bound":32,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":14},"instance_digest":"327a588a42a4d536aceb83a163e4b7e519ac33cf10aa98e5d38dad028e8583fa","instance_id":"lwe_0082","m":81,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":11,"seed_hex":"dd5cbf58a019fc1850de8ddf8f06dd7c9da8c2972adde834bd6276afb640918d"},"n":27,"q":257,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":27,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[514,452,467,136,477,77,636,687,609,175,768,156,760,118,512,528,253,323,397,197,288,727,129,430,702,327,594,728,633,81,458,459,475,46,534,392,573,593,112,538,426,214,195,505,397,246,412,230,29,84,73,457,81,199,263,450,23,250,75,263,267,342,496,726,526,613,30,21,517,486,416,238,437,187,71,731,4,605,493,528,293,323,725,551,156,410,586,391,282,131,190,639,685,339,218,180,121,618,589,644,99,217,589,86,186,453,426,137,652,485,281,553,541,29,95,580,273,607,188,225,373,44,570,473,170,464,724,691,476,517,375,181,326,46,765,431,247,178,693,79,497,478,246,109,525,760,268,251,377,679,95,551,398,401,673,619,465,730,316,615,495,103,295,337,128,696,731,288,487,249,255,561,662,400,460,184,662,35,530,438,454,451,58,743,586,113,226,196,652,292,224,363,359,689,60,648,135,425,179,306,438,710,22,361,545,643,213,248,212,35,767,462,577,357,116,77,387,105,370,401,547,399,739,767,151],"error":{"max_abs":96,"max_l1":1440,"max_l2_squared":138240,"max_nonzero":15},"error_distribution":{"bound":96,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":15},"instance_digest":"ba10c804fed7cd21a0678444c8bd4df7859488deed1adf1e647e170f4a22026f","instance_id":"lwe_0083","m":225,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":18,"seed_hex":"88eff4e0c085bd8dbd50c4f5351f84946b0642eae6a2c0b80672d90599dc66b7"},"n":75,"q":769,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":75,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[224,395,226,457,870,713,1,299,805,597,693,347,13,788,950,40,1217,452,349,409,610,1000,889,684,650,417,1067,532,1125,681,633,573,56,1081,25,1203,675,414,1134,1210,845,429,1105,391,1222,1121,121,374,1105,603,385,24,633,1111,157,280,1197,947,264,677,539,289,284,696,964,439,952,342,469,159,28,1195,1200,1136,711,351,880,300,765,786,746,606,382,908,1045,666,1040,949,752,1145,417,561,84,165,592,526,832,93,766,203,863,1088,85,580,794,1000,1098,773,736,43,1046,647,321,1133,498,376,94,189,858,993,85,391,412,1201,4,93,94,599,635,630,1088,707,674,499,316,389,1035,455,1073,161,784,470,362,832,288,564,362,772,213,467,578,315,982,1168,507,775,884,630,720,176,552,851,409,383,1158,412,536,194,1074,52,528,85,1013,868],"error":{"max_abs":153,"max_l1":2907,"max_l2_squared":444771,"max_nonzero":19},"error_distribution":{"bound":153,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":19},"instance_digest":"234f7b3abe749b61a285f27a8d1e8108d3e72ea1d9dd2970f06c66cbc58dbf9d","instance_id":"lwe_0084","m":174,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":16,"seed_hex":"578885aae6f5de65f105f2bad6fef8898848409485c39f6a44543b5d08be2335"},"n":58,"q":1229,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":58,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[510,1108,792,443,14,1167,1247,593,1733,125,1130,1633,1795,358,250,1118,666,1785,1843,944,1910,1328,468,2035,1129,958,1502,1945,1033,1596,1281,1315,1858,1732,1975,754,418,1583,1244,362,825,164,351,134,1392,507,1951,6,944,1232,1574,1153,1423,1289,813,1102,1356,39,1405,1910,734,1006,1846,1639,1008,1874,1794,1265,1820,64,544,1160],"error":{"max_abs":256,"max_l1":5632,"max_l2_squared":1441792,"max_nonzero":22},"error_distribution":{"bound":256,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":22},"instance_digest":"5ba37ebbb0480f5138ad8f9a023aa54c7860377e233c51eb4e2b2cda143b33ef","instance_id":"lwe_0085","m":72,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":10,"seed_hex":"56eaba7bc44dc644884ced0f47015617c491dfc7d2c23e382af72450180216fd"},"n":24,"q":2053,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":24,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[1908,344,1611,279,3983,3230,681,1207,2623,2140,1175,87,529,1661,1029,780,848,2326,1787,485,572,540,523,3861,2380,2159,2765,112,213,569,3843,3072,896,3948,109,781,4009,3753,2967,669,3236,498,1469,3212,2344,668,1284,2439,2334,2371,3929,809,2786,3704,3714,429,90,2291,3410,415,2620,3209,3775,3714,3816,33,727,607,605,2991,1284,283,1467,2710,4053,1730,758,1798,1335,1305,3804,2694,3899,2509,2157,3317,591,2015,3227,2329,796,3290,3586,3976,647,1635,1018,3771,901,988,2855,2414,1529,2578,3232],"error":{"max_abs":511,"max_l1":12775,"max_l2_squared":6528025,"max_nonzero":25},"error_distribution":{"bound":511,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":25},"instance_digest":"418a334d4b69d4370c1099311b2ec4b2b52930a20ee1b51fd0a2b7330af2158f","instance_id":"lwe_0086","m":105,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":12,"seed_hex":"e7e855272afc657427542e3d87cd9dfefbe863b1f43d2b1f4820e03b3064427a"},"n":35,"q":4093,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":35,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[65,152,0,74,155,161,224,21,91,19,142,46,222,45,62,111,117,110,54,48,42,137,202,45,100,148,188,74,142,186,76,15,93,81,103,22,134,64,128,139,16,120,214,172,99,145,72,119,57,208,171,194,55,26,22,235,251,5,69,213,235,155,238,143,150,32,157,2,158,126,155,198,248,237,74,35,201,160,235,112,243,52,136,65,115,185,164,164,54,214,234,70,158,239,199,81,129,190,196,227,149,135,125,33,154,221,99,65,193,234,203,73,136,25,238,107,138,163,168,0,33,138,114,248,72,48,102,189,239,217,82,69,29,225,38,5,132,249,191,183,244,192,73,160,132,77,83,170,83,132,82,85,223,220,29,36,181,99,53,163,225,46,2,235,188,43,223,10,218,56,78,212,151,212,106,84,96,4,141,97,29,243,242,242,155,165,122,52,190,254,147,99,123,222,43,206,50,153,10,227,85,169,20,226,122,20,212,145,112,198,41,69,32,38,59,117,55,148,135,171,241,103,30,157,246,183,157,256,142,148,185,93,89,47,220,53,241,191,111,136,164,178,115,256,86,167,75,142,54,21,211,227,193,127,224,192,81,119,243,182,138,245,93,145,45,11,252,152,108,15,132,77,14,76,189,87,240,114,188,0,218,79,215,7,103,255,127,66,4,28,190,18,142,71,116,217,64,24,167,104,95,223,21,49,153,2,149,236,152,212,11,69,139,215,122,103,8,115,29,101,24,54,97,120,227,97,23,150,97,167,35,66,151,45,41,237,34,131,4,189,212,159,224,182,140,246,215,12,242,113,28,80,25,84,142,6,142,67,60,244,198,61,232,1,204,244,171,204,9,199,129,206,235,227,250,215,216,16,59,128,54,8,176,4],"error":{"max_abs":32,"max_l1":1024,"max_l2_squared":32768,"max_nonzero":32},"error_distribution":{"bound":32,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":32},"instance_digest":"e4028eab32a0a2e3f67095e06231995e7647cc19cf0fed19e11106b9e3d72eca","instance_id":"lwe_0087","m":384,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":23,"seed_hex":"df43b9f0fb9c995ac04e1fe2900c3b82dc9be7ffc3d06af6513cebf6c76fe807"},"n":128,"q":257,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":128,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[363,432,250,645,312,718,731,36,297,348,587,459,238,728,144,330,633,352,61,100,399,563,149,722,106,474,129,118,462,385,419,738,59,263,764,462,67,42,275,114,57,208,334,501,223,588,161,83,215,639,207,739,503,361,695,551,350,33,165,63,286,89,280,731,626,447,224,277,602,177,619,625,701,696,482,256,527,494,423,686,193,704,127,48,157,561,209,537,719,364,350,339,386,186,574,78,448,384,649,568,425,305,221,497,662,261,620,427,85,79,29,427,612,675,179,57,36,697,133,597,51,593,311,37,498,709,527,42,668,391,582,713,388,62,460,335,279,411,277,647,224,122,198,244,402,511,649,31,237,392,493,236,734,46,228,196,756,307,592,118,472,575,77,492,472,211,721,342,270,706,210,624,592,701,316,353,755,74,38,116,491,455,324,1,676,25,173,541,639,661,299,716,632,711,466,703,553,135,255,68,161,658,263,407,767,495,199,748,123,66,468,701,431,47,338,265,437,419,628,718,110,314,496,527,2,493,395,754,748,243,567,94,720,279,159,628,473,85,320,159,711,64,247,695,324,266,6,269,551,309,175,149,427,11,646,387,164,415,538,232,256,542,163,248,672,700,102,190,367,526,674,527,437,312,568,517,35,18,165,96,457,600,554,312,267,472,243,739],"error":{"max_abs":96,"max_l1":3168,"max_l2_squared":304128,"max_nonzero":33},"error_distribution":{"bound":96,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":33},"instance_digest":"8a65f5f5691256d4856a4fbb8d87753ae00d1ca0926872ac6dbb3e2589a28ddd","instance_id":"lwe_0088","m":288,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":20,"seed_hex":"2e9603a617a27b933cee78667fbc67490709d4ed5af28ace7b202ce7cd406454"},"n":96,"q":769,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":96,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[735,152,590,443,771,456,111,903,764,1009,302,545,1106,456,771,1109,137,774,555,786,901,637,992,994,811,733,1207,264,369,799,57,775,473,457,612,334,308,892,790,496,848,1117,1048,249,589,677,259,426,855,698,726,424,88,1087,305,298,858,316,1097,782,1205,902,1083,501,567,39,602,185,606,1186,225,107,129,972,722,134,848,874,393,603,724,117,62,1058,452,579,664,1222,923,257,657,662,1194,1104,14,434,183,278,1111,459,697,1042,591,646,814,1041,723,655,258,970,696,771,1146,680,1173,352,1209,655,1190,496,874,750,936,425,645,805,311,809,319,271,70,1021,1143,1148,282,1131,218,564,1065,1222,1206,891,725,810,163,416,637,471,99,380,564,220,64,756,465,450,372,734,929,1228,692,517,372,345,502,976,1,726,310,136,1100,911,280,1155,594,26,550,484,826,913,1121,855,1228,904,1007,403,443,697,1100,1209,90,131,564,545,280,209,734,155,520,833,1133,502,992,311,751,1112,543,698,1118,125,56,741,263,295,1046,140,601,622,60,354,707,496,876,641,238,608,815,182,197,440,809,462,925,751,1104,788,454,787,718,294,503,1168,153,145,1001,863,419,1154,1183,232,508,532,840,8,647,106,111,519,413,266,362,178,378,939,1026,431,252,53,711,342,822,224,267,855,219,824,300,1182,674,133,830,487,801,223,1035,805,1033,674,733,346,894,2,1074,255,96,661,1160,819,1178,441,1033,417,64,581,687,388,1227,1161,856,213,998,66,1028,698,1219,935,1208,9,9,563,675,604,1031,889,70,119,27,506,1104,115,799,1175,1134,865,143,59,663,166,1198,645,109,481],"error":{"max_abs":153,"max_l1":5355,"max_l2_squared":819315,"max_nonzero":35},"error_distribution":{"bound":153,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":35},"instance_digest":"8c3bd6585f72b92e811581c565a53810041d8e6c38b1affb4f22c65b9264fe3e","instance_id":"lwe_0089","m":342,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":22,"seed_hex":"a9dafecb93621698fa322498ab7e67ca93d8c40a24b88b01b6c1ac021a06881e"},"n":114,"q":1229,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":114,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[1716,1292,1238,1351,829,1872,1485,427,1690,27,169,463,71,8,573,1700,796,1888,86,852,1042,1531,1138,542,712,992,1508,1174,324,154,214,38,866,2008,443,976,1267,44,1856,464,1262,1168,187,144,177,1371,828,114,1631,325,1017,1782,416,824,1986,258,1584,1049,74,335,210,2040,1084,1588,2049,404,1018,1890,322,129,355,1773,1525,93,1657,1403,70,1819,856,376,1990,978,1618,1154,937,518,362,1597,35,996,447,131,640,296,878,1905,776,263,1318,694,1443,1820,453,1694,1258,1494,1537,1515,1386,421,496,239,215,1640,162,1506,1350,607,1874,55,1668,1252,1505,1256,51,487,1928,82,159,1457,1853,691,1326,1317,1556,1410,974,1216,493,1280,1861,513,2015,1973,1761,1365,722,1896,1572,117,649,685,1358,2025,1840,456,1013,692,1680,1649,1428,1209,522,1011,656,953,1753,765,457,905,170,1382,1911,1029,718,451,361,89,1381,1956,1459,1945,1448,1197,1558,1741,1922,1251,1642,995,1826,1995,433,723,432,393,1688,2029,1611,1026,176,979,401,548,1267,429,937,182,346,742,563,631,175,1645,454,1572,1564,2026,1733,455,507,157,425,240,2024,258,96,509,1876,547,696,439,1649,1008,1862,1979,386,1934,163,1120,606,748,487,399,237,1201,722,180,800,1664,1436,1522,1048,1863,1844,907,319,1436,1260,968,354,970,403,1018,1318,493,914,658,1556,1483,1252,843,133,1617,349,1814,1513,2006,830,2000,532,15,957,1849,1960,192,1937,1662,502,611,1848,119,1896,423,1093,931,753,633,1031,196,135,1843,736,1648,1933,233,456,1033,1617,303,579,966,1319,1222,1184,827,1638,875,1883,1736,190,24,835,1948,544,974,1480,915,1324,1779,97,1816,1449,122,1529,219,567,876,70,1240,1875,1708,1496,1112,1484,1058,364,1230,682,684,301,282,1182,1875,1237,968,2043,138,1100,1591,560,746,1749,177,2012,579,164,1280,1707,1637,926,211,1576,1849,1104,284,1261,630,1657,765,1332,455,1535,87],"error":{"max_abs":256,"max_l1":9472,"max_l2_squared":2424832,"max_nonzero":37},"error_distribution":{"bound":256,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":37},"instance_digest":"8bf4b6ed3d99a449e7ffdf0af2d4798d1d139eadfd872f0c37a6768e4823848e","instance_id":"lwe_0090","m":384,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":23,"seed_hex":"b8680903fe5106a933a6ac1553a65da2ddf8ab2e92089d6c23cae44608965061"},"n":128,"q":2053,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":128,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[1946,987,1792,76,806,1221,864,168,2784,983,3909,3496,298,2553,2384,3831,1047,1675,1952,331,58,2548,3480,937,1060,360,2932,323,3292,2850,2701,2199,1824,285,2458,287,1123,2205,3812,880,2150,2318,2469,4080,3740,2946,3893,3754,2360,774,3238,946,445,2763,1201,456,3698,576,3897,3778,169,3580,3265,3912,3178,606,239,1898,2085,226,954,2457,325,1143,291,115,1707,3426,2793,2995,3356,3179,1898,3093,920,1301,1687,3056,3349,133,2314,1411,1086,3003,1775,837,2300,2397,3577,3018,1452,2565,2118,1073,880,1154,2597,1319,849,259,3053,1642,1229,3559,448,1634,1096,2867,391,1250,1966,1767,1727,3861,1860,1477,2134,3180,851,2172,3046,2764,3411,694,689,3992,713,848,667,2705,428,2090,1045,3337,93,1078,1096,472,2782,1385,1139,1132,2842,1898,3542,1031,2233,1570,1573,63,3098,973,489,2445,2526,2321,2290,277,1396,3248,3820,546,1393,2131,1630,325,2995,412,3566,1544,1385,596,928,803,115,2101,2179,4032,1436,2359,1768,228,3170,2583,2216,294,1987,451,1907,3778,3120,390,1998,475,3790,162,3296,4061,1719,1756,136,2154,2719,3268,605,323,1767,2512,1417,3539,1602,2313,2093,2182,1998,1393,2150,2702,1981,3911,4022,3087,2411,3643,1087,3238,1512,3597,2937,1343,1014,2743,1306,3733,981,3120,711,182,622,1844,2562,4079,1820,825,1599,2651,1921,697,199,3733,3362,2279,3895,1650,3434,2907,896,2831,2094,1547,1531,2113,2934,404,1776,2460,1040,2325,4016,918,719,2492,2085,2294,1827,1137,1,1859,622,418,573,516,2482,1380,106,719,3842,1350,1906,3413,3001,2516,2430,1459,2809,954,2127,878,1317,3663,1035,2723,3679,3832,1614,2044,1015,1004,3699,3152,715],"error":{"max_abs":511,"max_l1":19418,"max_l2_squared":9922598,"max_nonzero":38},"error_distribution":{"bound":511,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":38},"instance_digest":"3c57aade91de9acdd2f314071bee6a3e0cc17dcefe80decdf71b4f09f2a8140e","instance_id":"lwe_0091","m":321,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":21,"seed_hex":"38a1a975c9fc12de7514da4160efd641a001a32cea0d02736b808860c912d17f"},"n":107,"q":4093,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":107,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[242,14,33,203,245,82,42,87,95,21,97,169,99,37,36,44,32,138,191,188,99,195,8,108,123,172,71,12,113,144,8,187,95,51,239,183,16,114,190,217,21,231,228,187,65,39,104,156,92,172,150,213,68,22,35,250,240,68,59,231,3,102,145,61,219,196,228,147,134,138,127,214,27,241,248,90,155,84,0,118,115,4,177,172,75,108,33,169,195,251,174,7,139,239,33,193,16,230,222,148,41,124,188,167,115,56,170,244,238,37,139,160,242,249,156,46,220,12,205,87,55,191,174,48,120,103,84,74,145,20,114,162,139,173,121,79,71,199,127,27,104,64,255,169,176,21,189,206,186,137,231,187,247,71,240,28,218,104,158,53,153,15,224,227,253,40,174,149,241,111,209,59,172,222,118,49,48,127,221,238,106,189,232,235,17,174,80,51,73,245,56,63,65,209,104,121,165,23,250,160,188,46,123,160,0,187,143,242,73,157,149,140,248,22,145,227,44,93,75,5,253,241,89,32,135,183,8,187,45,190,98,256,102,200,35,256,42,73,85,27,68,237,148,199,134,226,5,203,53,70,110,214,82,29,173,41,222,88,124,15,152,173,76,90,83,30,20,56,2,45,56,192,255,168,243,99,22,132,102,25,31,219,69,221,38,201,51,101,118,75,249,44,107,199,193,75,40,247,93,215,163,100,137,50,74,180,13,254,4,17,225,233,194,181,72,29,225,193,87,124,104,239,36,167,142,93,197,156,20,173,249,33,0,60,107,83,174,184,178,80,227,67,110,9,109,32,216,20,14,198,96,186,10,185,54,230,164,191,172,122,132,81,196,32,181,33,175,26,236,193,214,97],"error":{"max_abs":32,"max_l1":1280,"max_l2_squared":40960,"max_nonzero":40},"error_distribution":{"bound":32,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":40},"instance_digest":"b433bf32fc92df36a1b22cfb95aab367ed442b706926f5feacf84d7c1b95319f","instance_id":"lwe_0092","m":372,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":23,"seed_hex":"c992d28687f1f7625f27bbe05db19fe8a5996addbbcf57373d4318485122ef2f"},"n":124,"q":257,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":124,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[605,190,325,558,595,336,553,551,612,702,475,103,471,502,509,102,485,484,342,200,647,264,367,752,329,370,222,264,183,397,195,228,6,163,419,6,676,443,646,362,339,661,512,720,324,662,334,237,254,616,515,553,212,542,658,55,602,145,714,522,382,432,207,625,458,212,336,306,710,215,298,337,510,628,65,322,521,345,158,550,760,263,629,235,293,752,53,730,441,574,230,449,48,455,559,246,468,655,141,59,765,509,119,218,78,440,180,617,118,680,115,383,288,619,430,75,676,676,412,299,528,359,312,567,183,371,752,470,165,468,754,80,333,492,157,309,578,5,419,15,694,324,632,37,153,168,9,338,753,124,551,385,339,480,619,275,125,589,60,453,210,162,529,452,597,702,282,744,26,434,60,12,179,59,649,394,382,300,301,618,423,106,149,61,589,17,657,459,301,229,438,21,229,297,547,389,533,651,411,480,709,746,67,445,26,121,578,673,645,683,91,260,2,407,612,50,444,643,41,486,275,377,247,709,310,464,447,390,462,96,188,145,127,549,364,600,47,572,12,600,98,484,429,755,419,585,757,104,622,454,120,436,368,562,375,304,509,532,401,133,748,441,651,579,220,86,676,575,327,456,400,503,672,164,78,723,45,128,171,753,523,528,504,677,759,81,136,222],"error":{"max_abs":96,"max_l1":2496,"max_l2_squared":239616,"max_nonzero":26},"error_distribution":{"bound":96,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":26},"instance_digest":"973378852c9ea05101f6a274bc2c11926ebe4012c157786320c020e321daf71f","instance_id":"lwe_0093","m":288,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":20,"seed_hex":"c2502f8d392e766eb99e643747a220e86209b0c9e76d1867801e3e6093e82ab8"},"n":96,"q":769,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":96,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[63,608,674,535,1204,1090,238,451,212,760,664,1227,322,239,999,108,772,1066,577,164,1194,248,65,146,959,64,1019,109,498,182,632,453,293,846,655,341,233,826,730,715,416,66,1103,566,571,729,453,155,787,213,355,86,651,992,805,343,901,206,69,560,1041,889,976,272,2,1215,399,710,686,51,99,1142,1147,796,431,606,588,875,427,472,765,153,616,693,589,1059,46,848,1058,442,269,419,408,773,361,812,196,952,41,1196,398,555,45,338,553,114,294,353,983,1177,1221,206,22,1217,121,858,998,220,100,493,186,668,285,121,536,999,1082,205,350,355,1171,330,370,490,980,423,1162,1005,347,1173,947,1095,512,1181,61,999,32,728,640,725,760,395,1147,455,573,855,400,372,361,51,1009,180,1227,635,1160,987,286,509,627,130,269,555,354,796,976,704,150,495,99,599,714,626,195,235,1000,1027,545,1061,1045,327,281,620,869,1174,1110,410,942,1094,1065,648,166,17,141,67,825,126,177,402,1066,906,245,471,286,502,238,767,483,1079,819,421,839,716,655,335,1027,1086,1175,469,1152,1154,112,1226,1228,929,154,357,467,220,1,23,683,1165,999,698,943,1209,1073,1049,367,587,537,1055,142,703,200,170,326,968,939,440,122,703,203,716,79,1171,975,54,1100,1135,1068,1164,1166,994,998,219,1194,747,24,898,588,338,1150,86,729,693,581,254,364,456,347,1117,1103,590,994,352,774,742,381,142,1042,893,867,693,348,823,200,756,615,1134,786,923,563,3,592,70,104,112,132,582,520,705,842,124,64,476,83,1023,798,221,135,395,70,1092,179,871,57,900,738,10,423,569,427,822,1052,569,555,560,40,394,384,207,314,864],"error":{"max_abs":153,"max_l1":4284,"max_l2_squared":655452,"max_nonzero":28},"error_distribution":{"bound":153,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":28},"instance_digest":"93833e690feb59782c9d3b4877f5d69938de91c938dc251ae1f557bc7d594a93","instance_id":"lwe_0094","m":354,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":22,"seed_hex":"8e87bee607e3a7b610b59c995bf9bb30df2733ec5a3a3c8bb18229ccc384a00a"},"n":118,"q":1229,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":118,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[1703,1127,455,769,1549,497,1128,1078,1149,998,1496,184,307,1818,952,1377,1204,333,346,1709,405,626,1186,1913,1494,1053,1933,192,168,666,844,1148,1124,1401,978,105,1488,1199,802,1005,1856,1980,1513,1105,1459,302,1364,676,1332,53,821,120,548,1405,1542,951,951,420,793,670,744,139,1684,1229,1346,1252,291,1880,206,50,1251,483,1197,1096,1225,1322,919,1604,1710,1619,550,276,49,1252,398,1501,1592,222,670,1247,988,10,1511,1361,1388,1549,1401,573,680,353,1337,1440,1571,1770,713,1952,193,1547,864,1581,990,1836,1563,1598,754,1517,1254,370,476,1669,542,1944,208,1400,1608,262,1506,1663,104,771,1064,2048,44,155,293,1273,89,1325,1469,470,1287,1937,1212,2012,1612,1939,974,415,1279,966,1763,620,611,1232,1265,1595,115,947,747,361,1927,1709,1486,1548,736,289,293,812,1354,1250,786,1941,1819,1922,838,1901,1129,721,1917,596,130,2002,656,1929,746,1295,654,776,137,1853,205,343,969,943,1223,15,14,12,531,440,425,687,810,1791,1141,924,841,436,176,1835,446,1005,443,1644,488,363,1218,2021,1452,1697,1476,1069,326,894,786,1124,263,887,191,145,198,1830,77,1600,538,1028,1019,1814,2019,1846,95,371,795,673,60,748,697,1009,1157,1834,1810,1697,1426,1632,779,1362,161,351,2038,1261,1627,1132,1048,1063,1083,1472,810,979,1518,1489,1572,1194,1950,1873,1362,1912,1264,1866,958,1733,648,666,1452,1476,100,422,1966,97,1898,288,151,642,413,1927,886,733,461,1244,361,815,544,863,599,628,1274,1499,1635,329,359,1415,1621,702,702,691,932,575,1581,1119,1816,1175,93,182,313,566,385,1878,1773,296,634,1643,1427,1823,1386,76,1261,975,1015,40,881,2038,1266,737,1118,2021,499,1593,41,1951,1486,1237,1351,1593,45,214,941,940,1803,948,337,756,1791,1331,1507,1607,46,1539,733,701,1489,82,1572,364,440,222,1109,905,1879,2010,616,1667,1087,630,444,84],"error":{"max_abs":256,"max_l1":7680,"max_l2_squared":1966080,"max_nonzero":30},"error_distribution":{"bound":256,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":30},"instance_digest":"189cb23028a6c5b09b47f8da7035d69ee222af418e687c5c29417f943e8741c1","instance_id":"lwe_0095","m":384,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":23,"seed_hex":"6de4694989b66ab5a7952261c6c8774e2974751da6eac0c4db914c6649cde79b"},"n":128,"q":2053,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":128,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[1435,192,963,2413,125,3903,2009,662,2349,1929,1058,1432,3863,2401,1601,1300,429,2156,2027,1814,2956,3008,1503,2367,3509,2597,2026,364,83,3425,4046,2626,159,3421,1466,3068,205,3156,4014,1608,2544,3391,1169,106,266,625,707,3476,3338,3899,3722,3243,1260,3070,3283,344,1562,2359,287,1258,3963,1668,1959,2905,2970,1033,1066,2795,3520,3072,150,3811,2624,1987,3704,1265,3729,2977,595,3671,2111,1780,2166,3105,2025,1171,1655,1786,746,448,1464,949,2539,3135,192,1341,3942,803,3959,969,1299,1307,1372,1778,1773,1138,1448,1683,3466,1835,2354,1026,2866,1738,3365,972,3812,1941,3980,1338,965,615,3189,4036,2808,1670,1879,200,1782,3773,3023,3603,1717,1462,2457,3487,3006,1906,1295,3467,1394,788,808,1639,373,2057,2976,3644,1993,617,1083,1579,3206,245,2676,1303,2048,3195,1702,2276,2154,720,1553,769,1632,3230,3159,3262,2455,154,2917,3552,1200,2755,3386,2372,328,1517,626,3973,3678,1022,1708,1565,98,3205,2054,2395,3897,730,2002,2182,3717,1334,513,387,1109,1161,2799,1746,3752,1580,260,1442,1507,3156,1144,3284,1896,3171,3303,2738,1999,2123,1478,3518,1004,1157,2305,3551,2076,581,2028,2233,1791,3406,396,2213,3812,4042,3519,2488,4053,3415,1317,3285,1756,1987,3627,439,343,1372,2602,3117,512,1008,852,2574,638,674,285,234,1019,925,2342,1588,3099,2941,1388,3154,3013,2635,1340,1774,3917,1766,3330,4089,3899,1164,1973,1241,3215,1506,3006,3021,3466,2464,421,2092,2352,1419,2508,3714,2013,3768,2553,2366,3499,3237,3378,3290,578,84,1643,2164,2526,150,3366,906,1342,3230,2066],"error":{"max_abs":511,"max_l1":15841,"max_l2_squared":8094751,"max_nonzero":31},"error_distribution":{"bound":511,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":31},"instance_digest":"79d69952b9450f74d2031ba5c7e8df32499376c054c495068e611e3f6a8dd084","instance_id":"lwe_0096","m":303,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":21,"seed_hex":"7f1eab9ce595c4c001884a99e581c8de57b68a82776cce7eeddfada4f90703cf"},"n":101,"q":4093,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":101,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[204,59,18,255,254,128,173,83,183,120,39,9,217,193,50,43,21,190,240,89,69,241,144,96,224,67,76,167,249,115,242,10,181,141,37,46,110,214,64,85,43,49,62,125,114,247,142,130,227,26,184,187,214,221,181,164,2,3,96,172,170,63,38,21,71,171,162,34,101,196,17,116,211,19,107,249,245,172,48,118,190,22,125,78,228,135,210,46,7,107,173,249,168,201,132,149,182,103,130,161,63,176,50,232,165,179,164,128,94,13,106,21,202,85,189,103,178,131,213,43,240,83,26,134,242,34,146,52,23,91,49,214,216,170,197,47,248,222,186,254,224,58,34,150,220,77,131,209,46,85,80,237,133,210,9,158,230,55,215,4,59,22,240,102,245,39,177,49,229,105,0,202,196,114,59,201,207,53,62,195,178,222,243,53,56,166,175,228,49,141,204,177,102,105,126,45,136,131,46,189,211,208,11,61,117,95,52,160,227,17,38,249,175,239,16,35,167,244,135,152,64,187,253,98,22,29,151,21,131,105,6,181,226,129,22,5,135,225,249,189,37,115,100,158,182,51,97,68,229,221,213,198,61,160,165,69,194,251,119,224,36,30,152,91,211,243,167,183,13,72,153,214,154,174,50,217,156,241,219,92,254,222,198,242,53,137,158,126,54,182,196,17,12,73,12,239,17,237,213,253,29,64,247,94,142,223,65,85,212,181,102,175,214,238,87,77,83,109,221,151,53,177,167,229,143,231,157,250,182,88,57,92,84,87,51,125,12,20,33,198,29,197,6,162,23,69,172,238,157,22,68,151,133,112,37,158,162,16,43,130,233,84,62,124,191,74,108,70,249],"error":{"max_abs":32,"max_l1":1056,"max_l2_squared":33792,"max_nonzero":33},"error_distribution":{"bound":32,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":33},"instance_digest":"c72dd5b7c1d56745eb6da2b931b21a6fe4e7ffaa30d0b1a607a31fda79f860bf","instance_id":"lwe_0097","m":369,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":23,"seed_hex":"c2b0f67ad0e16fb1940107697f0a4d675e59d47228b87c215c232c14e3a69dd8"},"n":123,"q":257,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":123,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[161,129,455,148,458,691,607,587,183,498,511,151,230,516,401,92,127,650,586,85,475,2,606,425,507,554,179,380,206,493,627,165,120,693,199,221,759,312,253,691,268,269,757,532,357,672,280,93,92,574,71,280,596,349,493,209,149,69,323,502,681,464,471,698,231,611,761,98,569,272,711,252,532,58,58,116,230,133,167,719,48,415,473,469,422,479,226,543,222,63,656,156,358,100,399,206,686,550,440,272,183,554,434,628,312,0,514,259,740,49,507,494,763,733,727,623,539,172,581,544,62,103,178,37,638,524,567,159,172,695,445,673,640,555,456,170,253,177,100,403,520,121,366,189,723,343,255,718,61,121,145,30,291,185,532,624,58,347,545,575,635,164,521,630,237,682,424,370,710,172,631,262,458,633,558,324,441,411,736,514,534,174,745,480,474,227,732,377,72,383,4,21,179,738,82,450,548,382,525,587,199,594,246,767,651,718,477,634,637,743,272,685,575,765,132,398,219,147,669,407,756,235,101,84,280,702,155,207,545,84,423,339,307,683,592,330,53,401,715,697,640,208,446,616,376,48,250,386,562,203,602,25,678,14,39,316,53,72,706,319,89,539,738,568,383,434,529,687,135,366,343,650,385,395,412,633,536,753,137,615,77,46,729,208,549,96,682,372],"error":{"max_abs":96,"max_l1":3264,"max_l2_squared":313344,"max_nonzero":34},"error_distribution":{"bound":96,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":34},"instance_digest":"c97a24832de9b6a40d3e4b77b5744a42d33884a470ed7c090326a9f23796749b","instance_id":"lwe_0098","m":288,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":20,"seed_hex":"b2c512282e6a65518fd61fb0a6843f46027de637db97a97c964a152dee09a247"},"n":96,"q":769,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":96,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[899,406,832,939,317,1025,9,703,1059,166,76,518,1204,507,12,714,1224,125,572,618,578,1065,993,982,1169,1221,1122,559,351,61,420,643,178,595,478,933,566,550,232,649,212,759,327,1069,760,874,717,84,14,527,340,699,897,803,55,732,1037,1148,478,739,875,385,1024,132,506,1162,604,1216,289,577,1058,789,1022,578,132,436,98,29,251,652,310,408,218,783,1125,809,1015,830,1080,425,1096,228,1158,1068,611,801,592,1054,300,675,179,579,175,260,1117,40,485,1040,467,997,1132,240,43,321,1201,24,26,1169,1227,773,699,724,32,1214,633,149,304,1125,1123,479,248,337,495,735,405,118,738,362,349,1083,27,426,899,1030,1174,660,529,1154,1025,1128,114,1060,233,570,69,558,474,681,200,1117,809,649,918,580,96,361,452,38,480,1017,28,664,752,505,397,282,400,887,1214,1031,26,436,988,672,923,1019,782,886,1179,170,466,873,1134,452,853,66,1201,1142,919,382,670,440,1123,343,175,738,181,448,804,610,886,33,95,1089,557,255,1053,835,59,1228,196,96,186,112,944,1092,669,113,516,473,821,858,214,183,139,638,185,1225,204,177,515,920,84,398,977,384,439,1076,660,462,175,911,526,189,889,135,1202,400,790,732,857,841,1089,144,312,609,1109,748,141,323,1011,363,254,797,915,1080,788,790,889,52,1224,247,716,290,1115,673,1223,1125,435,3,1034,356,127,120,1184,621,898,311,397,1091,1083,794,658,1149,680,1065,954,937,203,769,753,1189,970,1119,11,505,1055,465,667,111,340,486,1112,619,336,129,326,505,727,671,359,955,596],"error":{"max_abs":153,"max_l1":5508,"max_l2_squared":842724,"max_nonzero":36},"error_distribution":{"bound":153,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":36},"instance_digest":"e77837f41ce5f3d087c2c3c4785bb69794fec213cb4878b2e7ba5fcf3b58227d","instance_id":"lwe_0099","m":333,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":22,"seed_hex":"3920e600bc9fd4060c792f56b7ae0f19ae54fdf2b73316439ad159aabf15e241"},"n":111,"q":1229,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":111,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[1358,1211,1980,341,1417,1507,1954,560,1193,749,1618,323,1477,1746,354,459,952,37,1319,231,325,1410,1942,506,74,1804,340,1004,847,1986,1804,711,1992,1767,213,1448,851,2029,2031,1989,1592,1069,216,1789,368,634,451,921,1568,1285,699,2047,272,102,1871,1984,1719,1005,287,639,934,1441,1870,1010,1843,1416,385,1931,648,1690,343,1592,965,1414,657,492,478,1118,117,1469,396,376,68,661,511,592,1936,822,412,1945,1471,664,391,609,988,951,1779,1589,1394,1456,837,111,391,1510,579,241,1893,1508,1237,646,514,578,1428,296,1781,73,1173,226,1978,1321,1849,1579,366,1438,41,132,92,347,571,1782,40,351,43,1276,127,414,497,1503,254,132,1427,1730,1161,1243,1349,155,1032,584,1301,522,1242,1937,355,1384,924,62,413,848,1669,1868,1322,1461,941,1418,44,862,190,1343,892,1489,1234,507,1441,1360,1253,1001,443,1021,819,1976,1169,361,389,1921,184,1164,1866,613,1517,50,308,1926,1041,1984,541,1664,103,1511,1414,89,2,951,405,886,1417,2014,423,1687,1696,1809,1869,826,1590,1219,1622,2010,1937,1527,334,174,942,1644,503,1546,1552,1471,995,784,81,718,1381,1315,455,1797,58,991,829,530,565,937,922,1642,1716,3,94,477,257,720,825,1758,1333,2023,595,2017,1761,1638,1958,842,1939,1795,330,922,1905,500,461,1616,1721,1966,507,421,1570,493,368,1821,349,996,1695,1406,1980,1727,27,910,505,1414,727,914,486,573],"error":{"max_abs":256,"max_l1":9472,"max_l2_squared":2424832,"max_nonzero":37},"error_distribution":{"bound":256,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":37},"instance_digest":"b3ca64f86e4b3482a09b7f3b0e95e04edddc9553f552c058f814687ff803c38c","instance_id":"lwe_0100","m":288,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":20,"seed_hex":"7732d04059eda4a9ac283d68bfaf5fde88b127659b02eb00d143d64083148348"},"n":96,"q":2053,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":96,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[221,83,201,126,217,253,239,250,222,121,255,213,250,101,37,143,169,2,174,244,55,136,4,178,194,182,204,203,110,125,254,108,27,189,130,73,177,154,163,255,95,116,222,135,37,178,143,145,13,195,131,186,122,220,117,164,205,13,228,155,84,206,119,191,195,99,161,19,74,255,235,249,62,146,5,224,118,135,61,60,189,232,170,166,113,222,231,7,174,233,122,115,156,18,35,123,143,92,53,213,196,108,227,72,174,25,117,164,130,141,19,145,202,188,131,227,18,29,134,229,193,253,76,67,252,153,236,226,5,106,153,17,220,33,69,15,76,205,192,42,133,127,46,199,189,139,107,185,148,23,161,80,54,36,165,82,34,45,41,173,152,168,238,97,155,38,119,104,224,100,165,140,201,253,22,104,40,30,157,29,71,136,112,177,7,161,173,172,78,119,122,21,2,59,103,182,84,143,95,44,25,159,230,223,65,240,209,30,145,25,237,198,46,149,57,7,190,60,172,16,68,124,225,44,51,33,28,68,21,108,43,219,176,205,21,206,252,140,8,99,72,202,34,96,140,254,158,204,174,69,128,189,26,74,224,239,13,18,121,54,70,46,34,84,80,101,133,170,168,22,73,117,140,63,68,248,123,132,233,151,218,123,119,199,55,92,60,112,8,37,219,133,131,15,174,242,66,141,49,29,164,158,78,88,53,7,34,226,112,9,236,207,141,20,238,155,79,142,11,4,152,174,11,157],"error":{"max_abs":32,"max_l1":224,"max_l2_squared":7168,"max_nonzero":7},"error_distribution":{"bound":32,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":7},"instance_digest":"d5be7365d7d8ed3c4f24ab24352896fd1d16da47622cc2ccf253df7381f6aa45","instance_id":"lwe_0101","m":324,"matrix":{"alphabet":[0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"5804607aa620af7929e92df1962533c0f027a8647e366271c7f9665b38341585"},"n":108,"q":257,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":108,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[394,94,97,19,91,140,339,445,27,700,606,202,42,491,719,504,448,489,392,218,768,715,243,702,442,120,356,505,725,718,374,538,492,655,554,362,55,185,323,43,100,509,13,661,230,30,373,566,310,531,471,768,735,242,743,105,520,333,119,559,405,466,591,284,519,742,125,539,68,663,276,756,561,65,489,301,574,141,476,272,19,742,635,143,553,64,4,120,181,616,639,515,642,652,245,512,530,604,697,574,203,521,767,505,111,224,568,652,765,39,729,86,200,379,334,615,100,537,5,403,318,308,111,490,575,418,41,403,11,55,653,524,216,130,297,483,482,163,216,538,51,385,391,252,475,125,505,181,7,481],"error":{"max_abs":96,"max_l1":1248,"max_l2_squared":119808,"max_nonzero":13},"error_distribution":{"bound":96,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":13},"instance_digest":"dec9c4e9f44a1bb413d0183158c0a0a21a8c99a8bc6e33f40299709839823c47","instance_id":"lwe_0102","m":150,"matrix":{"alphabet":[0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"a31945587faa8894f7344c813697a2a5f6bd79bc8f21ea5d6057031525f2d085"},"n":50,"q":769,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":50,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[123,600,1224,134,886,1096,49,1076,498,1212,167,624,768,1053,820,987,518,409,120,1159,648,79,212,1097,652,122,831,406,622,669,621,577,241,331,585,470,296,906,1021,2,1112,244,694,11,786,760,616,991,807,111,22,258,32,680,634,145,252,483,1172,359,111,865,922,845,717,170,1063,1101,704,885,168,242,46,1123,158,368,55,970,337,230,212,951,432,852,868,899,767,179,1131,708,1120,106,353,73,896,875,625,572,1118,885,922,971,397,737,908,772,991,27,939,863,969,992,1189,1029,714,36,667,123,859,584,1015,15,1097,553,757,1225,764,389,94,1010,666,376,754,675,1122,805,1063,983,76,798,65,417,500,1108,900,919,196,140,659,34,971,1176,1191,329,983,487,774,170,678,701,941,244,389,672,647,131,769,1216,980,1160,732,418,929,527,277,464,510,927,832,1052,752,225,807,420,277,418,810,295,623,31,815,387,1201,438,947,1074,742,132,185,277,17,522,1093,968,517,786,950,646,1192,397,758,452,463,430,736,788,682,41,262,263,325,850,1129,551,787,355,1212,357,1029,865,622,890,1068,894,845,855,1222,1038,1122,1077,408,1014,854,246,491,1030,309,237,1214,195,233,354,1119,591,1199,608,1021,711,392,530,184,91,204,1141,665,644,1118,198,1095,392,540,1124,732,957,246,226,164,1175,95,477,334,255,305,898,251,126,367,1198,374,492,1077,298,340,855,813,349,232,1019,1221,1186,683,143,78,532,1082,631,664,430,1185,113,140,572,1168,1075,724,132,455,1187,265,808,357,1086,494,535,1182,852,1226,1157,393,777,737,75,151,282,503,1117,817,157,48,740,160,1209,478,485,972,18,168,358],"error":{"max_abs":153,"max_l1":2142,"max_l2_squared":327726,"max_nonzero":14},"error_distribution":{"bound":153,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":14},"instance_digest":"5f46cb3ebe1b60902ef192deab6598fe7f034c9c6ae628aa19ded88a95c478d6","instance_id":"lwe_0103","m":348,"matrix":{"alphabet":[0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"def418b55c39a5ab54022261270501910bff2695f5b63d3f88254d5c728716d3"},"n":116,"q":1229,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":116,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[883,1997,1227,524,442,1086,1716,739,1013,1939,115,1036,1108,2,1327,41,1835,61,1357,400,1972,1351,185,1068,353,527,1111,1203,1727,349,0,562,1311,1590,725,1083,1383,1135,363,847,936,2023,706,1998,470,786,41,1363,1122,727,807,70,1774,1415,7,1645,870,1866,873,1791,294,1293,1,983,1610,1332,1229,1061,69,41,20,317,582,498,1674,1320,554,1068,1046,491,1904,1054,356,1515,1838,1410,986,1534,1106,1220,1178,1075,1858,885,2035,1828,1571,1973,1857,1382,997,1376,895,995,1506,1440,847,1960,335,1474,830,29,1770,474,709,70,1655,196,1239,1768,1090,20,1338,174,219,1855,1938,40,123,679,456,453,1031,1016,877,388,1207,272,1686,1381,1645,1293,652,225,978,1291,349,2014,528,180,420,605,721,544,1376,116,1153,1037,1212,372,1239,792,1925,723,736,86,846,1475,1695,686,551,1586,1995,471,833,4,80,463,201,1131,849,522,126,947,150,674,903,1333,911,1249,260,1420,1243,910,192,1749,909,704,195,995,848],"error":{"max_abs":256,"max_l1":4864,"max_l2_squared":1245184,"max_nonzero":19},"error_distribution":{"bound":256,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":19},"instance_digest":"f46dbc99d2d2e1ae03a522b74056ff17a032be5a717b9cd60eab3812264319f0","instance_id":"lwe_0104","m":201,"matrix":{"alphabet":[0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"95e63bea0025b4e5a878be188ecdf1e01eede964f2b4b95bcda14ae3a44a12a8"},"n":67,"q":2053,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":67,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[3370,1167,3346,2066,1739,1275,1491,1427,649,186,578,907,135,2017,1520,2345,2418,3871,3833,2167,3191,174,2937,3500,2513,2186,470,4056,443,3805,2623,3468,1267,2567,3327,2065,3691,920,148,1612,2454,692,3189,3317,3353,1992,325,133,434,1353,2259,3976,832,2940,3599,1817,86,4010,2078,3872,169,1420,2688,3462,3995,3251,2172,528,2382,174,2212,396,4043,3016,2160,1447,3669,626,1470,1492,221,791,3821,1332,2868,2883,317,3465,4034,1421,1415,3999,1813,1315,2375,2236,3404,3501,3737,1830,3304,183,288,3091,3186,3397,253,1944,2955,1045,3635,3417,2406,2985,3945,241,1932,357,2559,3545,2599,2235,3440,1201,2077,2690,1030,270,2741,969,71,2699,1871,642,3406,475,1406,3335,993,2756,1216,2013,4070,3744,2139,3214,3079,2651,3262,2216,1823,3760,1321,1545,2035,1609,1476,1231,2491,1766,2911,2304,3730,1126,387,3296,504,3742,414,3795,458,3165,361,2698,3269,1977,4001,3084,330,3590,3743,2587,3497,3971,2561,210,2400,2887,852,814,2676,1357,2175,20,3702,1063,3827,2013,1500,2992,2435,2994,936,240,3147,1158,2992,1273,3431,2367,2736,2749,3232,1212,463,1832,3391,2575,3636,1382,1330,130,3654,3644,1952,3316,3634,733,2333,673,1220,3999,1872,1762],"error":{"max_abs":511,"max_l1":11242,"max_l2_squared":5744662,"max_nonzero":22},"error_distribution":{"bound":511,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":22},"instance_digest":"bffd2b6d62b0b0a32e43c1f09cbcb085e3ae7f5630825e076739f8125bdd9acc","instance_id":"lwe_0105","m":234,"matrix":{"alphabet":[0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"0eb2e2581b589e6740cb689c6e55caeb1b873928ac7209368d695fa370bb699d"},"n":78,"q":4093,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":78,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[49,19,72,161,204,246,56,20,255,180,86,104,132,42,251,148,37,128,23,50,176,137,68,58,248,23,70,28,207,204,196,103,74,93,225,176,98,252,251,138,182,54,119,3,149,51,87,7,57,224,88,121,8,79,177,75,50,239,221,68,171,99,240,228,210,5,108,140,36,185,245,37,181,88,62,8,74,79,147,143,82,177,188,218,78,175,241,192,56,245,238,30,49,71,197,103,193,38,121,189,179,122,192,202,95,210,230,207,247,15,183,120,86,209,100,180,123,4,227,152,43,13,129,56,86,119,52,133,114,228,165,36],"error":{"max_abs":32,"max_l1":736,"max_l2_squared":23552,"max_nonzero":23},"error_distribution":{"bound":32,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":23},"instance_digest":"c0d7d723308f25f63ec3c4416891ef668b03549dd53771b5f63a7914c610c679","instance_id":"lwe_0106","m":132,"matrix":{"alphabet":[0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"ed07db9216c4100d44cc2d3954bcaf48cd942dc0866ee0adead5bcdca0091ab7"},"n":44,"q":257,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":44,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[231,659,50,635,193,643,592,88,303,590,176,97,545,437,414,501,628,190,396,353,577,120,461,702,34,419,155,561,512,84,178,415,170,766,408,305,26,499,575,163,316,588,320,200,400,155,130,185,411,642,467,255,340,186,273,422,409,164,278,187,387,378,361,620,225,329,123,166,442,541,626,5,481,448,661,678,626,61,570,237,466,37,603,536,138,112,609,466,415,171,209,164,653,448,684,73,21,75,596,387,361,726,541,177,38,522,745,634,734,45,37,132,709,325,301,153,628,544,182,298,10,733,439,672,265,740,157,118,698,631,428,32,107,91,727,299,298,427,735,272,114,571,109,383,434,277,382,248,730,628,648,146,252,506,752,762,566,419,253,405,549,417,694,225,74,396,325,751,270,641,470,107,610,129,50,103,277,182,479,318,55,201,601,481,414,315,557,741,626,374,320,101,365,527,664,213,270,675,409,582,612,315,656,477,258,151,735,268,195,185,160,500,292,126,193,404,429,113,88,361,679,583,746,149,181,370,203,457,378,670,336,491,635,401,476,718,376,401,480,635,378,591,409,583,681,556,706,430,559,454,88,477,282,362,669,135,290,394,503,407,77,760,730,576,106,609,162,160,357,15,111,267,456,100,767,621,15,347,192,34,581,440,407,329,573,373,63,288,145,560,452,1,63,414,130,574,102,67,304,603],"error":{"max_abs":96,"max_l1":3168,"max_l2_squared":304128,"max_nonzero":33},"error_distribution":{"bound":96,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":33},"instance_digest":"075af6b146a38bd46faeb0363018286cbb24e35d625ba361f087aa00af4d457a","instance_id":"lwe_0107","m":300,"matrix":{"alphabet":[0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"89e5457c2313ed991f833376756ab83817bc9aceb7d3bbac22d335e5e5324157"},"n":100,"q":769,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":100,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[329,954,149,1171,823,889,314,543,875,325,231,365,177,300,553,502,425,646,1114,346,1104,634,459,948,994,433,336,52,397,47,69,1098,134,730,496,217,134,932,994,565,1190,243,745,1108,914,760,160,598,754,1094,257,490,705,528,359,777,1063,1122,150,419,743,385,961,1104,469,814,16,140,645,865,761,37,1103,521,311,120,270,96,894,710,1206,919,308,963,36,441,1180,773,467,196,576,577,469,278,740,267,490,827,753,983,208,454,896,1075,877,1173,1127,817,287,285,175,336,650,1133,393,235,712,703,16,808,541,1008,1161,804,129,1130,297,307,940,340,486,744,1094,741,1130,186,285,881,80,293,1106,1065,848,109,571,634,832,496,702,188,281,831,1207,416,1066,827,329,1064,71,303,942,865,971,619,1169,53,59,1156,895,491,616,184,51,279,912,78,744,86,270,958,959,856,118,24,1063,498,541,61,518,768,122,76,98,714,23,740,681,468,88,121,560,729,107,954,10,949,995,0,163,830,489,777,126,1169,498,35,1100,276,1127,111,215,82,920,346,373,184,592,290,956,800,1152,1138,483,609,1075,490,470,55,25,1202,246,580,1070,712,742,399,400,610,180,475,398,1159,29,1029,566,817,712,874,399,480,785,773,610,204,725,1112,558,930,911,592,385,865,107,672,594,992,660,944,539,1021,449,562,1029,875,1060,631,324,1059,751,800,376,697,1034,968,935,227,396,1197,653,895,208,552,283,111,595,703,634,1183,424,154,758,749,1061,1099,588,823,450,855,1111,338,374,483,965,904,1178,436,495,1101,154,111,780,384,259,1158,593,167,686,156,456,396,252,779,362,837,241,382,85,670,56,409,167,871,379,861,912,400,645,522,54,652],"error":{"max_abs":153,"max_l1":5355,"max_l2_squared":819315,"max_nonzero":35},"error_distribution":{"bound":153,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":35},"instance_digest":"167e76b44ce06be79d7ec58fdc82dc6cf4114c5e5c9df8b2daefb1e48dbf40b1","instance_id":"lwe_0108","m":360,"matrix":{"alphabet":[0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"3487a174f2618020103d53318747ae92bd497000460bc350a9484462a8ba8c8a"},"n":120,"q":1229,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":120,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[367,574,1732,615,1886,1426,1625,1954,799,173,559,824,1907,1585,885,1655,1559,227,1908,857,893,871,142,1364,945,1398,1355,1685,1039,1887,450,1016,300,1521,783,176,1432,1302,1305,967,840,1996,1015,11,1379,238,508,156,1381,1826,232,545,1154,1720,671,672,923,330,575,68,476,35,1278,1603,698,415,576,1882,1125,96,1911,906,849,287,138,1532,783,1005,616,1257,635,149,381,1429,740,400,1953,309,111,1217,480,696,185,363,1412,1572,1239,1305,313,1225,1748,417,1933,304,444,244,1976,856,303,1179,2011,600,480,562,131,1848,769,1814,1747,394,1796,329,2045,1971,698,583,1765,447,361,1915,958,129,673,281,1721,1314,1582,1836,1806,1026,1704,18,1699,346,770,2005,1784,220,1394,913,1207,1363,349,1096,1467,74,2046,186,1968,737,81,586,736,1252,1782,318,143,878,246,1714,701,460,635,702,1547,152,938,1552,443,396,1195,1167,1706,353,194,390,1398,1154,1498,1637,1083,1394,620,574,650,1186,1863,1102,1182,1441,1485,293,1994,1196,1098,1096,1644,1041,1222,254,1509,304,1196,31,659,1998,969,1283,1760,195,377,397,1104,1454,1176,1896,1789,224,315,1578,1374,786,1770,1072,1929,254,781,360,468,1336,1141,380,1812,800,1287,1948,1350,221,408,649,134,1778,167,2048,561,310,1243,1515,1810,1507,1507,1231,585,273,1777,1734,1641,979,1912,2015,1319,963,2018,1727,1818,1249,1984,816,213,1970,1656,1567,1865,1111,975,737,575,226],"error":{"max_abs":256,"max_l1":9216,"max_l2_squared":2359296,"max_nonzero":36},"error_distribution":{"bound":256,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":36},"instance_digest":"8b3b457b5c578e73acdbd37c74422f52bdeb96f5b5ce96c167d2606c3d0577a5","instance_id":"lwe_0109","m":288,"matrix":{"alphabet":[0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"04eeb078a4a8858ca13dcb788a05ccbf043573f9f1e9bde20543cc7eeb44b442"},"n":96,"q":2053,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":96,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[1929,3120,3958,434,2858,1408,1980,542,2989,2802,336,1558,311,1103,3283,2306,2775,687,307,692,3414,2856,2386,2147,1230,3040,4024,1888,375,2023,3501,2741,932,2529,66,544,2763,1772,3401,1567,3079,753,2691,2843,2474,836,3919,3085,2427,3066,382,571,1597,1090,1798,3545,2202,2145,298,4009,2450,3831,3743,3326,1370,1487,304,3942,3085,20,1744,3689,1863,2952,20,3018,1170,1902,3661,726,3747,918,2437,1462,1458,3851,2400,367,2561,3519,3192,3588,1914,4069,1546,355,1413,1228,1169,2630,2561,3830,804,4042,1554,3619,3467,1707,2521,3673,3736,3753,144,1441,1825,3024,4044,3305,2529,3165,2842,586,632,2070,3551,3893,3402,2422,3837,3298,1901,6,2477,816,1684,2846,2183,946,2570,129,439,3980,3697,223,3326,3822,3144,840,178,3023,3875,4035,2659,639,1149,3508,3494,268,427,2711,1089,3655,2792,2756,1095,200,3774,2595,1515,2276,2515,104,316,1406,2717,94,96,3319,3449,3500,431,767,3982,251,2329,538,1341,24,2975,758,1809,2660,1717,1370,1039,2699,132,2811,3052,1351,1263,1497,553,2920,3839,2170,591,604,2672,975,3351,3885,342,1359,1,916,90,3027,1787,2212,3787,3838,1356,1239,1702,3743,2917,414,3830,3575,3141,358,3700,1396,3723,2500,268,2191,3310,2214,594,1663,3314,1657,0,2438,3739,1701,3233,3750,529,3929,3499,871,2538,3524,3316,3179,810,3183,3570,3790,1238,1335,1046,1788,2660,3617,1178,1792,3453,2076,3161,633,2080,2222,2577,2117,1072,3012,1314,2371,37,319,1547,1757,3169,4051,289,1055,871,1241,2045,3348,1801,1403,2292,421,2368,2307,1488,107,205,1802,3482,3982,366,3568,1401,3801,1518,297,2507,1392,1145,122,2475,1750,370,3631,2731,123,219,1164,677,1602,526,407,2980,2936,3759,365,3794],"error":{"max_abs":511,"max_l1":19418,"max_l2_squared":9922598,"max_nonzero":38},"error_distribution":{"bound":511,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":38},"instance_digest":"64f4a2f18af8a10f0c650190b659233d406a9b21625a85187234fabefebd19a7","instance_id":"lwe_0110","m":333,"matrix":{"alphabet":[0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"01325047b969a0e1419b56ba838254f0777b35fefe65a14949bb5903bec87543"},"n":111,"q":4093,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":111,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[227,113,93,244,247,89,145,9,4,189,104,226,133,32,205,170,238,111,5,125,243,36,203,221,161,155,28,131,101,37,55,138,62,176,14,3,139,152,60,77,229,60,36,31,21,190,149,18,108,217,253,244,184,66,27,84,226,157,128,184,213,39,227,121,14,103,228,223,52,186,11,66,27,52,113,127,211,77,5,227,74,92,247,161,220,72,104,96,164,148,230,221,158,179,184,124,39,90,71,137,13,47,119,9,22,128,125,134,90,154,247,66,161,140,104,199,86,195,37,68,166,243,150,77,20,183,182,31,138,125,137,73,5,255,147,20,68,55,203,186,78,12,147,171,78,143,72,128,75,124,201,201,223,183,179,113,0,46,214,135,256,117,249,29,176,254,56,127,103,118,214,206,179,194,201,82,36,72,186,196,193,190,231,5,80,214,166,212,112,93,114,154,216,59,222,237,146,107,247,152,98,215,200,256,164,222,215,217,209,244,236,223,123,226,206,198,209,220,50,42,36,139,196,194,17,182,137,91,100,62,209,237,89,72,20,59,74,133,164,17,156,14,95,253,170,209,254,194,223,197,195,103,75,229,233,47,220,63,217,163,237,48,34,99,170,249,84,110,210,229,50,163,32,129,178,222,10,251,237,116,170,33,252,71,239,43,115,76,41,74,78,61,1,152,132,113,205,34,47,190,155,75,54,253,232,216,11,85,26,89,134,135,197,232,48,89,145,1,64,170,111,122,47,208,170,187,175,252,192,214,51,169,32,98,98,198,188,99,130,14,252,132,102,219,40,26,46,193,240,164,89,50,233,117,211,196,213,61,41,106,103,37,205,249,52,232,254,145,231,31,188,160,224,50,64,76,191,145,32,110,98,204,238,117],"error":{"max_abs":32,"max_l1":1280,"max_l2_squared":40960,"max_nonzero":40},"error_distribution":{"bound":32,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":40},"instance_digest":"7b5353e158c3ff6bc20bde21d4f0e7ac0ee9a7fd476d6b16b0c9645eb040cecf","instance_id":"lwe_0111","m":384,"matrix":{"alphabet":[0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"bd66b48d9dc3417292e4ac797d9e0d4f860fc89623cbba75586b51b64042cd06"},"n":128,"q":257,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":128,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[222,746,414,153,583,261,326,78,453,120,509,276,592,532,314,723,80,155,461,660,481,9,729,49,97,606,655,477,544,465,761,315,112,101,505,625,123,498,637,103,523,115,143,678,256,186,273,198,370,149,24,285,483,590,76,95,760,409,310,470,472,168,611,92,76,162,204,568,708,73,452,654,12,707,768,341,588,336,162,421,281,661,580,635,460,187,403,408,219,154,72,276,766,687,583,573,680,229,291,313,232,106,386,72,68,348,286,679,661,699,280,146,634,764,89,62,65,584,151,591,220,232,552,582,385,96,225,15,176,289,726,203,280,706,474,381,604,675,72,489,555,252,158,359,540,661,380,103,228,524,157,347,33,761,643,723,30,738,217,708,506,712,183,242,243,301,423,209,524,676,286,551,1,8,629,561,328,10,710,246,477,100,152,241,118,439,275,467,281,335,219,38,691,486,138,110,41,351,219,503,330,559,181,372,417,337,481,740,22,61,767,457,760,631,145,365,328,246,597,606,137,24,41,1,503,389,137,337,530,497,154,346,233,703,20,423,662,564,186,663,82,76,439,113,74,390,428,51,259,46,554,179,120,99,557,254,307,99,364,254,710,394,113,6,17,471,439,158,99,708,532,97,736,456,160,513,19,535,357,361,293,57,720,705,257,34,595,85,296,237,444,259,191,198,719,571,674],"error":{"max_abs":96,"max_l1":2496,"max_l2_squared":239616,"max_nonzero":26},"error_distribution":{"bound":96,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":26},"instance_digest":"7bea9c4b16c9f5769bd0a24cc6d17e6fd46fa6478c89ed3c74075e3255415129","instance_id":"lwe_0112","m":297,"matrix":{"alphabet":[0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"acf564b9c6534b9d4d8ff2a80005c8cfcc29be0ec5514f224f2c83d7a87453b9"},"n":99,"q":769,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":99,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[610,384,44,113,1111,950,16,672,831,888,416,446,464,926,134,930,1192,44,439,655,1222,176,165,147,1125,1173,690,223,1124,118,828,253,1071,113,583,1221,368,1037,1126,1083,541,1167,350,256,1189,803,361,1120,1017,505,483,1190,323,1105,1086,1133,729,346,488,277,1078,418,806,566,1081,422,239,112,464,467,851,24,666,306,1209,1178,938,1117,264,863,159,1096,707,1208,652,185,502,443,844,1085,1095,808,335,985,435,732,1145,360,1205,848,508,424,209,1197,116,550,673,268,44,258,922,860,424,840,1171,458,1159,85,763,665,264,28,915,76,1071,891,247,1152,230,897,966,416,480,563,340,990,991,590,390,1115,166,546,753,881,1176,1033,459,100,1137,590,733,377,127,765,345,135,611,321,1092,482,854,1169,1017,182,476,965,1058,1112,285,315,1026,580,772,193,840,1005,806,486,1091,1152,103,229,556,1128,1152,764,270,862,822,1063,861,300,924,716,511,959,574,740,89,1220,41,168,1121,1196,1122,1139,852,77,334,185,440,877,170,145,624,356,923,733,259,924,1220,133,302,1087,675,1170,212,691,817,78,62,1126,1058,234,386,523,244,204,1200,1007,201,396,1123,874,1161,1048,13,1025,953,1073,283,844,275,215,695,624,870,411,487,135,280,1207,361,518,4,720,960,33,89,495,260,143,717,394,134,876,327,1225,39,927,245,841,376,219,773,121,437,817,1006,1109,988,270,151,839,842,755,500,777,17,682,885,350,979,679,918,210,1195,4,907,516,438,163,900,703,144,209,407,790,636,491,415,555,656,165,805,691,562,310,123,1211,630,260,1152,380,933,770,244,909,1011,1171,272,807,968,1072,357,100,555,23,601,1018,33,247,395,63,414,687,511,806,1052,586,1127,513,696,81,864,1162,807,57,1165,113,259,1114,1211,40,403,803,1180,192,663,1075,312,926,637,800],"error":{"max_abs":153,"max_l1":4284,"max_l2_squared":655452,"max_nonzero":28},"error_distribution":{"bound":153,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":28},"instance_digest":"e0386bd67276eba9d43865e97733b689267296207854f8faa2e5d8484a8dbd11","instance_id":"lwe_0113","m":384,"matrix":{"alphabet":[0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"1dffa4a43a535e5e502d46eabf31c9e6ef8c04ffbbfe94ab74dc0ea363f87d4e"},"n":128,"q":1229,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":128,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[339,524,1211,1396,1731,1629,645,1027,321,878,1053,474,101,1754,1682,1978,1733,574,171,1702,290,7,2033,405,493,1349,1298,1950,1936,1814,1899,870,1509,953,1094,1480,1355,1770,1480,1414,227,632,576,1231,310,813,1069,715,1245,1069,1149,268,940,766,949,1161,1268,932,330,26,555,1658,1911,1448,334,1009,790,145,942,758,1988,1629,1593,1909,1053,1727,1652,907,1392,1108,743,1345,851,276,1136,1817,1609,62,578,780,323,44,975,893,1725,732,1475,455,503,169,1788,1974,294,1384,1556,210,877,2014,875,713,1402,1014,1015,1230,683,603,272,914,1224,499,1820,219,1025,1913,1610,553,34,566,357,1600,1637,832,1095,120,606,1836,259,1381,1617,1417,986,345,33,576,1302,1119,1959,1180,1915,721,39,1145,2051,1942,1363,2034,961,1949,1402,307,108,960,688,1170,428,776,411,584,824,1310,613,1201,643,622,473,1000,552,1054,238,743,1511,806,860,229,1986,1773,1898,1689,405,1308,1367,1041,1033,3,1300,1697,102,1918,304,1122,471,824,963,602,1939,1270,856,1999,1345,1233,1645,1428,1171,16,889,385,312,1370,1070,1099,151,68,1270,306,141,1074,716,545,2036,253,907,841,495,659,2042,1460,1149,1986,493,901,1748,1313,323,274,1073,1393,1191,657,1267,607,1235,764,1928,1434,671,207,610,1190,114,1991,1883,1581,859,720,160,475,1573,771,1181,1927,638,509,1940,346,1582,455,1554,1102,393,1710,101,1025,1447,1551,1421,1447,1223,682],"error":{"max_abs":256,"max_l1":7424,"max_l2_squared":1900544,"max_nonzero":29},"error_distribution":{"bound":256,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":29},"instance_digest":"b304fe74d58f161d5d7a56893c2873424dac4debca04747a6f3588c695cd935d","instance_id":"lwe_0114","m":288,"matrix":{"alphabet":[0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"cc5f7a7e4577881d7b199e6a106afc2d454f1e8a5afcab1571c6269d03c74d1e"},"n":96,"q":2053,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":96,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[2696,667,2280,568,426,3926,2267,2243,3376,2329,1295,628,3539,3742,451,3006,1379,3456,1010,28,1688,2386,3031,2882,254,1973,954,1863,1419,845,1484,1030,515,3183,2511,3830,2785,642,3779,3527,2584,2557,3862,1415,1347,93,2149,579,310,4013,650,280,2582,610,564,3445,2544,3653,1869,1817,803,3998,3503,955,384,2810,2129,1480,991,116,2888,3888,3457,4051,4025,3123,673,2412,561,3039,937,988,2861,1443,1769,3369,361,4084,1017,2347,881,1433,2563,2184,2150,3289,1734,566,1062,355,2816,477,193,2766,2433,490,0,736,3727,319,1505,2867,2896,2444,7,368,1787,3662,598,2641,241,1252,2443,2298,3867,984,3683,1665,3750,3816,835,31,3951,2533,3419,1193,811,714,3474,2468,3883,1371,923,1215,1040,99,301,3480,904,3376,2735,3610,2350,2802,3662,2383,3909,3606,2944,2137,3558,1864,49,2339,2420,2735,2966,1968,1440,2876,1372,4001,1797,2423,1977,265,2102,2038,1608,1740,1652,2840,3511,3831,1017,2768,3529,2886,744,702,3454,918,3212,3742,1365,1671,270,946,3286,1255,2473,3344,1971,1197,652,165,2029,4065,1077,366,2096,2158,1491,1396,2578,2890,1167,609,1357,2853,3738,3094,3660,429,1960,102,3201,3043,1500,2352,3204,3229,1904,1413,2273,2547,186,1487,1860,2736,3025,2299,1304,821,2158,3216,2074,354,1438,545,1005,2431,1126,928,3680,2263,2992,3255,2790,13,2509,1554,4072,3477,1183,2141,384,2944,1930,358,3194,3576,2950,1984,1281,2895,1619,3846,1423,1400,2193,4082,643,574,781,3869,2110,3091,814,182,770,1656,3034,391,3171,2671,3903,1671,3813,4072,2999,2206,960,3607,3490,3280,989,672,3319,2147,1058,2853,1664,1095,3669,1904,3316,545,1099,3510,2923],"error":{"max_abs":511,"max_l1":15841,"max_l2_squared":8094751,"max_nonzero":31},"error_distribution":{"bound":511,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":31},"instance_digest":"418d1c924251ec82673fdcbee55f37625d0b69c542cf48d42e19c4d260d4b47f","instance_id":"lwe_0115","m":321,"matrix":{"alphabet":[0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"e347863cd9d8708dc95d2209bc1f9a28945019c964499543c220c68aaf01e256"},"n":107,"q":4093,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":107,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[101,101,241,25,145,213,32,40,180,27,231,212,242,22,107,43,219,95,240,89,134,130,33,16,99,68,201,32,124,109,112,25,49,184,53,164,208,57,153,73,67,246,82,157,225,187,91,184,208,163,251,229,8,98,39,125,249,103,125,9,17,43,240,27,21,72,177,57,47,85,5,20,33,187,229,254,117,196,54,75,239,29,196,231,173,165,191,80,204,254,67,163,177,254,41,241,37,63,30,104,188,209,48,16,88,169,195,228,106,72,232,69,104,111,115,47,165,8,56,208,121,98,148,122,77,131,236,235,231,253,240,210,238,124,153,202,6,137,47,46,242,213,126,216,19,159,215,102,47,12,242,225,79,89,138,175,79,32,208,206,253,210,238,158,21,200,73,42,181,127,83,222,242,134,29,140,185,93,109,246,88,67,102,165,102,37,229,3,128,188,107,14,198,186,204,143,242,116,127,129,88,98,256,250,46,196,198,167,123,1,86,214,210,241,209,217,145,159,19,41,12,225,11,182,90,154,27,67,213,9,23,184,154,209,50,221,118,105,39,209,95,19,205,62,25,202,223,216,140,65,235,183,31,53,229,152,59,26,102,81,246,218,243,161,242,102,169,206,44,50,234,92,155,202,71,163,13,176,139,255,95,251,57,170,105,162,122,218,123,164,57,154,238,189,165,199,150,212,88,15,175,0,129,68,170,117,0,20,157,167,209,200,81,188,200,167,230,0,4,220,64,121,5,107,156,0,170,199,15,42,174,11,218,95,64,77,33,94,195,236,26,36,242,228,43,175,155,142,95,226,70,19,202,64,206,196,25,133,46,162,133,163,65,105,149,159,24,178,227,90,47,117,109,170,1,138,183,75,244,32,253,177,232,30],"error":{"max_abs":32,"max_l1":1056,"max_l2_squared":33792,"max_nonzero":33},"error_distribution":{"bound":32,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":33},"instance_digest":"c9a28f985fe5fc183055f28e1851ab5f2f98a1f80efc40289b96490c50244722","instance_id":"lwe_0116","m":384,"matrix":{"alphabet":[0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"051c43c95fad0457a2a3fc60df4114fae50c3474aadd7385ddd762be313ae7a2"},"n":128,"q":257,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":128,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[408,447,660,240,697,579,141,248,342,285,419,623,47,494,245,195,736,598,163,458,604,738,106,11,593,404,272,261,452,62,183,315,61,753,411,415,231,174,43,199,431,589,206,632,331,136,48,219,101,693,446,603,747,140,77,564,624,355,374,376,562,187,279,765,66,674,114,570,394,723,71,436,651,635,428,514,82,754,704,742,481,115,681,381,493,514,632,350,697,171,563,720,256,22,32,335,506,648,423,104,762,503,557,641,122,526,586,541,66,17,78,383,51,70,468,613,615,551,383,46,288,735,394,571,628,391,453,318,543,438,134,655,587,539,50,232,34,148,214,316,126,258,670,157,414,78,352,128,167,40,60,632,136,646,457,39,136,88,320,173,366,634,389,352,374,470,471,520,536,745,26,660,301,560,311,293,402,668,632,519,392,360,487,268,575,448,449,765,668,693,558,312,47,598,189,764,127,7,183,288,333,697,682,718,723,205,438,64,320,451,401,536,318,267,323,47,435,460,351,554,283,50,672,122,496,79,667,419,738,55,319,162,603,390,376,266,642,357,117,762,606,557,684,726,40,455,178,143,131,255,591,283,464,71,131,610,531,618,52,239,324,221,43,656,407,238,543,727,556,697,420,321,313,570,338,111,297,420,565,643,172,509,128,701,62,177,191,225,305,389,569,248,255,234],"error":{"max_abs":96,"max_l1":3264,"max_l2_squared":313344,"max_nonzero":34},"error_distribution":{"bound":96,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":34},"instance_digest":"6f24de835523e80df68f18a4cdd8c1f713379df51bf639cd84ac3cf5715cdd1a","instance_id":"lwe_0117","m":294,"matrix":{"alphabet":[0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"d636950e3fa846065e2fdfd155d2e79f96c27cc1cd8f960afc56fb6e6d45a25e"},"n":98,"q":769,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":98,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[47,1222,626,882,935,576,999,773,1175,238,897,511,1011,944,307,494,1035,424,489,44,198,553,1159,86,1226,30,633,363,148,153,59,367,23,983,12,287,839,947,228,832,485,127,12,1073,371,1046,1218,102,1103,344,435,1130,466,610,939,95,145,1045,251,1055,162,318,346,697,197,902,387,174,155,797,836,760,104,75,874,259,1121,997,984,520,150,758,1094,245,419,136,45,781,113,59,376,55,1112,784,498,846,972,979,381,96,1118,1090,489,1042,111,887,662,634,782,881,591,106,819,509,385,192,716,99,859,588,351,772,584,444,876,1192,1105,475,1168,1126,189,759,477,752,1163,58,1190,329,477,550,395,420,313,204,726,739,607,897,481,1027,126,786,268,614,1032,1189,643,110,817,831,318,1183,971,921,44,1172,1139,462,270,42,739,1010,1159,49,125,162,321,984,740,192,382,536,474,390,939,381,489,463,796,301,514,767,238,892,1013,1200,41,743,575,928,571,524,815,935,458,525,975,771,1020,1120,625,1031,137,38,1181,137,1168,255,1150,193,921,584,154,373,112,1079,311,2,77,740,506,390,345,1163,33,1122,247,1180,45,894,1088,623,891,320,943,632,497,584,172,1119,184,572,650,324,608,684,196,261,897,23,503,959,1049,500,1166,883,1122,528,921,712,600,410,411,345,771,1026,740,1014,311,587,1120,934,184,700,907,246,18,1179,1152,359,571,933,325,1045,107,86,672,263,1023,122,258,522,1060,165,1143,1182,1001,674,735,384,324,174,1217,580,783,1085,418,980,683,548,888,632,348,1019,744,269,902,1027,225,723,412,366,3,161,283,963,241,1213,1122,1191,844,169,265,916,1061,823,289,250],"error":{"max_abs":153,"max_l1":5508,"max_l2_squared":842724,"max_nonzero":36},"error_distribution":{"bound":153,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":36},"instance_digest":"2ac646ceefb39e9b2d9b50c9d590e8e57b75dce0bca37dbe6f3e1891a44897c8","instance_id":"lwe_0118","m":348,"matrix":{"alphabet":[0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"adb90038732a91a0a93a64108c3299cc7133cd2e0c9c134e89546361dfc5d727"},"n":116,"q":1229,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":116,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[2051,1337,1184,1673,86,270,640,250,1735,1116,1318,1860,677,1026,542,338,1671,657,1920,43,1152,1800,1885,1327,1260,1483,146,1484,1928,1534,1607,1859,1833,1886,167,1552,1030,1605,1840,1502,811,481,536,113,1640,1184,1100,640,1299,1649,1905,545,1501,1894,1114,313,344,716,580,1044,2044,607,549,1430,1978,1020,604,554,1555,1171,1684,1074,434,64,833,1926,272,993,1300,860,1020,890,936,1037,1618,786,1080,1841,1616,276,109,684,2030,879,770,1062,1380,1049,840,441,247,281,1309,2036,635,153,1630,272,1807,459,971,157,1627,271,580,1061,153,2007,1305,675,1835,987,837,357,1812,758,1535,736,1157,560,587,49,1851,1870,1320,1401,49,1978,1960,853,391,1541,839,1548,1659,1443,857,268,1015,1106,640,1893,175,442,1297,476,887,106,1267,1615,821,809,1207,1072,1426,1048,1440,79,1593,471,75,1421,1201,372,959,902,76,560,950,974,1207,1402,985,13,470,661,1788,14,1258,1631,1529,1629,2013,719,36,1418,133,1999,548,1539,778,1207,1649,974,1359,856,1651,1579,639,173,1921,1408,76,212,218,1936,860,775,1808,99,623,933,969,522,926,1696,61,1538,1046,1899,367,1191,1468,1075,683,760,537,65,1109,797,594,395,209,986,535,126,1262,456,585,600,545,517,920,1596,339,1082,1108,252,1323,124,331,1552,1441,1917,1605,1912,894,245,584,47,1829,1921,318,946,1543,865,1505,291,2016,1422,2052,179,1579,225,1246,1661,2028,1275],"error":{"max_abs":256,"max_l1":9472,"max_l2_squared":2424832,"max_nonzero":37},"error_distribution":{"bound":256,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":37},"instance_digest":"8395d3a6f9bf51d94937a592a66a7a8b7ebc64d3c971ae5fae6dc30a53e30e56","instance_id":"lwe_0119","m":288,"matrix":{"alphabet":[0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"d5f7664b631056c5cf528f60cf77b4da8708b93d8e88bfbb195416983f7ffe44"},"n":96,"q":2053,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":96,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[837,45,3026,1058,2656,3402,3021,2793,821,1729,3123,2147,3097,3183,1591,2490,2605,3667,2290,899,575,3007,1418,1045,3024,761,1143,51,2832,1365,1830,76,1256,194,429,2787,3790,664,2049,3929,1556,2529,1158,4007,556,1862,1697,3512,684,1745,3360,52,41,3371,690,2117,740,4077,3222,4026,889,2552,1798,2538,1482,3242,3813,1344,1270,1883,2130,948,1597,518,1579,3655,3193,3018,3671,2190,2245,2699,3694,2030,2112,3798,1481,2867,3051,721,457,2487,3031,1839,1635,1572,755,2923,159,2965,1710,2424,2405,3526,2536,1244,2583,2728,2862,347,2427,2430,2005,3086,1274,804,3042,820,3951,3149,1724,2737,1777,122,3510,2523,3568,4042,3240,1332,949,3188,2547,3672,234,806,2788,1701,1407,3681,139,1214,1013,3981,238,756,289,429,3863,2534,3757,1360,3223,1154,3264,3178,3576,708,2332,26,2325,692,830,3701,2749,192,2916,1721,341,3663,2576,3548,3414,901,1465,3651,937,2672,3041,3668,4054,3215,307,1222,1816,1973,3898,2136,1245,3837,1714,2190,118,3189,268,1245,4023,398,1223,732,2441,3518,833,114,1992,2632,3597,2524,1059,3287,433,140,1274,2506,2952,718,3728,1330,1954,2412,1174,1783,1622,898,2276,827,3251,3653,473,4092,952,1739,2869,2416,3658,717,1307,119,2229,1962,973,1178,2435,3878,3555,3967,2441,779,3370,38,2527,102,3761,886,1685,2409,1050,3647,737,3362,2330,3662,4055,1727,3892,1027,2997,1119,3813,1083,2836,2195,3468,2906,3912,876,848,1587,213,1245,59,1418,2151,325,2904,505,3424,1806,99,2609,3419,66,2238,3750,2357,1398,3955,4027,701,2143,3621,2386,3997,2625,3351,3502,3482,1798,3336,2560,3712,112,1003,2932,761,2290,26,3998,2708,790,3651,1937,1486,3624,3832,250,2830],"error":{"max_abs":511,"max_l1":19929,"max_l2_squared":10183719,"max_nonzero":39},"error_distribution":{"bound":511,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":39},"instance_digest":"85d353115f6758d210280466cf59e5806348b47fc4716dcefe70f6a2508ccc63","instance_id":"lwe_0120","m":327,"matrix":{"alphabet":[0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"4bafadbccd6945e7b869a5b8a4721f749cda003faf02f0e238be5d5ac16bcf56"},"n":109,"q":4093,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":109,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[96,723,235,152,387,668,159,397,62,99,150,146,565,681,671,564,617,6,695,43,151,743,566,244,611,480,512,328,233,754,689,435,27,48,231,52,253,410,762,334,233,70,188,355,214,525,549,668,468,458,149,567,634,274,157,171,242,441,512,2,304,214,558,439,611,178,688,32,497,236,617,80,348,453,562,134,695,606,145,515,126,419,364,35,510,395,498,427,673,584,154,348,178,384,710,55,32,229,447,643,607,513,135,360,366,494,15,20,202,121,546,516,636,289,298,35,160,513,95,466,401,427,340,765,738,726,463,283,88,26,485,377,643,502,333,408,391,248,197,488,82,578,114,162,676,355,283,508,201,270,520,552,695,505,362,429,125,592,547,47,389,258,308,360,609,436,469,379,606,3,240,602,191,59,639,175,385,545,103,83,124,348,170,84,566,374,549,474,539,530,368,62,94,714,738,365,102,217,133,504,342,58,438,366,570,446,49,247,113,41,143,354,183,309,697,504,191,145,198,203,626,755,85,364,695,231,32,280,71,35,100,294,714,52,661,766,370,750,55,64,61,201,126,467,125,728,98,42,509,257,6,210,625,444,483,473,765,280,620,563,74,483,720,567,128,166,655,676,439,96,633,695,744,193,103,112,436,553,296,144,160,473,106,233,419,600,739,541,326,220,127,573,313,59,169,575,31,437,417,51,376,148,336,562,559,550],"error":{"max_abs":96,"max_l1":672,"max_l2_squared":64512,"max_nonzero":7},"error_distribution":{"bound":96,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":7},"instance_digest":"648c34d9da9d888090b9579bc2d47725c00bfcc108d92c3a0fe5e73f0b987319","instance_id":"lwe_0121","m":306,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"0f76dd9ba68596c64331f8423f7e038f0651229bfda0f640594c84f28d2261ef"},"n":102,"q":769,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":102,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[342,283,669,13,591,68,400,43,1031,327,519,142,307,1002,1100,579,1042,1167,1022,843,557,186,556,1138,230,504,151,936,146,762,25,326,234,976,1111,282,702,810,437,1079,1072,453,1193,138,583,113,1144,1131,696,370,670,1155,698,73,809,145,855,514,603,992,628,34,666,1093,21,1130,268,637,283,212,820,866,676,459,245,4,1079,232,676,926,1058,539,928,346,204,898,810,1168,244,1046,891,105,511,658,1001,433,215,507,765,1087,892,773,735,724,574,580,825,538,680,702,185,1018,178,239,190,369,410,838,847,1080,844,608,877,1082,97,361,36,84,569,923,1192,355,1017,140,1224,299,163,448,55,426,872,118,1025,932,881,928,1096,357,760,20,1012,275,401,581,63,345,1129,425,194,125,585,813,536,782,180,63,412,231,1141,881,167,1078,581,349,136,869,5,919,55,62,426,856,217,502,51,859,631,1167,478,741,1147,776,554,790,200,727,531,1049,719,498,1221,739,267,1037,83,1127,162,886,619,309,505,965,930,546,825,62,818,1024,88,996,852,1219,721,285,757,729,998,424,716,497,57,500,997,64,1126,829,583,191,802,1187,1204,370,462,1119,575,1139,361,140,393,866,913,800,206,227,870,566,430,883,258,611,171,266,330,986,661,656,438,404,847,1009,707,666,618,940,958,711,57,1208,239,1101,681,835,253,302,40,1000,647,1055,340,723,611,874,846,622,790,370,656,261,1057,602,103,86,999,595,812,856,591,758,441,570,1131,302,76,542,555,477,723,25,477,362,1066,764,924,200,1196,304,512,421,888,400,410,129,1027,726,397,491,936,1157,272,73,663,1050,318,966,846,867,1012,1203,376,828,1128,73,113,467,310,756,163,589,842,405,325,605,520,1164,1191,145,1190,214,1009],"error":{"max_abs":153,"max_l1":1530,"max_l2_squared":234090,"max_nonzero":10},"error_distribution":{"bound":153,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":10},"instance_digest":"930cae0b071ad0603b87ba228f689abfdf375a6559730badc7ab6566e0bbc861","instance_id":"lwe_0122","m":369,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"c56a6cdbd0f417ba1648b01ddc886c94c05d4750021d5b26c50387db788a32e4"},"n":123,"q":1229,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":123,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[622,1211,1700,1363,1860,2025,54,1329,1972,1587,51,79,1121,1702,1869,499,26,1427,1799,1290,1069,1605,82,1424,420,1027,992,1250,1617,2009,1000,1881,141,186,1844,1399,812,1848,979,1042,1332,274,2047,903,65,422,1507,1620,2006,357,851,1386,264,1204,1843,937,81,198,536,529,1572,994,372,1568,1930,67,1791,624,861,338,225,798,1731,1883,1173,1937,709,1381,1735,565,350,1107,1921,585,978,155,1995,2016,388,578,1945,1030,1215,1420,1610,384,1864,208,1664,764,675,377,1076,320,1193,1112,769,1898,845,414,649,880,532,1292,346,1960,1702,1973,1185,499,402,1963,401,610,741,826,145,145,1751,1247,23,1224,882,1686,653,311,1912,234,1069,140,1181,829,1177,1038,1924,1555,1565,1828,1830,1261,1538,1146,1120,1610,1655,1377,1010,1926,1077,1233,376,817,1086,1829,978,1070,75,349,49,1363,1069,422,1141,555,186,860,1441,1105,1324,149,568,1762,1689,1456,1950,1260,1804,1082,1867,1161,1569,542,747,1425,703,1184,1512,656,648,730,1063,1884,257,124,968,370,1638,791,1961,294,768,1649,925,1614,1889,1552,394,1193,8,1877,235,498,748,1385,2025,1759,978,1869,768,108,1763,344,964,170,18,1933,1192,1316,643,1900,319,135,1318,1147,1484,1025,365,1573,1200,1028,1774,71,2046,942,408,1255,509,703,8,826,1415,549,1680,403,1055,1284,557,1908,380,1812,74,741,1948,439,14,2052,336,375,1232,1583,1949,1253,1110,1724,1687,407,1453,1172,447,1226,1159,359,2041,1164,839,1022,496,679,1340,1862,153,270,1696,1058,1365,1794,305,1357,1501,893,1718,78,1862,115,20,712,68,1841,1889,193,543,1758,224,2029,703,353,22],"error":{"max_abs":256,"max_l1":3584,"max_l2_squared":917504,"max_nonzero":14},"error_distribution":{"bound":256,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":14},"instance_digest":"11382b84f7e4d4a6eae7f215d991b1099af0504e93f4924f8f7b5cb31d35f85f","instance_id":"lwe_0123","m":327,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"96bb32f5263559102db15716ef5d1809305806acd1ad0e74067dfc38ab227b16"},"n":109,"q":2053,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":109,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[1399,439,2002,1250,1262,3206,3100,2584,3102,2668,1742,3712,1202,1184,1515,3249,125,1634,1893,2522,3034,567,3678,1994,2319,2081,3927,2130,4072,1738,42,3918,445,888,1990,2299,1423,2495,1081,1262,2089,1029,4055,2493,2179,3780,987,2586,1012,1466,131,2319,670,1730,541,1741,1224,2069,816,4065,3690,3547,1031,944,379,3311,2197,2961,2021,2934,3128,2697,725,2878,3103,10,720,3905,769,2823,1668,4087,1734,2667,3231,293,2626,469,3378,2735,2443,732,2233,603,3270,3336,3278,3223,2625,3856,3809,510,3647,1583,2074,1567,3644,3321,2347,3107,2591,687,1179,3083,1515,1194,1740,3693,3582,3225,3854,2627,3603,3475,1868,3489,3090,1117,3647,3347,3118,2188,3606,2966,3175,3504,2898,2521,86,3822,3500,3791,264,1118,1603,1738,246,3327,2364,1195,2636,2507,1081,1502,798,2702,292,3042,2082,80,2457,3698,2103,3343,2911,845,3285,2884,2483,2842,1632,408,1905,1874,1020,1835,3351,1347,969,2493,2121,2439,3710],"error":{"max_abs":511,"max_l1":9709,"max_l2_squared":4961299,"max_nonzero":19},"error_distribution":{"bound":511,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":19},"instance_digest":"72f746f5b3d6aae2d54c72a99513236758481784f8b51cc995676a4a9fd057f9","instance_id":"lwe_0124","m":183,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"946bfa47a3c23d4c1431c90b7a472d8456871ec651d79ea3d5d3928b8f87498e"},"n":61,"q":4093,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":61,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[149,112,207,95,17,103,137,152,73,56,149,111,150,124,41,54,102,108,135,217,191,0,190,111,133,165,141,16,242,207,226,118,138,146,186,44,221,56,195,66,70,119,140,8,106,56,61,206,28,180,162,63,70,39,169,98,40,178,16,140,28,112,87,127,49,129,60,173,211,215,209,141,76,241,95,128,236,44,23,56,20,190,149,166,153,110,248,175,53,218,187,111,68,245,177,233,242,91,156,45,149,139,172,254,60,2,188,151,39,108,243,241,171,216,26,171,85,172,229,15,39,48,76,93,71,96,194,58,31,85,81,63,175,142,176,54,83,59,94,142,121,174,51,251,237,70,225,101,215,205,38,53,160,133,200,32,213,42,105,126,81,207,167,184,48,256,78,142,65,161,225,174,91,19,185,157,77,247,13,204,233,195,183,66,53,2,247,41,84,8,52,60,81,3,136,200,169,133,136,68,204,63,6,126,32,143,98,58,248,144,132,79,178,209,136,235,203,167,151,109,244,23,143,52,27,202,220,244,151,107,242,161,43,254,77,78,20,118,138,34,216,21,96,161,241,130,27,157,12,247,72,24,248,178,236,99,223,163,245,186,215,11,149,56,3,218,30,209,44,165,109,71,189,32,168,178,201,249,175,23,154,154,97,167,150,148,85,252,78,72,212,166,220,214,125,104,245,4,76,27,143,8,34,244,139,198,225,9,167,122,103,110],"error":{"max_abs":32,"max_l1":576,"max_l2_squared":18432,"max_nonzero":18},"error_distribution":{"bound":32,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":18},"instance_digest":"7395df1317afc3b595520153286b7daa65914e3f6363172c05a606f59ced7bee","instance_id":"lwe_0125","m":312,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"4a5f1f55665adb844471eeb53774d36e0bcc905c837ea216991b5b288ed98450"},"n":104,"q":257,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":104,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[99,708,656,461,275,692,555,736,273,662,453,160,120,352,464,111,522,29,660,632,632,499,688,700,707,690,285,322,294,209,458,174,485,537,262,417,283,145,30,531,508,695,399,93,396,739,23,623,307,371,646,355,636,586,452,228,567,745,357,761,476,34,162,304,271,506,703,348,360,399,40,513,472,629,730,325,485,612,382,28,108,467,656,552,409,76,114,599,718,467,515,86,432,489,464,568,113,535,98,723,426,187,634,35,122,231,643,410,455,132,59,214,151,203,241,755,676,560,415,19,566,660,420,351,723,91,463,677,44,22,479,749,740,543,151,699,464,729,321,660,623,16,73,308,87,112,184,161,268,573,211,455,261,444,10,180,515,1,417,434,8,610,97,514,698,278,721,53,247,657,10,190,692,655,510,125,594,146,32,116,254,633,194,487,389,326,682,327,288,367,613,142,92,516,578,250,503,713,479,125,724,176,532,140,28,574,559,472,561,300,393,672,199,479,314,753,491,349,316,456,718,465,466,706,138,73,296,706,720,362,57,721,526,373,210,407,348,53,682,698,239,476,60],"error":{"max_abs":96,"max_l1":2112,"max_l2_squared":202752,"max_nonzero":22},"error_distribution":{"bound":96,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":22},"instance_digest":"2c1aba0842654c365a6b0f72ee56553103f9e556b8974019163c44f95fa00323","instance_id":"lwe_0126","m":243,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"4cb9b14f6f8f03f38f276b6bd42b8b7cde7d79a0f218bc394e2559d69371357d"},"n":81,"q":769,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":81,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[716,353,364,833,347,301,895,1060,792,254,24,69,594,40,733,308,357,57,143,60,663,868,678,348,304,1036,502,268,999,30,931,1080,426,426,373,707,414,416,191,45,290,1201,1192,251,402,437,168,267,710,807,722,1195,836,455,42,921,230,622,591,700,782,290,71,1083,349,238,779,1198,1042,966,810,155,303,241,1127,937,836,296,763,4,310,271,437,598,488,110,9,1209,1115,353,280,1054,1095,423,226,931,793,247,20,543,130,1014,610,122,553,1101,1071,660,430,411,324,648,839,889,276,1220,610,685,606,766,744,542,382,771,329,661,211,345,800,789,49,1123,180,643,808,542,1008,237,602,84,473,399,1127,324,328,984,331,973,504,287,305,644,1011,222,138,209,992,873,1012,495,189,1219,743,1199,250,461,878,1009,491,302,252,636,602,933,624,245,87,469,955,38,1043,962,705,499,28,369,590,488,706,262,750,921,370,1018,297,433,431,1011,1206,1046,939,940,482,605,265,307,739,1094,667,634,127,901,944,1043,1019,286,772,597,1,565,1001,608,844,697,786,220,576,488,1021,364,904,952,16,111,86,626,751,678,1081,525,964,517,491,839,115,917,148,958,854,689,700,63,226,245,1148,34,1200,219,450,493,133,1077,1153,651,890,273,924,770,1122,157,1031,1014,179,417,129,579,1084,720,519,734,1201,903,713,242,761,911,1080,786,418,696,965,1043,223,236,480,689,1025,297,759,733,718,219,98,401,170,1222,690,84,1022,147,40,84,470,224,589,504,706,815,190,1111,857,19,727,347,935,67,173,237,1172,167,574,594,639,400,750,222,30,994,428,498,771,1204,435,1170,284,678,457,940,627,854,161,348,416,90,184,831,498,307,1166,752,1228,734,1010,63,1180,1031,1146,862,1213,1175,993,413,369,988,352,791,368,1017],"error":{"max_abs":153,"max_l1":5355,"max_l2_squared":819315,"max_nonzero":35},"error_distribution":{"bound":153,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":35},"instance_digest":"b3ea8bbb87a862b74f1b89443725cc4efe2a86497b8cc578d8bedee64efb2761","instance_id":"lwe_0127","m":378,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"ddf69d423f2a144bd0f5c3e54cc1a855d6f0d34ef8e7a6edc5add62ab638d5d2"},"n":126,"q":1229,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":126,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[1271,1570,1223,1820,382,418,821,1579,1225,582,1529,806,1738,389,325,1399,717,33,35,1431,1379,1279,439,18,1468,1213,64,119,1973,542,722,1611,1510,931,724,113,1993,1803,1740,1344,1989,624,1668,1875,1250,210,939,1089,1884,1871,1718,1529,1034,645,968,909,703,1224,604,143,699,493,1272,1041,975,393,1362,85,2052,1191,1475,1251,1184,124,1332,832,1311,1540,851,647,548,1249,604,1663,1290,1780,450,306,534,472,55,1846,2043,1058,1596,1994,518,669,1338,483,1718,859,1527,1889,1194,1075,1041,1081,732,801,1580,1444,43,1014,1059,883,1736,189,170,455,1621,1351,1490,1606,1990,2030,63,1891,658,968,1590,734,620,2036,695,1741,1065,1257,367,691,1433,1833,120,545,1059,1621,1772,674,148,1223,924,896,1678,126,959,2051,405,1328,1656,1760,1005,501,783,465,1465,1790,1452,2019,349,1190,2018,1426,385,1870,1215,1207,290,1458,949,713,142,50,1539,410,69,1116,973,1865,459,1336,1252,709,106,1880,1207,1252,99,1435,1253,1719,2036,1334,1789,978,276,1682,725,276,1694,1709,881,494,324,1225,1357,445,190,1047,771,372,552,1999,739,987,1888,1114,1581,274,1919,1657,958,3,1450,1933,240,586,1940,1141,924,1490,999,1597,834,210,450,1790,30,858,1239,230,356,784,499,195,244,846,1041,1023,1771,329,1756,312,81,1922,244,1218,73,1703,556,1705,1338,1861,35,1702,1669,1018,582,932,309,406,1199,762,1422,250,844,316,198,1044,456,1868,1014,377,1034,80],"error":{"max_abs":256,"max_l1":9216,"max_l2_squared":2359296,"max_nonzero":36},"error_distribution":{"bound":256,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":36},"instance_digest":"1e94017bdffe598355631511868301c57072e36ddd06b2f994e580ccdae81180","instance_id":"lwe_0128","m":294,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"a31c5912ca1d4264cb7a25085fbcd348f75ec84501b5a643fcf3c1eae121da2f"},"n":98,"q":2053,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":98,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[1010,3553,1798,945,3162,691,3624,1278,3771,435,919,4000,2630,1843,4062,1876,3458,1832,3940,1347,429,800,1831,137,3819,2673,2815,2334,3994,3485,3144,572,2443,459,568,3699,3916,490,3963,1452,532,1794,1942,899,3175,1735,3383,477,561,1880,3986,3588,1835,3303,4035,3548,809,368,760,1182,1046,796,367,1424,1357,1589,2416,4028,2301,2041,948,915,1092,552,875,3567,1226,1694,2741,1303,149,104,406,3483,1574,2251,1986,1167,1058,3380,2211,947,3041,801,1384,2653,1967,1947,3163,3473,1982,2287,1888,2737,1497,1690,1675,3385,1880,3205,3557,113,2248,1660,2831,983,2333,174,284,1171,96,483,1206,1430,2159,2710,3241,2040,1217,2436,3952,3652,2442,3788,751,2360,2986,2223,2371,1096,2164,2559,549,1206,3232,1669,14,3093,2185,2871,1179,3812,3102,841,2562,3685,1842,3675,3876,1863,657,2548,227,1428,3903,2522,1658,2361,1039,2989,2624,358,3118,3426,2835,680,3516,3758,1225,1613,1735,3851,3071,1692,382,2063,338,3279,1537,2336,2052,2819,3864,1837,3877,2652,772,4066,3765,1833,3139,1624,2943,401,2075,2090,3471,3812,3048,3436,133,3132,323,3569,3964,604,1558,1800,3808,1332,3991,1339,2259,1414,3416,182,1506,930,2053,2680,368,1176,1489,3915,826,1320,511,1540,2263,4081,3269,2120,2722,2190,3518,3377,1789,1391,2460,1279,1961,2215,836,3207,1614,2799,1428,890,75,3081,1842,21,3837,2840,3222,2291,3174,1703,3910,3648,1082,3996,411,485,1066,4092,3378,2938,1586,672,3540,1568,2203,1775,1238,673,638,3476,1309,3351,4003,2412,1878,26,3520,564,1814,1379,2699,2537,3210,543,556,210,3788,1042,1705,2963,3040,1708,3715,164,2807,4031,2072,1479,2670,1229,3359,1435,1805,76,1273,954,400,167,3943,3017,966,1367,1625,3182,2904,1351,4034,2785,1327,3269,1827,345,1607,1321,3575,3604,1685],"error":{"max_abs":511,"max_l1":19418,"max_l2_squared":9922598,"max_nonzero":38},"error_distribution":{"bound":511,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":38},"instance_digest":"e6aa109d5439905c812c6e37e59acc7808aeac66be23667a4211ff1d40fa762b","instance_id":"lwe_0129","m":345,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"5790774d1206794113d7a906cb50d3aad2ff97a53e11df2043c3987ae0700078"},"n":115,"q":4093,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":115,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[56,250,54,69,25,65,182,148,139,30,216,93,90,1,46,214,92,83,3,67,123,252,232,71,233,58,40,229,94,176,158,235,74,0,15,45,103,95,225,238,160,163,200,85,195,133,110,20,244,165,52,255,123,45,63,3,222,12,171,87,95,185,3,34,43,170,175,127,236,112,120,174,52,241,256,67,251,125,47,34,100,5,173,17,5,140,97,99,129,137,23,23,157,52,230,253,155,28,67,194,37,130,242,241,87,1,48,49,53,256,95,245,49,204,68,161,69,212,80,127,12,67,114,86,178,32,198,89,17,4,190,204,171,163,251,1,203,65,177,248,88,197,171,219,67,160,4,107,185,112,39,176,56,213,246,134,229,99,118,213,73,192,114,212,85,59,120,53,240,37,26,211,69,151,223,139,26,2,146,171,78,133,109,206,0,165,72,215,125,60,105,104,30,238,82,128,115,109,55,27,45,22,63,74,210,190,218,32,71,62,188,17,1,88,37,234,244,229,112,6,71,92,113,156,193,245,52,32,189,69,203,131,93,234,227,62,18,227,91,122,29,30,134,182,95,162,233,8,210,135,2,12,97,5,103,144,8,184,186,110,111,213,197,194,240,91,39,43,104,90,52,152,164,6,6,133,152,191,70,215,59,50,224,176,209,101,230,107],"error":{"max_abs":32,"max_l1":1248,"max_l2_squared":39936,"max_nonzero":39},"error_distribution":{"bound":32,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":39},"instance_digest":"0ac9423372574d76e8100ebed9571b4afa5f95a319ee0451c1330af3247c9151","instance_id":"lwe_0130","m":288,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"495ef5d085eb5f4ad946d00d131b7a7d6e4e3d50054ba008b3aca144dc5a49da"},"n":96,"q":257,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":96,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[166,25,192,590,189,707,240,0,80,49,161,624,165,68,752,676,255,758,463,730,160,727,660,163,143,327,601,4,728,42,69,765,349,261,527,150,437,325,246,299,4,528,221,742,74,127,358,127,648,55,190,176,752,520,107,664,614,472,662,162,216,178,116,155,332,408,560,588,27,17,158,331,455,88,510,251,155,704,489,260,241,462,679,278,641,17,133,223,212,351,691,309,391,87,21,756,411,359,580,656,395,536,487,71,295,653,394,296,29,484,767,1,279,718,680,692,735,433,658,435,136,691,718,763,60,183,33,171,463,183,279,498,123,488,208,256,688,768,585,649,610,471,560,199,751,627,659,17,570,17,113,597,473,86,86,552,659,562,64,451,473,521,402,538,601,108,479,177,358,326,288,670,348,183,250,149,418,191,410,673,304,721,122,295,471,718,463,132,618,574,465,517,186,432,182,434,303,283,754,677,343,392,688,80,163,573,718,283,396,594,716,390,376,468,723,685,444,331,45,377,84,180,159,242,639,308,638,108,71,459,452,665,629,708,363,333,510,412,14,637,61,423,426,554,5,570,339,140,427,460,621,194,445,581,508,126,371,639,66,679,663,236,666,677,558,158,389,116,71,442,292,397,39,104,318,159,732,673,699,323,60,214,239,300,606,207,459,653,298,620,5,406,672,709,349,467,596,30,315,118,125,424,453,747,160,81,202,346,648,297,63,580,740,584,211,387,596,384,551,211,368,195,106,348],"error":{"max_abs":96,"max_l1":2496,"max_l2_squared":239616,"max_nonzero":26},"error_distribution":{"bound":96,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":26},"instance_digest":"6ca18146f62a41a387d28546c6ef9cdeeb7ac43292216ab74bcb548ad7e7dbb7","instance_id":"lwe_0131","m":324,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"f641e10113cd64a75e52c6708b6ec3ad31492b84443c70dfbea3a2cd9dc73ee9"},"n":108,"q":769,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":108,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[100,357,440,1095,247,652,585,742,565,1193,333,852,18,160,1111,97,923,558,658,1045,798,101,77,1224,410,272,419,726,922,935,192,660,1171,749,972,340,734,63,308,127,19,541,1118,643,598,1185,818,117,1040,433,238,669,1144,717,195,1039,38,992,116,968,392,1012,520,1105,52,814,112,939,170,735,60,100,145,605,853,1118,823,68,1006,710,321,899,792,303,638,1224,988,58,907,1135,403,455,493,400,1123,313,114,0,129,736,501,339,849,474,1023,996,639,189,197,823,584,590,1206,433,774,335,699,38,1214,735,867,877,204,1086,318,365,766,726,690,12,128,1189,115,131,1059,308,539,976,1147,1070,705,666,999,141,1163,1153,477,446,1107,1203,160,403,1156,564,397,846,388,363,195,466,94,293,251,509,303,656,362,172,524,1023,1003,846,603,345,326,605,279,1214,497,763,978,1097,939,604,126,459,627,13,739,351,1223,556,308,376,1161,246,346,768,1107,950,662,1153,509,331,322,272,979,934,1114,27,138,947,799,478,83,793,247,474,1164,276,1214,878,73,749,278,545,88,410,1051,890,747,5,1170,327,98,758,1125,476,618,596,501,471,790,28,148,1057,507,414,200,528,546,563,519,538,501,376,1228,1048,786,773,138,818,682,434,661,323,323,62,1217,118,830,927,335,1115,416,26,1172,847,829,821,121,761,582,870,1187,1029,42,373,964,658,190,916,131,798,697,1099,949,471,1114,252,706,766,1126,1099,214,684,393,1085,261,960,1197,912,1206,537,946,1142,198,381,243,976,103,385,181,255,21,1050,489,125,365,348,58,1104,1217,1035,958,139,607,45,892,1129,207,1076,256,311,1221,494,541,852,445,1158,525,291,600,1148,648,749,831,496,160,391,408,5,432,477,722,1126,732,664,937,666,768,208,435,1080,462,369,762,886,1023,32,760,1173,493,419],"error":{"max_abs":153,"max_l1":4284,"max_l2_squared":655452,"max_nonzero":28},"error_distribution":{"bound":153,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":28},"instance_digest":"ab003ba70512a90913b13b765a2e05afa92cfb8eaba4e160e8671d461b4ab1ea","instance_id":"lwe_0132","m":384,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"a6509ba63153943e7d566a04be63281b1d542e1fb74dba49ae31e651186afc75"},"n":128,"q":1229,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":128,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[1746,489,590,723,1810,1004,41,198,2023,368,603,1735,932,285,1372,1573,1875,1417,1986,1835,1377,417,1117,1816,888,266,1054,1617,456,1419,1924,615,1817,1610,1932,1841,1235,699,1875,1138,1249,1574,544,1520,179,523,996,1897,180,614,1916,1231,1661,632,1625,1220,1218,559,807,108,240,1874,405,820,1260,1003,1253,518,1693,1913,1221,761,685,413,1622,249,1651,683,801,1995,207,577,1873,773,1524,1681,812,461,1361,383,366,625,1956,1243,1562,356,1728,632,1443,451,355,279,288,348,808,842,639,466,568,1809,1693,1910,1559,1613,1286,915,1569,257,1072,281,356,1333,68,2000,631,849,689,1456,14,758,586,823,794,209,504,462,609,39,1788,1607,2009,95,1851,131,705,647,798,113,1875,816,1946,817,1080,463,1838,10,520,781,610,662,884,985,1618,496,1886,470,1185,1926,418,1464,720,1325,1227,1333,1602,1689,1426,486,1039,1456,666,620,248,485,595,652,33,1690,1391,2031,1818,699,1682,608,1535,217,642,1273,1659,1849,983,340,350,1256,922,1588,1196,747,1763,1344,1304,931,867,1877,397,286,460,976,1622,1207,952,1769,1904,1595,1873,1709,1186,542,433,380,1465,290,2010,1937,1455,781,1337,88,177,1524,1185,1450,1957,1520,654,1192,421,1179,1628,400,297,213,1696,146,1658,458,922,1393,560,1858,1218,166,1443,214,63,1335,80,1628,133,1520,1029,941,619,1582,1207,1762,1770,706,1642,1306,1939,1463,313,2044,1033,1213,639,449],"error":{"max_abs":256,"max_l1":7424,"max_l2_squared":1900544,"max_nonzero":29},"error_distribution":{"bound":256,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":29},"instance_digest":"b55fe54459499ccb9f88a79a34ccd4753587858708591163855a476bf65d9685","instance_id":"lwe_0133","m":288,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"38ece762f9177cfe9e6c9c54dc0f926e3aabf5344b4a3784440abe2a8781ff4f"},"n":96,"q":2053,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":96,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[3622,2016,681,2642,794,1769,2971,318,2583,3270,1347,1492,16,3179,3449,2065,1356,518,2724,3497,2635,3304,2803,874,1330,1437,1103,343,3172,615,1634,3897,3937,2550,1589,1361,1232,1617,2237,593,2931,3076,1499,2217,2166,1052,1757,3166,2127,1226,3276,1631,3161,1904,3246,810,3668,1550,1326,2522,3363,24,3652,2593,497,73,1999,2956,2864,54,2026,2713,1060,3216,3578,3245,2623,2895,321,3648,1405,2203,1987,777,3323,391,2503,3317,3181,3711,1518,2419,502,1736,3968,3944,2709,3897,2717,1593,3076,3365,3968,2696,666,2375,2267,3344,840,162,2345,3270,2150,2011,2375,1676,2219,3747,2331,2585,2485,2089,3980,1494,740,1983,3921,2948,3807,2539,1053,427,3082,2118,3671,183,3169,3077,3616,128,2393,2770,70,4081,3756,1737,2987,3495,4042,1782,662,265,3956,3955,1290,723,400,963,124,3187,967,327,1243,816,3702,1730,66,3221,2098,185,3147,3229,756,313,2158,3814,984,356,1445,2239,1600,2085,409,3630,3911,1708,3436,1923,2463,3494,2240,3788,251,2994,1202,1519,3089,1799,1192,3546,438,47,906,2452,2720,3983,793,3637,1457,995,2427,1955,2238,2402,3666,1520,2647,3601,2846,1091,1704,2782,3886,1799,777,90,2247,3299,3871,3456,398,1667,2051,830,1936,235,2026,2150,3976,1422,896,1759,1720,3640,3581,950,1382,763,271,367,225,3446,3624,1968,3415,3818,2146,1102,2688,205,3196,2757,1112,3178,1250,1616,1956,861,1468,561,258,293,1039,3082,1847,2260,1947,3382,3585,1785,1721,1108,3727,418,1464,1130,3403,1221,3396,3822,3678,452,1266,1554,1849,398,1735,1098,2548,768,924,914,1449,1759,1388,4043,2649,3442,1313,292,2572,1626,2698,3553,391,2830,1941,4035,297,1851,2712,2141,1299,3423,1585,1810,893,3043,2266,2798,3776,1007,254,1294,2683,3896,1651,720,1442],"error":{"max_abs":511,"max_l1":15841,"max_l2_squared":8094751,"max_nonzero":31},"error_distribution":{"bound":511,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":31},"instance_digest":"a6ccfd03c6f55bb9b380a3ebf628620e609e97c254cd936986ac68f6499eab02","instance_id":"lwe_0134","m":339,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"3b17143a4fa67837dfa8d97a1381b3fe2eb1a999d0eb946137ceee13012195d7"},"n":113,"q":4093,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":113,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[59,184,160,229,229,225,255,196,71,192,43,112,95,130,174,136,136,93,6,245,13,199,240,27,236,187,89,179,41,94,163,225,138,3,23,27,250,227,79,81,131,22,166,28,57,213,17,228,119,128,146,102,95,213,74,178,136,25,52,202,184,210,69,140,238,230,127,219,1,239,20,32,128,12,221,137,12,186,81,234,36,82,206,247,183,217,69,235,185,136,78,22,4,75,179,142,111,64,246,253,138,232,18,186,198,134,216,191,238,162,9,242,231,187,244,105,95,129,79,5,256,37,140,23,67,236,182,227,130,56,65,1,155,61,173,120,225,194,66,42,96,133,226,209,116,139,243,69,78,223,99,28,92,203,212,52,28,182,91,155,160,33,174,15,102,207,189,63,34,181,149,172,77,170,108,237,142,6,6,49,164,70,103,177,202,189,183,190,143,25,83,194,83,67,189,227,72,112,238,251,112,105,253,173,148,13,126,43,1,243,204,200,180,200,228,142,98,177,222,164,196,169,5,36,62,44,248,201,157,170,232,242,21,92,99,75,233,202,177,52,240,172,187,163,173,126,186,170,194,118,206,73,245,92,210,178,90,24,10,18,240,163,194,73,216,42,180,31,163,149,44,0,223,22,99,168,84,75,140,95,103,106,77,20,105,244,30,88,21,107,161,236,118,48,184,215,26,0,225,193,224,204,122,202,225,9,195,212,128,6,21,197,76,243,125,90,50,118,56,154,105,162,91,233,47,130,227,39,194,101,255,129,60,255,72,4,239,144,17,32,239,206,46,253,19,80,248,61,99,127,222,146,60,107,108,103,192,71,32,225,166,77,169,118,66,125,11,96,76,206,132,101,58,213,179,222,156,116,235,252,165,183,234,226],"error":{"max_abs":32,"max_l1":1056,"max_l2_squared":33792,"max_nonzero":33},"error_distribution":{"bound":32,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":33},"instance_digest":"f7cce4d9f0e2457221b9f4f4c0df6912bb20dca3d5bccb0a936014afcbaadb98","instance_id":"lwe_0135","m":384,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"ac7f1a7d8fff93264517672937f4e78be4c060ae63189cd8e20166917f202582"},"n":128,"q":257,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":128,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[538,246,156,477,349,407,590,379,379,367,388,486,552,735,467,68,34,107,652,673,156,403,44,491,443,748,688,191,158,339,278,224,422,683,66,623,19,53,375,41,474,613,308,32,409,616,229,272,566,122,54,512,522,733,2,351,686,304,624,263,427,296,13,603,554,435,167,168,628,760,711,467,759,280,448,27,262,763,280,226,735,543,83,92,85,171,74,730,508,681,681,679,65,401,30,539,740,121,419,418,631,290,682,336,237,641,496,446,304,273,177,45,703,33,27,589,434,18,525,112,537,348,558,347,171,288,590,512,734,544,287,766,316,132,47,436,739,406,744,80,312,507,745,234,435,422,699,485,720,189,474,680,338,349,339,555,23,288,322,661,386,112,659,20,673,464,153,439,700,25,305,117,312,638,435,464,647,613,586,436,419,408,639,147,445,586,360,9,158,296,604,470,108,382,689,435,650,33,474,697,198,737,300,240,659,273,761,139,468,383,89,277,761,73,113,585,655,324,25,181,374,23,606,710,89,118,461,712,585,330,207,269,105,568,473,655,666,693,345,101,501,675,530,446,2,580,678,227,125,406,316,211,726,423,311,345,442,89,276,22,147,556,659,597,718,412,184,50,107,750,197,617,702,255,702,611,227,226,26,380,449,131,457,657,436,574,737,214,497,433,289,282,125,116,459,179,608,66,620,165,580,559,182,17,381,479],"error":{"max_abs":96,"max_l1":3264,"max_l2_squared":313344,"max_nonzero":34},"error_distribution":{"bound":96,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":34},"instance_digest":"4f89b40d89b1150664cff225258abca30e90466a45d5987dd42e044e93bcebe3","instance_id":"lwe_0136","m":306,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"0e1471d73d67eb8becafee681b726323fdccdf08702f4a9011708d399d7d324a"},"n":102,"q":769,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":102,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[1128,959,546,615,1038,710,742,834,1057,66,677,788,1214,73,506,697,492,260,919,968,722,68,711,823,960,182,959,139,183,515,868,575,9,555,308,708,870,273,454,149,692,1142,1091,326,848,1059,806,376,529,531,941,185,251,466,1116,332,1110,154,772,1028,948,257,347,1005,1172,445,423,133,250,561,1070,1178,1040,479,145,749,978,711,283,314,616,88,671,1005,827,333,834,734,616,392,608,159,964,15,600,299,940,493,166,197,132,533,508,152,548,613,909,475,579,640,898,643,754,970,588,90,956,504,1055,650,1086,595,149,1086,692,942,415,1191,259,220,15,750,685,2,94,738,51,796,6,186,760,1001,541,927,1083,698,477,1061,576,492,805,1179,335,874,581,680,924,914,1016,873,357,1178,282,909,382,58,202,971,206,745,282,398,1038,147,206,953,11,663,51,31,547,130,1194,444,863,98,140,176,859,883,150,965,184,1142,522,971,621,1206,1126,152,706,567,146,391,231,99,535,1021,206,498,558,675,418,777,324,1074,33,231,763,825,329,265,719,562,57,451,273,815,265,432,1205,551,618,24,467,1049,1139,1002,418,212,609,398,656,20,826,459,612,281,205,970,1032,176,347,314,762,578,473,1153,635,741,454,31,679,164,508,612,469,1018,931,344,806,708,1067,642,251,34,379,944,972,1140,518,969,731,758,515,785,925,468,165,100,561,1098,825,547,776,1012,116,531,281,680,337,680,437,496,258,212,358,1186,120,1040,958,43,225,459,218,1180,666,432,481,671,317,23,84,74,168,25,1101,300,270,1055,811,505,38,772,602,560,1193,272,1179,857,736,562,513,867,490,342,878,117,948,484,66,370,82,787,515,412,466,131,953,951,351,1133,713,230,460,42],"error":{"max_abs":153,"max_l1":5508,"max_l2_squared":842724,"max_nonzero":36},"error_distribution":{"bound":153,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":36},"instance_digest":"2f34419ff3d683423c06ff9b84ef85f1cce694cfb3c8c76d919fa4c53de16920","instance_id":"lwe_0137","m":366,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"cfadf68da4ad5cf3dc3d3d6a090eb0e713c8836df34e266c804df0acbf48684b"},"n":122,"q":1229,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":122,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[1775,171,1704,1859,868,1147,836,940,205,27,873,844,1343,1159,1044,1070,1500,253,1216,254,1065,622,280,1737,276,1003,122,148,1924,2010,889,771,1381,127,1357,1867,482,1509,1133,1143,1527,2010,35,76,947,295,286,1938,1417,1910,1659,595,1768,655,1121,56,1609,1131,489,332,88,86,831,1011,915,1070,1583,70,674,472,525,1072,571,1669,1800,26,833,1188,766,65,1652,100,561,1944,1075,600,1181,717,1793,1293,729,211,1220,2005,1698,1366,1112,1917,1829,1719,1119,71,529,2022,1053,1717,1905,1586,1285,1222,1542,427,1797,1626,1670,1945,135,422,165,869,823,648,1329,1365,566,1027,33,1297,1842,466,788,961,205,741,389,1044,1233,1801,819,1830,847,403,787,1008,1734,1178,182,146,706,1219,31,635,432,533,905,1395,1506,3,1495,328,528,1048,866,1958,841,325,61,1665,864,657,1471,526,1254,1940,565,1493,105,1730,755,1627,308,1806,1366,157,534,1638,509,235,547,1882,761,42,296,1764,361,1416,304,980,458,1025,280,721,1413,1841,1167,581,607,1550,220,1109,1555,1154,488,1692,466,1778,777,44,47,1213,1559,1665,1410,935,336,2045,854,1051,1641,1196,598,569,1089,227,1320,1726,1960,2022,1716,1959,446,1511,1756,152,884,1254,1153,730,198,1394,1838,807,1626,1855,1458,316,2021,489,312,686,1132,1940,675,1635,1329,430,1816,182,1782,115,1047,244,644,1105,207,81,61,612,1551,24,1753,1298,356,1133,922,1325,523,2037,1563,1217,884],"error":{"max_abs":256,"max_l1":9472,"max_l2_squared":2424832,"max_nonzero":37},"error_distribution":{"bound":256,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":37},"instance_digest":"8f4d3f49eec8ef4ba9403542185c4fd8c85701b7bc1013c0795cfe38aeba3f97","instance_id":"lwe_0138","m":291,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"ed40637e59ddccbf8fddaf7b958f8b58f4ff1e08f1ae9ff12c991dc9b76e6776"},"n":97,"q":2053,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":97,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[1950,1884,374,2127,1925,2189,1040,651,117,2882,3511,2944,3537,1042,1406,1061,2736,3511,3322,132,3749,3450,42,3036,1937,955,576,216,3501,3462,1457,1762,795,2035,1758,3277,189,1490,586,333,3322,2833,1952,2131,1726,996,416,3900,2106,1599,1359,3338,3917,2259,944,3998,2294,2806,300,3020,3700,1278,3579,1039,2296,1360,3107,1908,912,3227,2924,3599,493,2841,2990,1829,613,3421,3270,2224,3364,1881,2584,2234,3315,149,1276,2703,1206,2425,2514,156,3895,2571,2367,1215,943,906,2994,3675,777,3579,3883,747,1938,567,3207,2591,1454,3621,1716,2596,2942,2760,718,1040,2978,1895,3808,984,1597,2657,1670,2736,1236,3827,2195,764,2335,3659,3198,145,388,340,1619,1617,2586,3056,484,3743,3297,3663,2433,2598,3977,302,1400,2381,3060,1531,383,3997,274,2800,1423,923,3960,3527,3752,3879,1011,2378,775,80,3141,2113,404,3780,3057,985,3079,383,1726,3725,3864,2411,3708,2705,273,2085,505,3073,3947,2834,577,2053,2078,3032,2735,873,3744,2310,238,1272,1771,4061,3372,2911,3618,943,2765,3501,258,3295,1827,2526,1859,1487,1591,3429,1454,3245,173,609,1190,1831,3950,2188,3195,2320,3421,555,615,461,1972,3032,1159,1269,186,1438,2992,515,3286,2744,3005,2095,2399,2568,3547,1116,3332,2438,1122,4011,1195,2098,3987,443,3859,1494,2872,3043,2532,2803,1869,3948,2859,2824,1846,958,1199,572,321,3499,2024,674,1842,332,2264,1235,1252,517,2786,1522,140,1529,2551,4028,1285,1593,2728,3757,3139,3825,2926,796,1555,2139,1146,1182,379,394,1846,2622,1588,3593,75,2922,953,3145,39,1601,48,3452,540,3751,615,2052,158,324,1817,3428,3533,1187,129,1052,2587,2039,1396,2038,478,3663,3142,1206,3339,1223,1368,1909,1400,279,2766,1006,1895,180,180,3101,486,1208,2154],"error":{"max_abs":511,"max_l1":19929,"max_l2_squared":10183719,"max_nonzero":39},"error_distribution":{"bound":511,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":39},"instance_digest":"da6a88126e29db409074585468847ff530496b230e9552740ec19b44267fccca","instance_id":"lwe_0139","m":339,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"b600683a8f493682bc23256617ca332e424b1e9338ddc1373e5e48d056ce37e1"},"n":113,"q":4093,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":113,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[117,151,190,96,205,233,170,205,201,159,139,254,156,182,50,145,189,75,107,42,232,40,240,171,163,22,5,118,247,66,76,6,3,249,121,7,68,87,194,73,111,80,182,193,17,3,159,134,206,206,209,200,123,32,188,184,247,23,14,196,221,202,117,29,10,232,198,142,109,184,137,46,228,178,154,62,3,224,175,228,228,1,22,10,20,242,245,158,100,131,6,245,82,171,178,36,173,205,30,62,123,180,211,136,189,135,59,59,232,237,186,169,205,79,156,164,2,26,154,80,223,42,250,65,226,39,169,211,37,133,99,37,221,23,121,130,158,136,42,190,256,31,47,128,25,3,24,90,230,198,15,254,163,210,240,146,202,141,102,82,225,8,245,60,1,23,122,26,161,218,182,93,213,125,96,113,78,97,241,151,242,171,27,151,9,218,144,157,75,212,42,99,16,74,151,62,181,47,158,192,174,56,169,173,44,125,14,208,84,90,92,118,214,142,35,214,164,61,189,218,85,193,69,132,186,171,143,101,153,102,161,75,108,222,3,175,207,110,168,52,183,97,79,24,132,204,235,237,194,185,154,229,115,175,151,246,95,221,107,68,243,143,139,16,40,152,150,156,256,246,168,95,145,136,104,62,116,20,71,207,189,40,141,210,88,193,181,24],"error":{"max_abs":32,"max_l1":1280,"max_l2_squared":40960,"max_nonzero":40},"error_distribution":{"bound":32,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":40},"instance_digest":"f4ac8a75f98e24cbaf5b0aa89dc1e9ba206e30afbdccc44495901cda1b648b93","instance_id":"lwe_0140","m":288,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"ddf9dc17838217251449929698e571e90e64bb557282c12ba755d41e16a41967"},"n":96,"q":257,"schema_version":1,"secret":{"alphabet":[],"kind":"mod_q","max_nonzero":96,"min_nonzero":0},"secret_distribution":{"alphabet":[],"eta":null,"kind":"uniform_mod_q","weight":null}} +{"b":[679,179,1157,1218,1201,1187,575,484,142,235,1101,69,873,777,792,721,531,219,441,281,470,259,1063,756,994,17,7,126,1204,190,11,483,6,1147,1207,60,1149,123,987,1161,524,112,751,433,21,227,890,116,67,224,1225,88,597,1221,10,30,960,821,639,18,21,798,603,876,1056,856,1209,370,893,33,1206,306,1118,944,1189,1089,1198,19,867,1133,82,92,82,1130,102,1135,87,1159,26,575,1050,1213,298,1206,1036,22,740,641],"error":{"max_abs":153,"max_l1":14994,"max_l2_squared":2294082,"max_nonzero":98},"error_distribution":{"bound":153,"eta":null,"kind":"truncated_discrete_gaussian","sigma":51.0,"weight":null},"instance_digest":"60da6a8c0e6cca3aa7e95f6689137cff04d5e457ca9fffc7d5f4e036ee0614f1","instance_id":"lwe_0141","m":98,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":14,"seed_hex":"b7fade4668a663e0fbdde33009e8d0b5b6b5cdc5f4c24067fa354504524c6f4c"},"n":45,"q":1229,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":4,"min_nonzero":4},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":4}} +{"b":[1642,317,228,1840,2000,164,1903,1739,142,1722,515,393,1784,265,1002,302,4,185,78,1588,123,1897,920,1428,963,1237,1614,510,117,1372,6,1603,346,1849,1866,1307,1810,1754,1826,985,2004,916,36,1989,224,2016,1462,180,1612,1903,948,1956,1432,419,1530,1374,108,385,1127,1935,170,68,1562,17,1724,781,342,1293,153,966,313,198,180,105,235,1898,1901,1637,100,1289,1436,1573,129,1935,2028,1974,2022,1972,1912,224,1854,1905,29,728,1537,198,1266,697,1901,2009,601,1819,761,618,1161,472,1922,410,1951,1122,19,1330,1599,1028,1900,1941,492,367,42,1808,1909,902,488,1889,1235,22,33,77,1668,480,670,193,1782,1944,1922,1350,1720,1833,230,247,1944,1971,1117,939,874,54,23,1928],"error":{"max_abs":256,"max_l1":37888,"max_l2_squared":9699328,"max_nonzero":148},"error_distribution":{"bound":256,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"f14ca05ee30e2200c36a82328818a4a4e96d74614c10014c4d3142c4c0b00771","instance_id":"lwe_0142","m":148,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":17,"seed_hex":"a1bc4743b8465e1ec740299cb9424b4270e53e3636dd929a7880a982f1034975"},"n":70,"q":2053,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":3,"min_nonzero":3},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"exact_weight_alphabet","weight":3}} +{"b":[340,4068,2963,4054,474,3854,73,249,1583,67,4052,3240,22,1966,32,4053,172,4059,4033,4067,2256,3737,2066,4001,9,3850,4072,3988,3750,668,3898,94,4089,117,2381,4014,2452,3877,826,3772,3728,51,2352,149,4010,4066,4052,4043,66,3595,3834,2302,4044,170,116,17,3842,3873,467,1055,48,3848,3711,3983,191,3990,2678,3745,215,2849,1361,3866,4,4006,3922,16,176,703,3893,23,3946,37,136,3941,1272,2427,874,2721,3996,3774,4009,3644,3954,4088,1552,1903,959,2644,1109,3985,2,2850,3916,131,46,62,3729,3606,80,1586,257,3973,3888,192,3755,3155,3993,38,4075,2321,186,3932,4052,3852,3846,1501,2947,191,3482,2065,2942,3778,3909,4052,64,2463,4071,1686,3916,3911,40,0,3963,3847,3422,3879,311,3977,4060,38,263,116,75,1284,98,1575,3973,3879,272,22,323,124,128,293,881,3923,3934,3937,3210,913,3857,103,235,3973,363,20,123,2706,2282,4087,3908,4045,285,3782,52,1943,1952,2130,448,3060,2696,2659,3662,3031,172,2926,28,3984,1708,2818,254,257,4045,176,4052,113,1097,1618,818,3898,3839,75,3801,959,3866,169,3740,3026,4086,307,4004,3845,26,3983,4014,133,228,129,358,3456,218,4014,46,908,440,3764,3990,4065,4019,2420,4051,67,2971,2520,22,3903,31,469,2864,3885,1352,2392,56,987,3845,241,241,142,2500,2653,3553,3766,1962,3965,1865,2930,729,459,2906,975,3190,2079,4073,3365,26,47,3887,1272,4027,123,4045,1821,4037,104,4004,3543,945,771,1317,1201,7,190,293,3766,131,2579,3913,2981,4033,3715,10,348,3990,1539,175,17,487,2794,3870,2531,2679,3913,23,2652,2182,907,464,4064,1409,587,3663,1299,1360,1898,285,1423,2212,2137,3879,1760,4034,155,3880,2887,3995,1956,1503,3788,3955,2450,4037,267,2996,2610,4092,2042,3792,78,111,2798,2101,3475],"error":{"max_abs":511,"max_l1":179872,"max_l2_squared":91914592,"max_nonzero":352},"error_distribution":{"bound":511,"eta":null,"kind":"truncated_discrete_gaussian","sigma":170.33333333333334,"weight":null},"instance_digest":"fc787e38fb5d0aa7bfa2252a817845be23ae8790963cf56f1e1fb02bf387c221","instance_id":"lwe_0143","m":352,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":27,"seed_hex":"da4016efe1bcb6b9989497486740862c4af6eacab21718e06f27dcca8a76c056"},"n":172,"q":4093,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":3,"min_nonzero":3},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":3}} +{"b":[14,231,137,126,226,32,28,256,124,241,244,61,0,106,183,232,239,129,225,235,253,235,0,235,31,148,19,72,246,243,1,77,102,23,31,24,23,237,137,229,120,6,229,245,74,239,6,4,136,0,18,243,4,244,16,36,11,233,20,27,227,27,207,18,156,145,6,1,21,7,256,65,193,11,247,225,7,235,23,235,4,14,168,228,203,254,86,2,113,245,25,19,126,22,249,8,256,238,242,228,17,250,4,18,7,230,250,0,57,237,249,225,25,234,234,20,50,81,19,230,12,238,195,26,227,231,248,23,13,176,4,233,4,15,30,228,1,246,20,247,3,230,245,19,7,32,247,253,229,231,248,26,1,237,248,249,9,235,8,3,29,256,236,252,14,225,240,29,236,234,112,32,241,250,21,231,19,21,5,21,19,19,11,13,222,13,9,0,251,7,236,229,0,244,227,226,233,28,233,157,60,7,22,8,128,15,229,230,186,235,227,253,0,28,230,246,256,253,32,252,28,250,16,32,23,248,6,252,13,78,30,30,17,226,70,253,235,22,246,0,5,9,28,224,16,3,245,252,255,68,239,238,1,23,2,216,239,18,243,5,247,31,35,247,91,21,27,67,28,18,7,23,242,31,243,241,12,223,8,16,30,10,243,251,22,2,56,6,4,244,31,15,250,241,4,16,21,232,254,139,190,239,242,177,230,226,255,2,247,240,234,130,4,5,208,22,7,224,31,251,55,108,123,249,232,5,11,11,191,68,23,255,19,4,29,1,232,15,252,217,23,17,68,234,240,108,254,162,32,245,25,30,28,5,250,243,68,100,233,10,18,113,160,14,253,238,23,241,253,237,236,12,25,228,28,20,247,247,237,25,254,20,29,241,238,226,34,27,1,1,31,227,127,229,23,14,254,25,236,229,26,251,237,238,20,6,227,21,23,32,172,239,21,232,31,235,226,187,236,22,170,19,255,230,4,29,243,22,17,30,236,256,118,225,253,240,29,227,29,22,85,226,254,22,25,21,227,87,227,14,56,236,233,230,22,23,22,248,13,228,8,25,244,26,242,19,24,252,131,234,244,247,238,245,0,2,22,114,246,21,120,256,3,232,161,24,184,68,112,256,253,249,118,16,245,250,7,245,11,30,228,8,17,229,39,79,19,249,245,17,227,143,20,225,2,28,20,0,17,7,23,157,243,242,9,236,230,24,231,32,244,209,9,7,254,21,241,23,22,228,3,209,3,230,120,243,37,11,12,228,5,252,16,236,246,234,234,242,28,11,31,231,17,225,26,75,230,55,150,19,252,3,225,228,6,20,251,236,9,249,31,251,244,1,40,1,247,255,15,12,255,26,7,229,21,189,245,24,232,248,31,26,28,197,20,242,231,240,256,256,31,5,15,231,5,13,226,11,21,249,18,220,30,229,234,26,232,18,50,81,232,32,208,29,25,45,0,7,254,5,256,9,239,12,6,28,145,10,6,251,248,30,250,12,28,251,231,10,246,4,225,22,144,226,0,231,248,16,2,5,54,198,248,4,230,9,20,241,214,225,23,236,101,40,5,101,114,145,242,135,253,243,227,16,242,161,243,12,162,254,245,244,252,24,236,19,26,242,3,252,23,229,227,227,55,240,126,2,249,13,254,30,240,249,66,11,221,10,254,23,232,28,236,25,241,31,31,243,31,43,240,249,31,12,31,243,232,243,27,21,24,26,2,242,234,26,30,180,9,242,246,245,87,207,12,32,4,209,229,5,252,22,227,88,126,33,256,9,237,1,14,226,234,32,238,244,22,245,240,25,247,147,32,229,255,12,4,4,6,24,256,231,254,21,9,24,230,21,244,248,253,26,226,25,20,234,29,255,225,226,252,136,237,14,178,233,19,0,252,13,234,251,27,4,225,225,240,249,240,142,1,21,239,256,232,235,226,24,230,22,11,30,3,115,17,240,12,17,242,256,227,243,21,14,0,14,253,247,249,2,253,229,0,25,251,249,253,252],"error":{"max_abs":32,"max_l1":28096,"max_l2_squared":899072,"max_nonzero":878},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"d77f74ec4ef7a15c5bc572828e47582fe6b07bfa4e61284b089b042d994123fa","instance_id":"lwe_0144","m":878,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":42,"seed_hex":"59c8463d26b3b4d73feb3a0954a4ca1d5cc6e6d66f8b844bd77397be09ea96a3"},"n":435,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":2,"min_nonzero":2},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"exact_weight_alphabet","weight":2}} +{"b":[762,565,446,763,25,12,726,762,18,16,679,732,66,354,757,524,336,33,50,24,729,49,15,12,13,733,28,379,42,767,467,758,715,763,30,751,34,19,15,172,11,46,37,45,17,742,164,705,66,42,10,4,767,748,60,745,678,483,194,10,767,223,38,210,616,17,125,42,756,1,70,722,48,280,378,697,709,7,757,734,19,563,46,1,717,755,54,53,631,300,760,755,713,20,25,131,596,188,739,763,630,72,763,742,767,757,83,15,717,593,599,743,0,634,16,45,740,54,356,240,767,326,47,2,766,767,193,41,605,485,706,758,666,0,722,19,27,16,731,750,10,1,62,279,43,745,654,289,12,211,23,13,375,13,83,708,24,755,723,12,234,106,760,743,3,25,10,645,709,40,20,24,487,9,36,1,18,226,71,751,123,132,613,738,435,456,765,16,718,80,758,78,34,736,12,500,12,189,24,37,495,747,601,747,51,705,13,505,77,80,46,761,704,6,106,32,729,739,607,708,167,75,548,235,438,765,3,22,5,0,583,11,80,390,738,765,8,749,204,768,550,758,80,10,300,206,753,762,708,758,256,151,710,727,429,38,34,356,642,6,616,13,185,470,5,2,729,90,248,746,768,11,441,403,764,747,6,36,721,7,88,760,9,719,43,758,1,550,262,515,735,757,132,14,582,735,206,722,5,48,331,743,669,570,165,723,750,741,43,727,2,452,21,726,767,710,212,65,4,20,24,746,730,39,757,30,705,5,762,521,11,20,38,55,437,1,6,62,750,432,20,738,148,731,693,711,0,761,741,376,751,400,738,24,732,36,762,122,716,760,7,27,8,714,717,263,715,749,15,52,370,520,757,615,754,752,158,758,390,714,741,354,681,698,38,442,738,755,728,2,146,766,3,96,754,45,6,40,12,62,749,563,733,30,768,593,31,279,477,22,764,739,32,92,181,692,750,13,265,42,60,397,717,28,154,51,31,706,13,10,747,248,16,244,486,516,113,714,62,3,752,7,669,2,9,562,754,63,74,29,79,594,26,575,722,667,14,214,183,625,146,754,3,756,767,746,39,740,2,500,767,721,7,720,708,1,11,5,736,96,736,699,472,564,51,749,747,475,354,740,66,427,766,1,732,767,248,402,11,411,314,36,560,733,8,4,751,717,273,754,749,754,27,258,38,112,6,29,7,728,735,196,506,765,405,725,10,289],"error":{"max_abs":96,"max_l1":50688,"max_l2_squared":4866048,"max_nonzero":528},"error_distribution":{"bound":96,"eta":null,"kind":"truncated_discrete_gaussian","sigma":32.0,"weight":null},"instance_digest":"73f0bd1ebe402085b8ada8413c4bb67e62c0924c76eb18c4657c1e9a7317f939","instance_id":"lwe_0145","m":528,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":33,"seed_hex":"0490e8f16515f1f4cbcdaef4293b1a5dd9cfa88a9c8664e2a3f529af544474c1"},"n":260,"q":769,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":3,"min_nonzero":3},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":3}} +{"b":[1122,1179,1211,1169,0,102,17,117,1130,1095,148,45,1186,1121,1221,71,1114,125,5,0,6,511,1216,55,1088,142,128,1016,147,110,45,61,1163,141,9,147,1147,9,840,18,1227,108,152,56,53,141,531,27,721,79,38,56,12,139,143,1154,239,792,647,63,1221,1159,182,92,1096,19,1192,68,7,1100,97,1197,88,1106,140,1200,94,25,1210,48,1156,1132,107,1192,122,1097,1129,1211,134,75,1137,1135,1163,1108,1091,1145,1097,55,1115,1112,129,130,1197,1168,183,45,475,21,1153,1107,1123,317,1116,1100,143,63,78,1078,426,1106,104,94,1166,86,90,112,1225,86,1115,1105,1175,1083,45,1170,87,1115,28,1214,1078,1107,18,1105,1095,144,1037,1207,1141,1138,29,1101,93,4,145,1217,53,1,1129,2,69,12,1064,218,138,1152,19,939,1202,694,255,97,1169,1180,150,1024,1077,32,1222,1172,1121,1168,107,1159,1106,1227,1086,103,1158,74,1155,1078,149,96,84,36,1211,146,151,10,76,134,1203,101,1078,1212,119,1159,1127,149,1085,1099,41,27,17,1173,1108,180,1187,19,17,1134,145,41,1028,1107,1169,1079,46,32,149,1089,1228,227,10,1127,751,112,10,153,1133,14,11,134,98,75,1163,61,1175,1166,1174,1118,67,148,39,1083,18,1149,149,143,1206,89,149,90,151,1212,80,1145,1127,80,90,1084,1220,1212,1115,12,1084,77,1180,1081,4,36,95,1127,1115,9,1166,5,10,39,1148,1207,93,1176,1218,152,156,1170,1101,1215,8,1108,1165,1091,140,23,1154,1225,2,770,138,29,1091,1145,1138,111,1127,1095,92,1097,146,796,91,1220,1082,105,127,1080,97,1212,1170,1144,17,31,1138,87,1084,1080,1153,158,362,44,1223,694,1116,1122,18,1223,1127,176,57,8,41,123,1180,1094,1214,93,69,13,1161,1126,1151,1147,137,736,1207,0,1091,1116,9,1162,50,1143,1136,1215,1190,1226,1090,147,1095,1146,1147,1120,1164,1147,114,391,893,1098,562,1132,1092,1205,114,149,1126,1164,35,92,1086,1088,1210,1157,1186,117,1126,1112,89,45,1190,317,37,1151,1220,75,51,1216,1135,868,16,47,1208,1109,55,78,1113,1084,27,32,1096,1076,1150,52,510,33,892,69,71,1179,1131,1224,0,127,100,83,49,1136,1078,93,103,123,1165,1122,138,128,1102,1110,105,446,131,1210,1149,93,1120,1177,469,90,106,78,1171,113,1093,123,1159,10,1194,1086,1178,96,1197,1102,1079,72,109,749,150,36,454,799,27,1155,82,123,41,44,142,74,1121,38,1206,909,95,141,41,1224,34,33,1228,1166,1081,123,474,131,1115,1127,1179,556,40,54,123,64,65,1,412,12,39,1192,46,79,102,929,1183,1106,16,915,154,915,1083,1121,131,1123,1081,254,1138,633,1087,141,1088,53,524,1145,17,30,1167,91,140,83,152,636,88,702,75,1113,141,1114,75,1171,1076,1213,1196,56,1201,1160,20,62,490,1122,1186,1171,1216,25,1087,712,1137,1201,42,34,35,83,408,133,1173,1093,108,50,122,1086,35,1169,1181,1095,142,1130,1222,71,1210,58,302,39,47,99,48,105,144,123,9,30,1187,1195,1099,1222,34,112,406,1090,86,1134,1224,40,411,1223,131,69,1185,53,1199,74,9,1188,5,101,1227,102,1121,1085,97,1144,1098,1142,2,147,1184,65,1170,115,813,109,141,33,182,1184,150,25,1196,59,1132,36,913,1150,1202,1094,87,95,84,1225,1159,30,1081,590,38,1126,1101,1090,1106,109,1126,1078,31,152,1165,1174,23,87,136,122,1132,83,1202,1152,104,14,745,122,36,71,113,102,20,1147,1170,1076,58,1162,1154,1186,1115,1119,5,93,1078,28,144,1154,64,1193,1176,75,1099,51,1094,3,1141,1216,237,30,144,1197,1221,1192,1195,563,1171,1086,73,1159,1148,73,1111,1191,111,1082,1156,116,1152,1173,1130,1097,85,10,109,111,733,1225,49,983,80,1188,1056,1158,513,127,1170,1207,32,124,225,104,1102,280,465,122,142,1205,1223,1212,144,1180,1168,1097,1151,62,1184,82,61,62,1204,1219,1213,897,1195,13,28,1173,134,0,451,29,1139,1127,1190,552,1150,1129,1123,1169,1147,17,79,37,93,1201,961,116,1215,1135,60,749,74,21,312,1226,1212,1088,593,120,138,1117,65,1140,1155,288,1175,1028,1120,108,1173,1226,1083,108,1226,1161,93,73,90,1138,1168,94,336,7,129,50,7,1093,73,105,87,45,69,1203,1091,1191,1155,105,94,1123,664,313,123,60,48,123,23,1219,1204,84,1209,1130,1186,6,1121,60,1175,97,1132,68,1172,1223,76,100,1133,1205,53,1173,48,385,1121,1162,1085,1107,1083,30,1133,901,1111,1087,1180,132,1203,84,1083,120,76,149,119,47,1139,1086,1096,1143,1108,1154,1129,135,1209,822,1102,1082,1166,2,35,695,1179,279,1138,1208,1159,66,150,1105,125,15,1195,1189,146,1223,59,72,1090,87,1174,1152,1176,47,61,1169,135,79,1086,1203,1112,17,106,69,1187,1226,1016,71,1185,105,1106,103,363,1190,59,1180,1219,90,1207,132,1223,6,30,495,418,305,55,1195,142,1178,104,105,464,642,1207,915,1187,87,1161,144,16,148,1150,150,43,3,91,1218,8,1138,110,75,1117,109,77,1087,59,84,1201,8,67,1151,1114,70,1103,1135,1132,1224,65,6,1152,984,947,1087,126,57,97,1113,1179,1200,156,1171,1193,1140,113,1211,1163,1157,103,1189,1081,1153,112,1139,79,1143,36,37,1192,1090,1079,32,1056,13,57,83,1134,1156,1194,609,106,95,1077,100,37,48,76,1212,133,1227,144,1087,53,1223,879,1214,475,84,90,1175,27,1098,1172,1161,1183,106,76,1179,1198,32,75,10,124,1109,16,1109,1157,1192,2,1096,1031,441,318,1180,210,91,1087,1117,1053,1135,1202,1223,1109,49,32,18,150,24,10,1200,1113,1152,72,127,1197,3,1092,1149,111,1106,107,41,40,139,1149,1090,1081,1085,1108,1,11,1126,117,502,69,1202,143,1106,19,1213,1173,93,1218,1093,70,75,1143,1142,1105,67,1171,1092,88,1222,147,1112,1094,1135,1086,69,90,1118,71,1144,1084,0,539,16,1209,73,1176,1188,21,1108,72,114,591,1114,93,1108,113,734,1163,4,1129,58,1215,62,1089,1107,1158,1216,37,676,15,1109,1098,25,1194,1217,128,856,1182,32,69,919,1185,1194,54,1171,83,1208,1091,20,682,140,1134,67,153,1177,1088,90,1133,1150,13,59,1115,104,1189,1104,1168,472,78,1125,142,1209,41,1115,59,1160,1172,1108,110,105,1148,1076,56,29,48,1117,1096,20,1076,1,1096,551,135,1085,1118,1156,107,1217,3,72,56,15,110,17,50,149,1227,90,1188,1080,47,1099,1083,13,97,43,567,41,7,1182,59,1166,32,48,1107,145,1206,1137,1205,1082,1197,35,581,35,69,94,1195,1175,1119,1088,1112,296,1162,38,56,149,24,109,30,144,692,137,1198,1136,1211,15,1134,4,16,47,47,1169,125,1083,120,1110,53,1076,111,757,1154,1,1085,95,53,139,124,1179,86,105,1188,1215,1090,1218,1199,60,1140,1175,4,28,1116,1180,1097,1220,131,1152,60,49,110,23,132,1213,767,1092,147,102,116,1129,12,1185,1225,104,1175,406,1141,44,1181,111,37,1087,425,98,82,112,100,1159,1103,43,1217,1124,1112,1087,1181,118,1217,76,103,376,1182,792,1094,29,51,20,124,13,1214,1190,140,22,1191,1221,88,72,133,673,1087,106,1124,46,48,1190,1104,1189,1175,754,130,143,1210,1188,1156,1187,77,70,1171,304,1150,38,1156,56,92,9,1197,28,59,69,1161,867,150,1115,1221,1162,1141,1116,1141,85,136,20,1172,1182,1077,140,53,1090,95,91,21,1161,1025,18,1118,1163,1185,1078,4,1136,80,108,43,1139,1192,136,1146,1154,55,1220,98,36,118,1200,5,1113,208,102,1187,18,1208,1179,1103,105,98,1129,1160,99,1156,881,37,1190,1173,68,1190,104,129,373,1098,54,631,1218,1083,1139,1178,26,65,145,93,1225,60,1169,91,118,58,44,59,147,1199,330,72,1091,1199,119,1090,51,1197,81,149,1120,1102,83,118,144,110,1108,236,1154,74,1133,1140,1196,227,979,372,93,1226,1170,60,55,1165,667,1213,1155,861,1196,1178,484,61,1114,1156,1093,108,1155,1139,1225,49,150,1005,131,1168,1143,1098,1194,1194,93,26,1201,3,8,59,98,9,115,1144,101,1193,127,1079,1121,1131,123,1114,1166,1226,1091,1221,131,88,314,1153,1129,1195,1196,948,62,1187,146,23,35,119,1159,30,277,1122,122,93,125,1081,56,36,118,1179,18,1211,1220,1201,104,1166,127,165,1141,143,1228,1168,1132,1151,62,91,271,1102,1119,57,550,1106,1223,1228,135,1088,350,81,27,118,85,1123,1138,1225,36,1094,1170,1078,63,132,1191,36,13,1153,1092,71,1142,1216,89,1080,36,113,786,37,1169,1163,76,12,1126,1211,41,73,1097,37,1212,1183,26,98,56,1113,661,90,144,12,1162,1081,130,1194,1191,146,1095,63,1123,49,150,256,47,48,1114,1134,1120,56,1089,1099,1134,1138,49,1101,104,7,7,109,44,1151,1188,1181,1103,1127,85,89,144,62,67,1144,1120,50,1114,1206,1172,1112,58,48,528,130,1131,143,109,101,115,1080,1092,1080,22,350,1140,127,57,1120,1128,39,55,95,105,132,28,1187,359,144,50,875,23,1145,68,146,76,34,1096,1149,1104,110,1157,97,1203,150,1170,755,1192,1170,81,57,1159,1095,130,1179,1101,1135,16,137,864,80,1125,1111,1097,951,1185,1112,1076,1167,14,3,129,1106,114,707,55,1182,1090,98,1193,30,61,1158,1116,1098,1226,93,144,111,109,1093,34,529,1158,1214,13,1160,102,1120,1112,113,133,108,150,1224,1197,1185,1221,1156,1124,63,1090,807,1186,1083,81,1082,49,151,90,1199,135,1158,1177,81,1214,472,344,124,1122,35,1153,1208,1146,1125,1196,18,4,1115,55,73,139,1124,38,1121,6,1162,931,1117,49,29,1105,1228,1222,1123,1109,1146,587,94,62,113,49,88,29,9,147,87,1180,1126,58,0,68,1144,1095,130,1189,176,1163,56,1129,10,69,115,13,1167,1163,30,7,142,1104,114,28,1095,1221,86,1125,145,365,1137,1138,1104,138,1206,112,141,51,1148,1191,32,128,1172,1180,139,1191,1160,130,118,1087,1196,1227,1199,122,116,1105,55,1133,146,1222,546,1130,16,1135,942,1189,6,18,1160,83,222,1190,72,14,551,1095,81,801,1125,87,77,293,40,1079,2,1151,1168,70,1131,1189,1221,1220,77,127,376,119,48,149,1139,37,1116,1102,58,16,72,1164,11,573,1203,84,1146,47,1160,1101,736,35,90,16,89,62,90,1186,1174,1194,50,54,73,1204,1216,1182,74,1225,1121,117,1222,103,1170,1128,1080,1184,115,1017,75,14,64,118,54,1176,15,1084,135,35,82,23,1079,93,1168,17,1103,1101,82,1121,141,80,1121,137,1135,1192,138,1212,1158,136,1156,1164,74,88,1146,1079,1209,337,1173,1090,1171,436,1122,90,1199,55,100,1182,90,81,407,1106,1169,1155,1217,1168,126,1183,1109,1211,8,1177,1078,419,85,1,1203,133,535,1145,1164,1214,103,77,74,29,66,1078,81,113,1160,104,1207,1214,1123,11,357,1098,1174,10,139,1032,11,1081,136,188,1145,59,144,1189,121,1190,25,1219,1211,107,92,1215,1133,1221,57,1175,151,1220,1185,1103,138,5,23,1109,120,143,58,280,59,141,1227,1134,146,1141,1101,292,58,36,1156,22,37,40,40,1182,1137,902,115,1148,96,1174,44,1109,1171,120,1153,1091,6,95,685,1207,24,1204,61,91,87,1083,79,1100,110,130,1153,1111,1205,78,1157,86,95,91,1224,131,1160,215,308,1209,41,1109,67,144,10,1150,16,1076,1158,283,47,106,35,1102,16,30,61,1193,1101,153,126,969,142,1197,131,45,1183,1214,1226,135,1120,151,52,87,1203,73,1205,85,1189,305,32,1225,732,1149,1167,1094,137,150,1117,1171,418,147,38,0,1158,14,15,1133,2,78,18,94,90,137,1208,1210,1188,116,1126,11,1164,239,37,23,1131,1200,528,74,1166,1131,1202,69,122,1146,48,1100,942,1110,1100,1205,1170,1092,1225,1131,1217,27,87,1166,1136,119,25,180,135,1140,1158,65,77,142],"error":{"max_abs":153,"max_l1":365364,"max_l2_squared":55900692,"max_nonzero":2388},"error_distribution":{"bound":153,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"4712e207e58b4c7d62a418d766ed8aa24b0744d80734b9712ae06a2bb11bdd12","instance_id":"lwe_0146","m":2388,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":69,"seed_hex":"51b89a2b92d01ea710fb97c5fd7282eaef85f36e415ea88fd416da48cc0b1d5f"},"n":1190,"q":1229,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":2,"min_nonzero":2},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"exact_weight_alphabet","weight":2}} +{"b":[42,167,137,239,129,53,32,119,85,170,2,233,16,253,248,75,232,6,240,159,6,127,160,130,117,47,159,130,106,150,74,73,116,208,45,55,194,182,15,8,71,206,46,29,16,182,26,72,21,22,105,87,173,188,102,78,89,248,92,11,126,82,152,31,122,256,34,219,127,138,107,226,103,7,203,165,256,11,83,218,26,132,124,50,77,222,123,255,160,250,37,203,155,149,127,107,215,11,194,150,68,28,179,174,213,225,33,21,100,127,94,65,126,182,215,89,11,110,226,126,28,211,139,80,105,250,49,124,251,250,43,41,51,87,69,84,249,53],"error":{"max_abs":32,"max_l1":4416,"max_l2_squared":141312,"max_nonzero":138},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"9747ac62c02fd56715f32c8d5e1960e66107c9512002c354551c664224eb3cfe","instance_id":"lwe_0147","m":138,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":23,"seed_hex":"e6f12505e22855fad357815f11fde489fe7cd4dedeea40c219b92cb2a0c18127"},"n":130,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[44,162,211,250,213,208,236,141,201,201,40,27,232,12,101,161,29,187,243,174,192,1,71,94,221,242,49,254,32,251,44,3,57,215,206,160,244,170,46,227,78,26,127,68,223,202,181,123,222,87,215,247,98,38,192,194,202,205,228,99,218,242,78,137,224,255,179,15,222,130,117,36,7,43,198,67,47,254,12,182,177,135,15,100,96,205,99,213,153,31,47,67,181,128,229,159,159,53,165,21,221,12,120,215,107,17,31,207,238,34,72,95,11,153,105,168,0,0,248,37,145,59,63,108,63,76,147,119,144,43,79,50,222,45,156,139,45,14],"error":{"max_abs":32,"max_l1":4416,"max_l2_squared":141312,"max_nonzero":138},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"e827b5a8bed75ab0be931713ea0ffbee2293f24ddc493bd23755a6b28e589146","instance_id":"lwe_0148","m":138,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":23,"seed_hex":"e0200c65e13130a5efc62d15d90216f9efbcea266166ac108d16ba2d84e5fc3f"},"n":130,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[45,6,101,141,168,235,132,248,248,137,235,195,232,37,50,43,22,234,53,207,121,214,231,111,42,121,81,3,216,31,75,28,19,223,96,225,250,85,51,25,12,217,156,198,217,87,51,229,145,135,29,135,190,26,6,83,196,193,17,34,228,237,226,249,238,15,232,232,43,141,127,253,39,137,55,140,67,242,188,64,56,235,74,228,113,168,46,234,49,92,68,51,26,221,229,177,198,242,57,218,23,14,151,154,172,29,151,134,98,153,110,69,59,32,43,14,240,29,15,17,215,106,14,169,130,48,157,85,137,55,238,13,126,66,41,180,12,117,41,4,118,59,209,148,4,240,1,226,39,65,104,20,102,177,189,27,145,74],"error":{"max_abs":32,"max_l1":5056,"max_l2_squared":161792,"max_nonzero":158},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"3a6858115441ce7e722a6683ceef767440982aa37a773637979e41b36402b811","instance_id":"lwe_0149","m":158,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":25,"seed_hex":"8f64913fd53cfdeb06562d270cbc4252453d92c60d63f9ac3f2c87436b8373c7"},"n":150,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[152,105,24,195,88,96,214,68,197,102,96,244,98,122,75,137,201,116,204,233,23,196,58,118,21,126,123,120,35,124,76,86,149,236,58,221,21,238,226,210,228,223,129,60,195,30,184,118,217,19,233,217,228,252,161,180,49,6,67,183,111,168,97,170,2,154,221,211,117,181,29,193,176,211,185,91,195,200,113,213,180,184,198],"error":{"max_abs":32,"max_l1":2656,"max_l2_squared":84992,"max_nonzero":83},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"0e8e4c4030bec7432b3a1e23f1c9c0ab78253c6d49973570f48b3cc923e1539e","instance_id":"lwe_0150","m":83,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":18,"seed_hex":"f1ab802f64e65c0f816de9bfeb876baf34ffa5a840927869199a30398e8b0971"},"n":75,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[237,34,78,186,180,16,90,151,113,173,88,137,83,208,161,126,22,247,21,180,41,152,245,255,113,233,103,59,39,95,159,254,53,248,39,241,122,112,19,225,238,35,238,197,82,170,148,212,241,192,165,45,147,142,31,143,85,81,166,215,17,192,143,210,59,241,90,82,17,47,37,185,208,122,51,221,127,229,135,36,13,99,158,40,80,72,201,51,226,102,71,244,242],"error":{"max_abs":32,"max_l1":2976,"max_l2_squared":95232,"max_nonzero":93},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"f20f13bb98becb868d528fc8dcd1ae7748fd69018a912b80e61583ebaf2b0bb7","instance_id":"lwe_0151","m":93,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":19,"seed_hex":"fb4710282ff83b44aa2b3e4f7aac69afd7cd0d09ba2d9d7ddda704f63fbc4e93"},"n":85,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[240,234,229,241,152,117,132,150,114,144,11,68,98,198,228,84,240,16,176,171,48,19,121,254,252,87,37,100,208,254,29,239,175,28,26,160,232,73,170,220,146,100,85,83,51,92,170,96,70,250,135,21,142,40,168,249,130,105,168,90,111,9,106,117,138,26,94,229,195,237,235,16,106,157,216,229,250,3,250,45,56,245,218,93,143,246,154,132,249,169,242,63,204],"error":{"max_abs":32,"max_l1":2976,"max_l2_squared":95232,"max_nonzero":93},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"f816e9b8b6e68bf3094e68646f0f6797b8add64fc9549b70bcc3b2bc29754242","instance_id":"lwe_0152","m":93,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":19,"seed_hex":"3f6cb46dcf64292f377c59e13efede240979a9c4d037a019833ea61bee2797b0"},"n":85,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[114,249,206,74,14,214,210,0,220,102,255,25,187,118,85,46,201,247,188,130,186,90,202,44,21,206,244,241,228,89,49,230,193,100,13,200,2,75,111,180,130,214,214,138,144,152,160,51,163,86,98,69,29,24,55,33,215,49,179,147,193,188,247,24,37,233,225,164,117,240,247,137,244,90,87,127,24,134,213,193,112,62,6,162,13,234,178,158,19,62,23,227,140,190,84,254,164,235,104,125,247,147,193,185,123,255,53,156],"error":{"max_abs":32,"max_l1":3456,"max_l2_squared":110592,"max_nonzero":108},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"cccfb8019681a0445a0d30f42bc9cfb13605f4f496477f5b862d3824729b3c64","instance_id":"lwe_0153","m":108,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":20,"seed_hex":"ed8db7fac51377bfe89824a6e0247f30d78a3c266ef90e4ee79029edac3717de"},"n":100,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[207,229,151,158,157,24,55,126,98,253,174,151,67,35,203,115,31,0,112,75,82,141,237,236,34,78,247,22,49,78,210,174,98,14,46,166,213,40,249,246,187,133,165,244,236,197,98,87,51,22,9,92,95,167,236,72,36,26,157,237,209,21,30,221,181,216,147,244,225,150,199,153,115,134,78,144,160,169,196,25,251,160,51,10,186,54,55,161,136,119,70,177,95,189,20,197,103,131,91,114,150,192,148,83,77,178,142,17],"error":{"max_abs":32,"max_l1":3456,"max_l2_squared":110592,"max_nonzero":108},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"0d0298e29bb54715209aafa64d35e00f7771328128e473e5f2935ec5758fe332","instance_id":"lwe_0154","m":108,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":20,"seed_hex":"0408a778caf214a150d754e5d87ab93cabf2fb110f0a95e6c3c1cebd226a5b7e"},"n":100,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[234,64,67,137,79,134,212,243,43,4,95,233,218,126,227,203,38,7,70,80,231,32,144,233,63,47,158,93,74,153,246,78,55,123,18,162,104,80,163,109,221,219,96,87,211,146,107,252,60,134,119,60,86,173,213,230,27,240,240,208,251,66,101,149,219,24,36,63,2,20,140,12,174,152,48,56,64,226,7,42,234,36,82,159,60,241,218,196,227,28,59,195,30,248,129,149,163,115,132,160,105,17,81,188,231,46,76,5,10,202,27,168,82,223,12,91,10,23],"error":{"max_abs":32,"max_l1":3776,"max_l2_squared":120832,"max_nonzero":118},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"e5b125b431162203c9139e1c328ae520cc226e0c0efd6f73b6c0206729aadef5","instance_id":"lwe_0155","m":118,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":21,"seed_hex":"476b51498eb8a088d5b6d4117f265d862201c60491bf9d907871e867945aead4"},"n":110,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[55,117,233,15,247,181,14,176,47,15,10,242,199,10,15,2,233,115,50,227,252,256,66,212,237,96,244,244,113,223,25,193,92,26,240,36,74,210,43,31,118,17,34,21,132,181,223,177,235,159,183,10,29,205,12,19,37,242,81,180,113,203,138,136,12,192,183,106,111,235,185,43,169,60,51,50,80,185,154,33,185,251,196,106,60,93,223,240,168,90,205,245,159,181,69,91,67,231,139,156,102,59,246,198,63,209,29,51,237,103,105,216,240,239,213,218,89,38],"error":{"max_abs":32,"max_l1":3776,"max_l2_squared":120832,"max_nonzero":118},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"c310a35db0a2638b27acdaeef77e84b96b583764afb7818a4222ab9d70ea2dc7","instance_id":"lwe_0156","m":118,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":21,"seed_hex":"5bbf3251326e35e23998472a64df835beae12b48a508753da8a10b27d463df9e"},"n":110,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[86,158,212,88,161,163,40,234,186,187,122,55,163,110,78,255,114,203,248,189,103,11,209,109,43,142,179,51,125,195,236,46,94,77,215,171,115,205,114,53,217,234,202,197,229,250,158,243,138,114,51,32,228,56,95,254,180,211,147,95,48,8,127,19,86,4,16,109,52,72,5,248,81,10,33,233,71,205,70,160,127,102,44,71,18,244,88,29,152,162,64,64,230,36,244,53,202,36,249,47,106,167,237,3,98,181,13,133,109,254,129,228,244,68,229,71,157,220,19,38,3,139,29,106,76,247,22,24,213,211,112,74,75,112,62,28,108,232],"error":{"max_abs":32,"max_l1":4416,"max_l2_squared":141312,"max_nonzero":138},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"6ff1b35d086cd958f6eb6455d8cdd53fc0a6d04c87261d47ec3c5e734c1efeae","instance_id":"lwe_0157","m":138,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":23,"seed_hex":"52b4a27c8b04feee1b41038e7c6d8af67a0e4eb4c3ff7179b0b1ce5c355feb4f"},"n":130,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[92,32,203,43,135,248,256,26,13,142,20,119,27,8,31,120,180,138,69,118,219,151,167,253,103,102,86,49,67,244,115,209,144,44,74,71,226,60,119,55,251,140,25,138,28,92,30,9,77,59,26,2,116,38,36,171,86,227,30,17,85,211,34,208,68,233,73,88,162,248,113,101,145,138,81,91,118,117,57,27,242,23,88,213,159,140,253,241,121,54,80,255,197,117,105,127,130,7,9,128,145,30,256,202,0,4,31,3,35,113,100,195,28,237,108,164,46,15,218,194,48,243,96,27,234,115,155,64,210,188,251,45,249,108,84,199,68,228],"error":{"max_abs":32,"max_l1":4416,"max_l2_squared":141312,"max_nonzero":138},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"41be1266d8ba74058c5fd5c4a44760d09caa34884a174b12acf9f668cca9f000","instance_id":"lwe_0158","m":138,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":23,"seed_hex":"efbee45d3f487034169e605e92183deb582b97e2f431f885ccaa71fc51bd49b2"},"n":130,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[193,14,226,180,156,77,236,2,254,162,183,135,79,175,173,246,202,96,111,18,230,202,135,139,104,148,78,124,145,108,84,206,90,3,22,81,232,174,221,227,83,199,30,190,148,148,210,32,254,243,232,72,251,42,20,28,20,27,30,62,23,43,149,31,12,239,253,151,178,5,61,174,194,164,112,228,84,147,67,7,250,81,255,122,237,85,248,128,64,162,243,249,139,151,243,255,144,12,93,228,220,176,100,252,237,90,74,206,205,149,86,224,193,81,126,125,46,74,176,32,183,19,81,30,170,238,41,190,219,191,226,52,256,214,47,32,16,189,76,192,212,87,247,254,250,104,80,166,144,165,241,14,119,206,84,219,244,10],"error":{"max_abs":32,"max_l1":5056,"max_l2_squared":161792,"max_nonzero":158},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"33f4eaaae1a36338d148379d69823520ae2676e8d4972acc08c6af2687b4be83","instance_id":"lwe_0159","m":158,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":25,"seed_hex":"b459e77dfcce4694ffc634ae5ea27f3073e179eb22990c62dbd2f4602a14c3c6"},"n":150,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[156,91,36,248,39,227,188,149,125,129,92,155,136,246,31,161,23,43,180,107,244,32,62,239,52,22,199,141,105,146,79,27,117,121,98,44,216,59,45,51,75,147,27,131,48,174,112,42,19,228,184,125,241,172,204,39,78,39,122,89,119,228,133,168,117,221,218,41,22,79,166,40,117,75,152,62,3,208,75,193,48,169,224],"error":{"max_abs":32,"max_l1":2656,"max_l2_squared":84992,"max_nonzero":83},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"ff674d1f9d8c4889c5937474dc1ad0f70b3d677532da0a9e6a1d5cba86a64983","instance_id":"lwe_0160","m":83,"matrix":{"alphabet":[],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_uniform","row_weight":18,"seed_hex":"e186e926d7cff8c5a78a895c3dc799b471007bfaeef269be60ac4fa639ff04b0"},"n":75,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[2052,0,1,0,2051,2,1,2051,2,2052,2,0,1,2052,2052,2051,2051,0,0,2,2,1,1,2,2050,236,2,2052,2052,17,3,2051,2,0,2051,2052,2,2052,2051,0,2,2052,0,2052,2052,2051,1,2,2052,2,2,0,1,0,2051,0,2,1979,2052,1,0,3,2052,1,2052,2052,1,258,2051,0,0,2052,0,1,2052,2052,2052,0,3,2051,4,3,0,2,3,2052,2052,2,1,2051,0,2052,2050,0,0,1,2052,1,0,4,2051,0,2052,2052,0,1,1,2052,2051,2051,3,2052,0,3,2052,1,0,2052,0,0,2051,2052,1,3,0,1,2,2,0,2,0,2,2052,0,2,1,1,1,2052,2051,0,0,1,1,1,2051,2052,1,2050,2050,2051,1,2052,2,0,2052,0,0,1,2052,2,0,1,0,2051,2052,0,4,2,2,0,2051,1,2051,0,0,2051,0,0,2051,2,4,2052,1,2,0,2051,0,203,0,0,3,2051,2,202,0,1,2,2051,1,0,3,1,1,0,0,2051,2,2052,5,2,1818,0,1,0,0,2,2052,1,3,2050,2026,1,2051,1,2052,0,0,1,2051,2052,1,0,0,1,0,1,3,1,0,0,0,2050,2052,2052,2052,2051,2,2052,1,1,1,2,2,1,1,1,2052,2049,1,2050,0,0,0,2052,2051,1,2051,2052,1819,1,1,1,0,2052,2050,2051,2,1,0,1,2],"error":{"max_abs":256,"max_l1":2304,"max_l2_squared":589824,"max_nonzero":9},"error_distribution":{"bound":256,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":9},"instance_digest":"2ee54ea2e45b5fdd966605a219a0f64d4f9c980039a20fa4f9c8499a76887045","instance_id":"lwe_0161","m":282,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":20,"seed_hex":"253d107806e1d53f5bde82162caded0ae37b9d484a5933bf43da7297248e9513"},"n":94,"q":2053,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[2,0,4092,4092,1,4092,0,0,2,1,0,4092,0,4091,4092,3,4091,4092,4092,0,0,4092,2,4092,4091,0,4092,3963,0,0,2,2,1,4091,1,0,0,320,0,3,0,4091,0,0,367,1,0,1,4092,4092,1,0,4092,4092,3,4092,1,0,4090,0,4090,0,3,0,4090,5,0,4092,2,1,1,1,4090,0,0,4090,3,2,2,2,2,4091,0,3966,0,4,4091,4092,0,0,2,2,188,1,2,4092,0,0,4091,2,1,4092,4092,2,2,3735,1,4090,4091,0,4092,4091,4092,4092,1,0,1,4091,4092,0,2,4092,4092,0,1,4092,1,4092,4091,1,2,4092,4091,4092,4091,4092,1,4092,1,2,0,0,2,0,2,1,2,4092,4092,2,0,0,4,4092,0,4092,4091,1,4092,4092,4091,4,1,1,13,4092,3,2,0,1,4092,4092,2,0,0,4092,1,0,4092,4092,1,1,2,4092,4092,1,4091,4,4090,0,1,0,4092,4092,1,1,4092,0,0,2,0,0,4092,3,4090,2,1,4090,4092,4092,1,0,4091,3,1,0,4092,1,2,4090,4092,2,4092,1,1,1,0,3,0,258,1,1,3,4091,3,4092,4090,3,0,2,4091,4091,4092,3,4090,4091,4090,0,0,4092,343,0,4091,2,4092,2,4092,4091,4092,4091,4091,4092,1,1,1,2,4091,4090,2,0,4092,1,1,0,4092,0,4091,321,2,4091,4091,3,1,3,0,4092,2,4090,4092,4092,5,4091,4091,4,4091,4092,4092,4090,2,0,4091,0,0,1,0,0,1,0,3,3,2,0,1,2,0,4089,0,3,4090,0,2,4091,3,1,3,0,4091,4090,0,1,3,2,4091,508,238,4092,4092,1,2],"error":{"max_abs":511,"max_l1":6132,"max_l2_squared":3133452,"max_nonzero":12},"error_distribution":{"bound":511,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":12},"instance_digest":"6921d62c6ccc80a0a80cd61e89d16b16e17a52ab0da31ab1d864bfc2b0e348ba","instance_id":"lwe_0162","m":339,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":22,"seed_hex":"cf58d88d15f84d715d69faa96c80224c1e8e75c4ae1332a60421889f1fe99538"},"n":113,"q":4093,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[0,2,253,0,0,256,1,7,256,1,252,254,0,254,1,2,2,2,256,254,1,254,3,255,236,1,0,253,0,246,256,0,1,251,254,4,0,2,254,256,254,1,255,233,239,0,1,256,1,251,1,0,3,0,255,255,256,0,256,255,248,253,254,0,1,0,256,234,2,0,0,2,0,4,256,0,253,0,254,255,4,256,0,0,0,255,255,255,0,5,256,0,2,1,0,0,2,255,0,2,0,254,246,0,11,256,255,256,252,5,3,1,2,256,0,256,5,256,3,256,3,252,3,0,0,254,0,256,255,253,1,256],"error":{"max_abs":32,"max_l1":480,"max_l2_squared":15360,"max_nonzero":15},"error_distribution":{"bound":32,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":15},"instance_digest":"8a4bd3334001bb6157c1e35d9c4db675d744478865ab91d29b893ff73040b359","instance_id":"lwe_0163","m":132,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":14,"seed_hex":"3bac0831fc8e10150f8814f60f1c038ad0b610e675507b02505486b6cd1dae69"},"n":44,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[2,0,768,92,768,56,90,34,3,0,0,1,766,2,0,2,768,2,1,2,2,768,768,0,1,750,1,1,2,2,1,0,0,1,4,768,1,761,768,1,761,767,766,3,767,1,768,2,1,768,768,7,0,0,4,1,768,768,2,1,1,0,704,768,766,0,767,1,0,768,0,0,1,766,1,2,766,2,768,1,768,0,0,2,3,0,768,0,1,0,768,768,702,767,767,768,3,1,768,0,1,1,768,0,2,1,768,0,768,768,2,2,766,2,1,767,1,766,678,1,0,766,19,2,768,767,768,766,768,2,766,0,1,1,767,764,2,767,4,0,768,85,0,765,1,767,0,0,0,0,5,2,768,761,2,1,2,0,767,1,2,4,0,0,3,2,768,1,765,1,1,768,0,2,767,768,767,767,0,0,704,0,768,2,2,768,1,77,768,3,3,766,0,768,767,1,766,768,0,768,1,768,0,1,0,2,2,2,768,3,768,0,0,1,2,0,2,768,765,768,766,0,0,0,764,768,767,3,768,3,2],"error":{"max_abs":96,"max_l1":1632,"max_l2_squared":156672,"max_nonzero":17},"error_distribution":{"bound":96,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":17},"instance_digest":"1f92ccfceecc2d80d4150ebf27c11de4e0a95b22917e6f7739904cfe818f2f69","instance_id":"lwe_0164","m":231,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":18,"seed_hex":"7282519369a720461c1942583661d81eedde45d2846e0e4c0ed14ae3c2a58308"},"n":77,"q":769,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[1226,1,2,1227,0,1,0,1226,1228,2,1227,1228,1227,1228,1228,1074,3,2,0,0,136,1228,1,1,1122,3,1227,1226,0,1,2,1,2,1228,0,1228,2,1228,0,1228,2,1144,1228,2,1228,65,2,1227,44,1228,0,1,1,1228,0,0,0,1228,1228,1227,1227,3,1,1227,1228,1184,1228,0,2,0,2,0,0,1,0,1196,0,1228,2,2,1227,1,2,1,0,0,1228,2,1,1227,0,3,101,0,1228,1,3,1,2,2,2,1,1228,2,0,0,0,2,4,0,55,0,4,1227,1227,1227,1228,1,83,0,0,1227,1,1176,1,1,2,0,1,1228,1,1228,0,1,1227,1228,1096,1226,1,1225,2,1228,1228,2,1228,1228,1,3,1228,2,1,1185,1225,1,3,1227,1227,1,1227,0,2,1228,0,0,0,1225,1,1,2,1228,1226,1228,0,1227,1226,0,1226,1226,0,2,1,0,2,1,4,1,1228,3,1,1,2,0,1227,1227,1225,0,3,1228,1227,1,0,1,1,1,1227,2,0,2,1,0,38,1228,0,1228,0,1227,1227,2,0,1228,1228,0,1,1228,0,2,1228,0,1,1164,1,0,1227,0,1228,1227,1,1226,2,1226,0,1228,2,1227,1,1227,2,1,1226,0,1227,0,1228,0,1,1,1,0,1227,14,1,0,129,0,1227,0,1,1224,2,3,1228,1228,2],"error":{"max_abs":153,"max_l1":3060,"max_l2_squared":468180,"max_nonzero":20},"error_distribution":{"bound":153,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":20},"instance_digest":"e7c36d452609eea5b7d3cb649ce8744b0d4e516f9599a7d46601f0edcab42103","instance_id":"lwe_0165","m":273,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":20,"seed_hex":"7d0327dd5aea6edfe789acaf546216838cc1dcc7f488550579482b973a28e979"},"n":91,"q":1229,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[0,175,2,215,1,1,3,2051,2,41,252,2050,2052,1,0,2,2051,3,2052,1,3,2,2052,1,1,93,0,1,2052,2052,22,2008,2052,73,3,2,2050,2052,2050,2050,2,2,2,2052,1,2051,142,0,2051,2051,4,2052,0,2052,3,2051,0,2052,2052,1914,2049,1857,3,2,2052,0,0,0,2052,2048,1,2052,0,2051,4,2051,4,1,2,2,0,1,2052,19,1,2050,2051,188,2052,0,1,2049,0,0,2,1,2052,0,2052,165,1922,2,0,2052,2,2052,2051,2052,0,2052,2051,1,0,0,0,1,1911,0,0,2,2051,2052,1,52,2,3,1,2051,1,2,98,2051,2052,2052,1,2052,2052,2051,1795,2051,2052,2051,2051,0,0,4,224,0,2050,209,1,3,3,1,2050,1,1869,1,0,0,2052,1,82,2052,1,2051,2050,73,2050,2050,2049,0,2,2051,2052,0,4],"error":{"max_abs":256,"max_l1":6144,"max_l2_squared":1572864,"max_nonzero":24},"error_distribution":{"bound":256,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":24},"instance_digest":"42fdf180fa41b5778c6caa0feaa6004efc10019c6bfb7a65f24dd37a50486bb4","instance_id":"lwe_0166","m":177,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":16,"seed_hex":"72ce8cbd7f0307eab3c90bfe66520d4499bb5166c0c90e54816b50e1bf133040"},"n":59,"q":2053,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[21,23,256,236,20,253,27,226,228,241,239,2,239,3,239,34,15,29,237,26,241,255,8,252,225,22,21,23,3,233,236,3,232,28,29,15,19,242,237,240,31,237,3,245,229,10,7,251,233,29,4,251,226,24,239,2,229,10,239,3,233,12,16,28,255,27,240,10,224,255,19,8,225,9,31,11,241,229,252,14,255,231,240,0,246,256,245,15,223,235,9,33,246,228,4,247,246,30,252,26,249,247,228,29,242,6,26,28,227,241,235,4,11,30,2,20,232,19,238,256,6,30,245,250,243,21,6,223,30,255,28,249,244,13,243,242,15,256,225,29,247,1,238,243,254,29,235,244],"error":{"max_abs":32,"max_l1":4736,"max_l2_squared":151552,"max_nonzero":148},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"aa8a39418867d2fa4a03185efe3bba434b85eee45ada29ebe087a019ca1e13f6","instance_id":"lwe_0167","m":148,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":24,"seed_hex":"448b7e5a17489b2f7328e893de9da644bcaf2074e04b1c860a0e6b6c7863b0f1"},"n":140,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[20,18,27,9,236,33,17,250,22,23,243,231,7,245,10,30,236,232,234,239,24,18,7,16,238,244,238,252,22,242,230,28,253,23,11,27,24,254,27,252,33,13,233,23,242,250,232,23,25,256,225,233,8,230,246,22,2,226,19,241,6,20,26,1,16,249,233,19,249,5,24,17,246,4,255,12,20,236,19,232,231,18,0,240,1,20,252,28,252,234,235,8,1,4,18,233,5,250,24,246,32,2,13,247,243,25,2,244,26,12,11,4,239,0,233,8,13,26,32,17,226,23,13,2,4,11,3,18,18,247,236,15,250,254,28,15,227,27,6,0,10,5,13],"error":{"max_abs":32,"max_l1":4576,"max_l2_squared":146432,"max_nonzero":143},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"427eeb07498915f8369923273e9d9f9f9752b75e50ad28f10e2bd3782969ed71","instance_id":"lwe_0168","m":143,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":24,"seed_hex":"b90cd69853a956d1f55cf8a4f47dc15dd0d0a3f05b279c18586fb94c8bc56154"},"n":135,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[24,250,24,238,4,237,256,30,28,0,255,229,254,243,33,235,31,17,2,255,17,14,244,22,22,238,15,237,15,235,246,29,256,237,248,22,255,15,245,19,34,240,22,0,27,11,245,20,236,233,224,237,17,231,232,255,250,12,17,30,245,253,233,241,236,234,238,246,0,6,27,17,0,20,28,7,244,229,246,0,247,238,249,0,29,0,20,254],"error":{"max_abs":32,"max_l1":2816,"max_l2_squared":90112,"max_nonzero":88},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"605bebe8cce08ce9cd23efd5111b48bd8b1c1adf0d64dc0d00f859420662280c","instance_id":"lwe_0169","m":88,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":18,"seed_hex":"8805685d04a837825a75ad2ad5057296581298218efb444352691cf0fa04392e"},"n":80,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[241,21,20,235,1,234,25,15,23,12,242,11,3,248,239,254,244,31,6,223,22,256,26,5,248,7,6,18,1,247,243,21,0,233,3,19,26,9,26,230,239,32,227,2,11,228,250,6,246,29,28,4,233,26,25,0,235,244,4,0,10,7,8,244,16,7,239,247,248,240,248,232,238,250,27,245,22,2,3,253,243,17,13,2,240,234,3,5],"error":{"max_abs":32,"max_l1":2816,"max_l2_squared":90112,"max_nonzero":88},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"cf86d3a95014c55a602d7ae7bc0f60bef80bf0dbb9c1c5dcb91db61ba2abe63f","instance_id":"lwe_0170","m":88,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":18,"seed_hex":"5401e6fc10b9a40ad8f4a302c90219510538b7c7cb94d21e1208dce6fd3d989e"},"n":80,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[18,24,24,22,17,10,231,20,1,253,235,252,227,10,28,240,1,22,5,13,240,245,235,247,27,253,230,233,28,15,12,251,21,231,246,30,237,255,236,12,224,245,15,13,32,16,251,231,9,249,29,245,253,232,1,252,23,21,238,223,238,15,255,233,229,3,33,249,250,255,225,11,1,256,231,233,241,232,8,232,253,233,250,33,248,242,4,249,250,25,9,256,241,19,31,5,22,12],"error":{"max_abs":32,"max_l1":3136,"max_l2_squared":100352,"max_nonzero":98},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"c19ebcb69448e7c11b024c5472d948d7a7db85bfc8760588a8fea6174a9029f3","instance_id":"lwe_0171","m":98,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":19,"seed_hex":"8a1d814c6c1a5ff5d4e30d823a765f3be978892459904f185d2e43d1b6cf40c7"},"n":90,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[253,8,7,5,249,7,25,241,253,226,17,251,245,241,228,22,30,11,8,2,225,254,18,232,18,0,10,9,23,18,2,241,27,27,24,25,232,251,228,231,238,235,23,29,250,26,2,28,12,241,5,5,28,248,19,228,238,7,235,228,10,13,228,252,231,232,22,35,247,9,249,243,23,29,33,238,22,8,19,251,241,27,2,238,246,27,30,240,23,248,29,236,246,244,250,235,26,26],"error":{"max_abs":32,"max_l1":3136,"max_l2_squared":100352,"max_nonzero":98},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"eba09bf169343be8fedcc086a124343c3915cf6b4a902ae4213a23060e4ef12a","instance_id":"lwe_0172","m":98,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":19,"seed_hex":"94b443a94569e96e237976bc6d6fb48cda949dc663d1c75571f288c80db1475e"},"n":90,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[225,21,26,28,21,7,229,8,253,6,22,13,245,227,9,244,247,33,26,229,29,241,249,19,247,16,13,236,21,28,252,246,24,17,28,5,26,229,21,14,243,8,231,244,0,17,19,227,0,256,246,242,234,3,0,243,244,22,253,0,235,4,5,255,244,5,237,236,241,25,19,17,34,19,248,0,3,7,226,28,238,233,241,17,28,27,33,21,242,10,27,22,249,232,1,24,234,15,1,3,28,231,239,2,10,227,28,19,249,249,25,25,250],"error":{"max_abs":32,"max_l1":3616,"max_l2_squared":115712,"max_nonzero":113},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"60c86eab24d33c2d79ba9002d4d7b52da25c227759b9ce7b8dfb2dd4443ee6ed","instance_id":"lwe_0173","m":113,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":21,"seed_hex":"4dadc1533714f729b424d0374b0e065c2a08ae6280fe6cc1c10ae18fac6e671d"},"n":105,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[4,230,22,234,20,24,27,232,249,23,19,28,2,236,236,14,6,24,10,29,236,9,4,26,11,15,233,2,235,233,226,33,233,17,235,24,14,235,246,28,21,236,225,21,2,25,233,26,238,252,240,33,241,13,10,17,254,233,245,254,29,228,21,251,237,246,4,3,14,222,247,9,254,227,251,4,9,9,231,2,29,9,13,16,249,30,254,7,25,235,5,6,16,32,232,249,227,20,15,235,248,33,254,12,242,251,252,240,250,28,250,238,5],"error":{"max_abs":32,"max_l1":3616,"max_l2_squared":115712,"max_nonzero":113},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"8d55e2769479e412df46a1b30ba82f46f37ef6d19d61381b96f84b302e8bca5c","instance_id":"lwe_0174","m":113,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":21,"seed_hex":"465a795910a55b04fa04e395e2c4898bfd5b981f0c02a52267f81c397d2f7694"},"n":105,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[27,9,250,247,8,232,22,251,236,23,27,249,226,21,10,13,8,256,10,241,242,3,0,254,5,2,251,226,255,237,248,233,237,30,255,32,15,12,15,226,22,237,232,17,241,232,240,251,252,249,19,19,21,2,27,253,255,15,5,244,30,5,235,33,244,238,248,21,238,227,6,21,17,14,254,2,16,7,256,1,0,233,21,225,233,23,20,233,249,8,233,247,0,237,16,249,16,15,2,0,254,231,251,233,236,19,5,17,13,247,0,252,10,16,1,241,249,230,19,247,12,243,249,21,23,231,19,7],"error":{"max_abs":32,"max_l1":4096,"max_l2_squared":131072,"max_nonzero":128},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"1e729c289e90c78ba60a08f13e752c4830b4773c42e5e7f1750dfc709d0e0e32","instance_id":"lwe_0175","m":128,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":22,"seed_hex":"d27b3b9271b7446cc46eafda65a703685ef04c39d843edf9d6fa1a0cc9718ebd"},"n":120,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[13,25,240,256,245,227,4,254,4,14,249,226,234,4,247,237,10,256,9,8,23,250,2,234,27,31,18,4,6,225,247,6,21,19,239,249,240,239,17,1,238,12,249,6,28,233,248,7,23,23,11,7,248,32,26,235,10,227,4,247,8,254,3,244,18,233,2,2,7,9,252,250,32,1,242,8,243,227,25,3,1,232,228,22,10,16,16,7,32,2,237,2,230,239,231,33,253,29,250,249,234,6,14,20,28,234,18,238,6,239,232,13,26,20,225,1,255,247,229,242,30,246,243,11,6,30,239,239],"error":{"max_abs":32,"max_l1":4096,"max_l2_squared":131072,"max_nonzero":128},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"d78f296c90f5a9b863c4c710230715ea901b4ba48f9ff7b4405db2f13a56072f","instance_id":"lwe_0176","m":128,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":22,"seed_hex":"c2ceb9ece3a9dc024b6d16cee949befa7041ee2a4611f27e8af8d4bb99d09c38"},"n":120,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[250,251,13,244,8,13,240,5,250,249,11,6,240,10,242,229,227,229,249,27,26,26,226,33,240,33,14,245,18,234,229,231,8,235,33,24,254,19,242,248,15,243,249,229,13,23,20,20,232,4,2,240,238,250,25,249,27,0,237,229,13,18,243,15,24,248,28,7,18,5,30,231,238,244,18,1,252,25,223,27,0,16,26,233,5,19,31,229,13,24,251,242,18,234,10,231,233,27,25,25,239,11,19,249,9,228,239,244,228,239,32,251,223,7,6,2,233,239,29,9,31,244,20,26,255,244,241,234,248,19,255,10,26,244,227,29,17,5,11,253,14,230,27,3,30,241,250,250],"error":{"max_abs":32,"max_l1":4736,"max_l2_squared":151552,"max_nonzero":148},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"9d5777283772211cc82c6c9fd42957aa618dfb774aff7b9ecdb8b45bf81d9cb3","instance_id":"lwe_0177","m":148,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":24,"seed_hex":"6fbaa403606cdb3532959bcd15b089ddcd7d329de0eeb411ac2047e1b8fce7b8"},"n":140,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[5,12,22,6,236,5,244,1,10,255,243,242,26,256,238,256,244,18,234,228,26,253,247,246,26,251,18,4,8,225,9,245,11,236,229,24,6,29,32,227,256,239,239,3,242,252,9,15,23,12,256,231,5,13,252,247,21,249,4,7,23,25,15,16,245,11,252,24,14,227,234,4,23,250,245,10,241,5,247,18,5,16,30,23,5,12,2,7,0,22,255,238,14,15,18,33,233,236,245,226,246,237,21,256,240,240,254,9,246,236,25,249,226,251,27,34,10,30,240,253,244,21,252,17,226,228,223,5,239,15,250,26,23,21,248,255,246,22,6,0,0,241,234],"error":{"max_abs":32,"max_l1":4576,"max_l2_squared":146432,"max_nonzero":143},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"1143ed3c4ad5635446004c4250aed70d5412d202e5ae72e03fa6ae1fcc07ec10","instance_id":"lwe_0178","m":143,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":24,"seed_hex":"47931acf89d4b979f4b43f2f074cd85b79cd5b9e2e4c4861b7b6f6d1a7b92edd"},"n":135,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[233,239,7,246,0,27,3,22,256,246,256,12,21,237,249,32,235,252,235,12,250,26,1,248,254,237,8,14,242,239,236,25,230,12,21,252,9,5,252,20,225,247,254,228,6,233,16,245,246,229,252,17,18,239,32,234,228,5,236,1,12,227,233,3,234,26,223,227,231,230,251,7,225,24,33,23,14,9,255,229,7,251,233,243,245,233,241,250],"error":{"max_abs":32,"max_l1":2816,"max_l2_squared":90112,"max_nonzero":88},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"80433047d1b28f319fe634cddb9938fa8b5ed1deefa0fdc79d543773e67ddd60","instance_id":"lwe_0179","m":88,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":18,"seed_hex":"bad275a2c70315c611cba47647686241a9d12bfe6320f6b23f5a8f2ee68447fa"},"n":80,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[1,18,240,3,21,253,252,230,13,239,254,24,14,24,1,24,242,228,237,236,20,30,34,24,10,246,235,246,12,250,12,11,17,231,9,236,244,227,17,26,238,249,233,4,13,16,9,18,20,254,21,230,9,23,244,229,233,228,3,236,21,22,24,230,23,250,3,246,13,20,18,28,29,242,230,8,7,21,246,230,7,233,249,20,242,229,237,240],"error":{"max_abs":32,"max_l1":2816,"max_l2_squared":90112,"max_nonzero":88},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"826484281c8ba6bb930bd44fd93bd1147c6a6324e794875b6a597d1a53aa9eb8","instance_id":"lwe_0180","m":88,"matrix":{"alphabet":[-1,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"sparse_small_alphabet","row_weight":18,"seed_hex":"4467fe276ec0d416e1177d66c465fed11e882d95bcf8b5df9067a52c5210eaa9"},"n":80,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[4089,1,1,0,4091,2,1,4092,4088,5,4091,4089,5,6,4092,0,1,4089,0,3,0,2,4092,0,4089,4092,0,1,0,4089,0,2,2,1,4091,0,3,2,447,0,1,4091,4090,0,6,4092,0,3,94,1,4090,2,4092,4085,3980,4091,2,1,0,1,2,4091,1,4091,5,1,2,4091,0,3,1,3,4,4091,0,4091,4090,4086,4,5,4,0,2,4092,4089,4091,0,0,4092,4090,4090,3,4092,4089,4091,1,2,2,1,4091,0,4089,2,4090,5,6,2,4092,1,3,3,4088,2,1,1,4091,4091,1,3,4085,4092,4091,1,2,5,4089,2,4090,4092,4089,4091,3863,4087,3698,1,1,5,2,1,3,4090,4073,4092,5,4086,4092,4089,3677,4089,5,2,3,3,2,1,4092,3,1,4086,2,3,3,4088,4089,393,4091,0,4091,0,4092,0,2,1,1,4090,4091,4092,1,3,1,4092,2,4092,1,1,4,4087,2,2,8,2,1,4091,2,4090,0,1,2,4091,4092,1,1,8,4089,1,4091,5,1,4090,1,4090,4090,4090,3,3697,1,1,4090,2,4092,0,4091,5,5,4090,4091,2,3],"error":{"max_abs":511,"max_l1":4599,"max_l2_squared":2350089,"max_nonzero":9},"error_distribution":{"bound":511,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":9},"instance_digest":"0cc97eaf326a4b098cbfa409fe5e4bc38af0a5f0f8975b48acd4817442b5723e","instance_id":"lwe_0181","m":228,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"cb7b09c57002a9534794a634f859bb3b2b2eb5186d3b2405e54fc0313012cee2"},"n":76,"q":4093,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[1,0,256,254,255,4,2,0,252,248,2,256,256,253,256,254,254,255,3,0,2,0,4,3,0,252,5,1,1,256,0,0,2,252,7,0,254,2,256,1,254,255,251,251,254,248,1,256,2,254,255,2,253,1,2,254,2,5,1,232,3,4,253,1,6,256,1,255,0,255,3,255,0,4,3,256,0,254,1,3,34,252,2,254,1,256,255,252,3,253,0,251,1,5,253,251,241,1,256,255,4,2,0,2,0,256,255,0,0,244,254,256,254,17,1,256,253,253,253,254,2,2,0,244,3,253,252,4,245,0,0,4],"error":{"max_abs":32,"max_l1":352,"max_l2_squared":11264,"max_nonzero":11},"error_distribution":{"bound":32,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":11},"instance_digest":"89c8a529b176bdb319ee390ec6f16f9e757b26a6ae39494be57675ffe36aebb8","instance_id":"lwe_0182","m":132,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"2024e8fad66721ee8e6b604c27b19f6aaa66afd1af68609c407e136a3eb6237f"},"n":44,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[766,0,5,0,5,6,4,2,768,678,765,765,767,768,2,3,2,767,1,768,764,2,768,2,1,714,3,768,768,764,767,1,768,766,1,3,5,0,3,763,1,3,0,1,1,768,6,2,4,765,3,2,762,766,764,763,762,4,3,5,0,768,767,768,0,767,764,2,768,765,2,2,766,0,768,1,4,766,766,767,2,3,3,768,2,765,763,765,0,767,768,767,757,764,767,1,4,2,4,767,2,768,6,767,760,768,767,5,6,768,766,767,767,3,1,0,0,768,731,1,2,2,0,3,768,0,2,3,767,2,765,767,2,766,0,4,766,0,0,1,768,2,765,2,6,767,767,768,1,768,766,767,680,4,0,768,767,7,768,3,766,0,764,2,765,757,767,765,4,1,0,1,0,0,1,3,2,766,3,765,1,764,768,5,2,1,765,0,1,3,764,0,5,767,767,2,0,768,767,768,767,2,762,2,1,3,764,0,765,0,767,4,755,767,764,0,767,1,767,766,765,764,2,2,4,2,768,762,768,764,1,764,2,3,3,762,1,767,765,96,2,0,1,2,766,765,768,765,766,4,2,767,767,767,7,762,768,3,767,768,4,2,764,768,1,0,695,768,762,766,1,4,767,0,768,768,6,764,1,768,4,765,1,765,0,767,765,766,0,767,2,2,4,6,767,2,766,0,766,6,768,764,0,2,768,4,3,767,0,0,3,768,3,2,741,2,767,2,0,0,0,768,768,764,767,767,1,0,767,2,6,767,768,1,5,767,2,2,5,0,1,765,1,3,4,1,2,0,8,764,1,30,5,768,2,7,765,1,0,3,7,4,2,0,767,4,5,1,0,2,2,0],"error":{"max_abs":96,"max_l1":1152,"max_l2_squared":110592,"max_nonzero":12},"error_distribution":{"bound":96,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":12},"instance_digest":"a52859d6fe279102cdc32040d835fdeabd5075f2ccca365f1151f150c6f21a0d","instance_id":"lwe_0183","m":372,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"0e2d333e6ab8d6a906f56990a0e60c5403af049c5ba7d9a6794e6044a5494f10"},"n":124,"q":769,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[0,1227,1225,1,0,1228,0,5,1227,0,1224,1228,1225,0,1,4,1228,1,1226,95,1227,1224,3,1225,1226,2,4,1227,3,1227,0,1228,0,0,1222,4,2,1228,1228,5,4,4,133,1228,153,0,1,3,0,4,1224,5,5,22,2,4,3,1223,1227,1226,1196,1228,2,1226,3,2,1227,1223,1228,4,1228,4,150,6,1225,0,6,1,1,0,1228,1166,2,2,1,8,2,2,2,0,0,5,1228,0,0,0,1227,2,1,7,2,0,1227,2,1227,1228,1226,8,3,1223,1226,3,1098,1228,1225,5,0,1228,148,2,3,1,0,3,1225,1225,1,6,1,1224,1,5,1223,1,1,2,1222,0,1225,1227,1226,2,1227,1227,2,3,1,0,1227,61,1228,1225,1228,2,2,1228,1223,6,1095,1228,1228,1,1228,6,0,0,3,2,1188,1078,3,1226,3,1228,1228,1227,1,1227,0,1224,1227,1227,0,124,0,1224,1225,3,1225,1,1227,3,4,1228,1225,0,0,7,4,3,1227,1220,1,1224,2,7,4,1228,2,1227,1228,0,100,3,2,1226,1,1228,1228,2,2,3,2,1,1224,5,1228,3,2,2,1228,3,3,0,0,1227,7,3,4,5,4,1226,3,0,2,2,1225,2,2,17,1228,2,3,6,2,1,3,4],"error":{"max_abs":153,"max_l1":2448,"max_l2_squared":374544,"max_nonzero":16},"error_distribution":{"bound":153,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":16},"instance_digest":"d023e5226d75f83b9736f4758c07efbbf5ad9616ffbf00947938fa0d8d3276cb","instance_id":"lwe_0184","m":258,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"b49f962867c5f4ee48049d456b907b21b076f86e8085e8a6b7dc89c51e7cf18d"},"n":86,"q":1229,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[2048,2051,1,1,4,2,2052,3,2052,3,2,2051,0,3,3,2052,176,6,116,2051,1979,2,2052,2051,0,0,55,2,2051,0,0,2052,0,1,1882,2051,2049,2050,2047,43,2051,0,0,1,231,2050,2050,2052,2052,1,0,0,3,5,2049,0,2052,5,179,2,2,1,2,2052,2,178,3,1,2052,1,2,3,2,2052,3,2047,27,2050,2052,23,2048,2047,3,2,2051,3,2051,2051,2051,2052,2051,2049,0,1,0,60,1,4,1,1921,0,2052,2051,5,1971,2051,1,1,2049,0,0,3,2052,2049,2051,0,4,1882,2050,0,1,2052,3,2052,4,2,2045,2051,0,1,2051,2049,2052,2049,2052,1,1,0,2048,2051,2050,2045,2,2051,0,2052,0,0,1,7,1,4,1894,1,0,8,2043,2,2051,2048,1,0,0,2049,2050,1966,3,6,0,2,1,3,1,2,2051,2052,2052,2051,2049,4,8,104,166,3,2052,2052,2046,1,1,2051,0,1,0,2050,2047,2050,6,2050,2050,9,1],"error":{"max_abs":256,"max_l1":5120,"max_l2_squared":1310720,"max_nonzero":20},"error_distribution":{"bound":256,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":20},"instance_digest":"c9b7150bac0a3f4d68824d39016e9b727a6ceb011389055ffd02c04f2df2d068","instance_id":"lwe_0185","m":201,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"8f4ae34b17d6da9bfbf675b48c093ff8d6201a3999cd1a08fb55dd28fdd75b7d"},"n":67,"q":2053,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[3,7,3,3,2,1,2,4078,4092,3785,4090,3,4089,4089,3,5,3712,5,3,432,4092,4,4090,4050,4090,6,3895,3,0,135,2,0,4092,1,4088,4092,3,0,0,4090,2,4092,4092,5,4092,2,0,1,4092,136,2,215,1,4090,5,3,1,4090,3,7,4091,1,4091,1,4090,0,4091,4091,4090,0,3,360,3,2,2,4090,4092,0,2,4092,4091,1,0,1,4092,4092,4090,4092,4089,4089,1,3,4091,6,4089,0,1,4090,2,8,200,0,4091,4092,4091,4091,4090,4,4092,5,2,4091,4092,4088,4092,4088,2,4089,4090,4089,0,288,4,1,1,2,0,2,1,4091,4091,1,3,5,1,2,1,412,0,0,1,4090,3902,4091,4092,4,0,4091,2,0,3837,3,1,4092,4,4089,2,0,3881,4089,4,1,4091,4089,4085,4047,4089,4089,4090,4,4088,1,3,4089,2,4092,412,4090,4091,2,2,4089,4086,6,3,2,4,4087,3,1,4092,4090,4,4,1,6,4091,3,1,0,4,1,4091,3793,4092,2,2,5,1,5,4092,3,4088,1,1,1,4091,3669,2,4090,0,4092],"error":{"max_abs":511,"max_l1":11753,"max_l2_squared":6005783,"max_nonzero":23},"error_distribution":{"bound":511,"eta":null,"kind":"sparse_bounded","sigma":null,"weight":23},"instance_digest":"f7bb14427be0b88f6c204fa24c1705defedbb43c125366fdaa0350e82c006b4d","instance_id":"lwe_0186","m":222,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"a591e800fc27e5735d326942fc42197b7b121bf61bad32ab6f66472bfbc34ffc"},"n":74,"q":4093,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[26,255,23,32,233,244,244,24,8,233,13,248,243,240,255,10,0,13,15,239,250,16,18,9,10,5,11,233,255,253,254,23,244,22,5,22,253,234,0,235,229,16,225,242,233,25,26,24,247,16,249,242,246,24,240,250,22,28,22,29,10,228,227,14,6,14,2,27,19,231,16,34,1,237,13,1,248,13,230,3,16,235,247,14,247,244,25,37,254,255,248,11,5,26,0,246,32,20,252,7,239,8,35,17,26,224,224,21,249,27,30,223,233,243,225,23,37,229,235,244,6,6,3,245,21,240,4,222,242,19,31,244,19,0,226,13,28,22,243,31,244,230,248,15,232,252,31,2,7,20,228,19,221,16,249,22,246,230],"error":{"max_abs":32,"max_l1":5056,"max_l2_squared":161792,"max_nonzero":158},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"45f289b4b2999819111989e2d50e2db479b9a6d9180f38a47429a3d4cee1d7ef","instance_id":"lwe_0187","m":158,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"da74b18ec604fdd1c0a6dae7cb6770dfc495079f4f195fba82857ffd1ec15d04"},"n":150,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[225,242,238,27,237,26,19,8,22,235,17,230,29,2,3,251,229,229,248,9,251,252,12,24,0,243,29,4,230,11,227,235,16,20,13,256,228,29,32,226,248,11,13,32,245,23,240,244,235,24,226,26,28,236,238,254,21,15,26,239,20,246,22,254,9,1,15,253,11,4,15,29,236,241,245,235,236,249,28,28,246,5,31],"error":{"max_abs":32,"max_l1":2656,"max_l2_squared":84992,"max_nonzero":83},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"137ec56704981d178a6300ecbe91e3a2fc4d46ac7ae7f037250e6640752d1ded","instance_id":"lwe_0188","m":83,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"211963bbe107eb6910aaa430c0bdc82b05ead2718b52a6e01b2218a3b148966b"},"n":75,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[238,23,245,225,6,237,243,244,0,29,239,227,13,3,235,239,240,15,13,28,26,249,25,24,251,26,242,33,247,249,10,9,15,243,231,228,12,28,228,253,20,28,237,25,11,241,233,240,6,17,8,2,10,254,0,233,27,25,225,222,253,9,248,247,17,18,5,20,236,7,18,233,250,225,248,244,14,19,231,242,233,226,4,21,251,20,247,12,27,30,250,12,226],"error":{"max_abs":32,"max_l1":2976,"max_l2_squared":95232,"max_nonzero":93},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"5482d53de9e8eb734748056d10cf1d3c36fdcea649cbbfabcf52f9d913017348","instance_id":"lwe_0189","m":93,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"b43e830f88ed6480209b88ebd32a991145da929cd6ab5c34f846b8838a9d4d08"},"n":85,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[17,23,233,238,226,12,235,41,21,11,3,254,243,254,225,30,17,230,245,240,16,13,28,19,4,246,250,25,10,22,256,2,26,30,240,6,246,245,24,253,6,27,8,225,248,20,25,246,20,10,242,222,234,256,229,14,28,33,13,228,255,33,252,244,231,248,234,24,21,248,5,2,226,15,11,256,13,244,15,245,232,246,29,246,238,4,254,236,237,22,21,242,255],"error":{"max_abs":32,"max_l1":2976,"max_l2_squared":95232,"max_nonzero":93},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"99800a45f2783d994e0d9319b13756823f489532b9550e26f5d2f8d3b3b68a35","instance_id":"lwe_0190","m":93,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"bd6e309c23588515aa50a1f53c5b04cd2d47a8efc9b5c0a94d7865a23ca14f2d"},"n":85,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[230,238,22,18,27,235,250,243,248,19,10,3,2,224,8,244,2,19,247,255,255,6,243,0,224,5,246,254,234,236,9,241,224,25,247,18,237,2,10,27,242,18,2,10,237,8,22,234,238,237,251,25,25,27,254,225,3,1,22,11,14,252,236,232,249,29,251,8,252,228,3,10,250,249,21,28,220,31,15,243,250,25,14,249,15,250,240,5,16,236,6,13,1,230,11,21,15,234,7,26,239,23,236,235,230,25,19,13],"error":{"max_abs":32,"max_l1":3456,"max_l2_squared":110592,"max_nonzero":108},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"617e62f295a1942588f63141c062ba25b4b859074e2b106835e4b10807a782f9","instance_id":"lwe_0191","m":108,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"d877b390bcd31a29c992914b5b76c9dd9f79996ba82d196c1fd1bc129efcd585"},"n":100,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[17,15,27,17,25,27,251,238,246,9,253,13,7,235,241,235,228,243,14,228,254,7,226,25,0,226,246,235,235,234,11,234,18,26,13,254,245,252,9,12,254,245,253,242,0,243,227,250,32,11,227,241,230,26,7,252,233,1,226,20,249,239,237,22,239,29,254,5,233,245,254,30,26,242,22,13,239,18,238,1,225,30,233,237,253,14,240,236,16,236,24,245,16,241,2,0,240,21,234,239,27,230,254,15,228,244,230,3],"error":{"max_abs":32,"max_l1":3456,"max_l2_squared":110592,"max_nonzero":108},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"16f576b88af4b3e911beaa3f9fcc80a15fb373d909d11320f34b029b77e8f62b","instance_id":"lwe_0192","m":108,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"0c9b720f83c2cf77b3be30522525b6f05ec97af85602cb3fdc5c839c20b3b3eb"},"n":100,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[14,242,233,19,248,4,239,17,234,252,235,14,27,248,238,18,250,235,230,235,244,28,9,4,253,15,14,254,252,10,243,25,13,16,248,0,234,17,10,231,243,25,3,249,15,224,1,1,5,225,11,15,239,28,24,10,3,246,8,2,1,22,233,3,254,20,28,247,18,21,233,22,32,6,33,242,248,21,18,25,26,11,4,27,16,256,245,224,247,252,13,255,23,254,3,11,17,249,10,17,18,19,224,252,238,19,228,27,229,19,18,240,256,8,237,6,228,16],"error":{"max_abs":32,"max_l1":3776,"max_l2_squared":120832,"max_nonzero":118},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"45914c29e8cf834e3bd1254359c63c554dbafc8af6c3d4dda693016d90ef6538","instance_id":"lwe_0193","m":118,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"694d3cf7840e3a6c009f7816842c0552ce79bb4679a20fb034059d2f5fd43f90"},"n":110,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[241,238,12,233,5,20,8,23,27,234,228,230,232,17,22,11,24,237,240,14,246,217,243,243,248,244,229,22,248,22,29,245,19,235,5,16,234,16,247,222,255,230,223,0,242,248,239,242,14,247,4,242,13,26,15,4,25,6,1,253,229,233,15,15,24,239,246,243,6,23,247,246,24,35,13,31,231,252,230,23,255,244,7,237,233,235,0,251,255,32,21,2,250,250,10,236,229,0,22,240,3,253,23,18,255,16,255,256,19,15,233,247,18,21,244,19,245,20],"error":{"max_abs":32,"max_l1":3776,"max_l2_squared":120832,"max_nonzero":118},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"98531322bcfb990a5fa8bf9a866259d7510394c546271d9689897f226379f92a","instance_id":"lwe_0194","m":118,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"7a60ef49508b73315f736c336c68d2a61b8b2d28eb4116ff8ba85bee3482bee6"},"n":110,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[235,12,20,252,244,33,1,11,7,219,15,26,5,6,245,17,27,251,9,26,226,30,25,243,6,232,16,29,28,250,33,25,244,229,16,0,256,4,223,228,22,235,25,14,20,24,26,0,243,22,249,0,1,244,16,250,17,245,246,26,255,235,248,239,238,228,230,18,224,225,255,229,31,17,253,19,251,234,240,233,27,15,246,255,247,238,20,229,16,33,12,246,26,30,241,3,232,10,18,31,21,238,230,12,234,18,253,27,250,243,243,240,229,13,226,233,1,24,14,240,232,233,12,27,21,24,254,235,31,28,238,30,237,2,245,236,250,34],"error":{"max_abs":32,"max_l1":4416,"max_l2_squared":141312,"max_nonzero":138},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"8525e6e01b9a605f07b91774ea2ad6952738af1627cc780114f735a1e66457c4","instance_id":"lwe_0195","m":138,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"7146121db768bd5e7f0644c115272e5468d4c4a39fc52b80ad066edabcd47937"},"n":130,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[2,7,11,255,230,231,249,254,256,241,231,2,14,14,254,237,20,232,239,24,226,4,31,245,10,26,253,29,242,13,25,245,8,234,24,18,244,251,254,249,224,248,245,10,3,241,9,253,232,249,2,24,244,251,241,226,225,231,245,21,254,27,228,246,15,1,28,236,256,13,3,24,28,247,32,247,15,237,245,11,8,16,251,239,253,28,243,3,31,11,247,17,222,236,249,253,233,15,230,243,26,250,19,26,7,239,5,12,247,13,4,228,233,29,8,11,234,245,19,233,255,2,18,8,221,248,30,253,241,229,248,235,243,232,230,239,5,31],"error":{"max_abs":32,"max_l1":4416,"max_l2_squared":141312,"max_nonzero":138},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"1b96eb67d41046434a3d234309d5cd22ae42e56d789e52d9892ae7e33523215a","instance_id":"lwe_0196","m":138,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"07b2e7854fbfddfcfca2cf0bebec33cd5ea23149b4fa499be0ac38d7a372f552"},"n":130,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[233,255,23,16,2,23,253,232,15,225,6,238,30,255,251,10,238,224,31,227,21,2,28,15,11,6,243,251,256,17,229,226,237,245,14,5,254,248,1,225,7,228,2,29,0,246,11,239,13,245,12,229,256,11,2,25,237,8,237,245,256,252,232,256,10,256,223,232,22,235,250,10,236,3,31,30,235,20,26,12,251,233,9,231,3,25,228,16,3,253,28,243,28,255,31,2,1,252,227,9,5,250,245,223,240,229,23,6,230,256,14,245,255,245,8,33,28,20,12,3,239,229,3,243,246,27,8,4,249,229,15,251,243,254,241,253,255,6,222,30,23,13,21,22,224,246,252,229,9,244,6,253,3,250,223,241,30,10],"error":{"max_abs":32,"max_l1":5056,"max_l2_squared":161792,"max_nonzero":158},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"06bcdba79117b5cd65e0f7c1bd9c1a221f2cb918439b27d73733707758ab3fef","instance_id":"lwe_0197","m":158,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"c93d560c544740b1a2e2a7fe32dc73bf5c9df1ebb2efbd1a97883163ea6fdb01"},"n":150,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[231,20,242,18,255,242,33,246,239,1,240,247,241,13,22,247,2,12,4,256,13,10,22,18,15,254,239,8,244,231,6,255,241,238,235,2,19,234,25,6,31,251,226,233,25,253,10,253,26,232,33,4,2,18,8,225,247,232,253,29,11,25,237,6,236,5,249,24,228,236,256,242,22,16,253,20,28,231,255,30,25,245,253],"error":{"max_abs":32,"max_l1":2656,"max_l2_squared":84992,"max_nonzero":83},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"41210ecb93393ca57cbe5dc66cec543b4d8612b47149fe9eb3a1f4fef4d9f138","instance_id":"lwe_0198","m":83,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"dcd82d3a0331f7547f781cc132d9ad6510ec48c95f42630d379c7e29f886f3d0"},"n":75,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} +{"b":[239,17,239,31,24,4,5,34,231,28,228,14,5,236,249,251,13,230,247,33,25,2,250,237,250,20,10,254,7,234,4,231,10,246,23,235,28,10,27,11,25,25,30,28,224,229,23,28,7,236,2,238,21,11,2,27,33,235,255,236,20,228,247,246,29,19,5,9,250,29,18,240,243,9,228,10,243,229,237,16,244,238,16,20,0,231,12,243,17,237,233,14,256],"error":{"max_abs":32,"max_l1":2976,"max_l2_squared":95232,"max_nonzero":93},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"2e3cdb4d2ca208b78a221c830b5bb03340a71ca128b2c373f1138882cd5e3b21","instance_id":"lwe_0199","m":93,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"a1644c06ea2f3de4af442cdf85ba20551121e51197d757974e4995c4d89ea410"},"n":85,"q":257,"schema_version":1,"secret":{"alphabet":[0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[1],"eta":null,"kind":"exact_weight_alphabet","weight":14}} +{"b":[24,23,248,239,8,13,227,20,9,8,249,25,248,19,10,5,240,4,11,230,238,249,5,249,235,19,247,22,229,236,16,20,3,28,245,251,228,252,249,230,28,29,14,246,36,241,10,230,234,239,11,242,253,28,235,11,225,22,239,254,2,1,6,25,232,10,252,31,29,3,242,255,229,10,16,251,21,228,245,15,27,21,32,236,237,5,23,8,7,245,236,254,7],"error":{"max_abs":32,"max_l1":2976,"max_l2_squared":95232,"max_nonzero":93},"error_distribution":{"bound":32,"eta":null,"kind":"bounded_uniform","sigma":null,"weight":null},"instance_digest":"c5a7d2496ab71da9d93d0e90a97e1d50f6bdb363d50fc6e4997a8a42e1467ac5","instance_id":"lwe_0200","m":93,"matrix":{"alphabet":[-1,0,1],"expansion_domain":"FCS-STRUCTURED-LWE-MATRIX-v1","kind":"small_alphabet","row_weight":null,"seed_hex":"13542ab722fa0ae3381212c2c75affbaf5ec23445a6135e491bbc8edb4b35ea4"},"n":85,"q":257,"schema_version":1,"secret":{"alphabet":[-1,0,1],"kind":"alphabet","max_nonzero":14,"min_nonzero":14},"secret_distribution":{"alphabet":[-1,1],"eta":null,"kind":"balanced_exact_weight_signed","weight":14}} diff --git a/2.0/problems/lwe_structured_recovery/harbor/app/public/catalog.sha256 b/2.0/problems/lwe_structured_recovery/harbor/app/public/catalog.sha256 new file mode 100644 index 000000000..384637857 --- /dev/null +++ b/2.0/problems/lwe_structured_recovery/harbor/app/public/catalog.sha256 @@ -0,0 +1 @@ +318f32b68e8a30c6bcd5867c89eb10d87a5472614401f4e6df0f55356cdc98a6 catalog.jsonl diff --git a/2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/__init__.py b/2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/__init__.py new file mode 100644 index 000000000..4ab769045 --- /dev/null +++ b/2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/__init__.py @@ -0,0 +1 @@ +"""Public infrastructure for the structured-LWE recovery task.""" diff --git a/2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/evaluator_core.py b/2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/evaluator_core.py new file mode 100644 index 000000000..569e53ed0 --- /dev/null +++ b/2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/evaluator_core.py @@ -0,0 +1,212 @@ +"""Secretless scoring for cumulative structured-LWE witness submissions. + +The result exposes only stable codes, counts, public IDs, and public catalog +metadata. Candidate secrets, residuals, norms, paths, and exception text are +never copied into the public result. +""" + +from __future__ import annotations + +import errno +import os +import stat +from collections import Counter +from dataclasses import dataclass +from pathlib import Path +from types import MappingProxyType +from typing import Mapping + +from .schema import Catalog +from .strict_json import JsonContractError +from .submission import ( + MAX_SUBMISSION_BYTES, + SubmissionContractError, + parse_submission, +) +from .verification import validate_secret + +_MAX_INVALID_EXAMPLES = 20 + + +@dataclass(frozen=True, slots=True) +class EvaluationResult: + """Immutable public score and aggregate diagnostics.""" + + score: float + score_unbounded: float + message: str + metrics: Mapping[str, object] + solved_ids: tuple[str, ...] + + +def evaluate_bytes(data: bytes, *, catalog: Catalog) -> EvaluationResult: + """Parse and score witnesses against public instance predicates.""" + instance_count = len(catalog.instances) + if instance_count == 0: + raise ValueError("catalog must contain at least one instance") + + try: + parsed = parse_submission(data, catalog=catalog) + except (SubmissionContractError, JsonContractError) as exc: + code = ( + exc.code + if isinstance(exc, SubmissionContractError) + else "invalid_json" + ) + return _submission_invalid(catalog, code) + public_instance_ids = frozenset( + instance.instance_id for instance in catalog.instances + ) + rejection_counts = Counter(rejection.code for rejection in parsed.rejections) + invalid_examples = [ + ( + rejection.instance_id + if rejection.instance_id in public_instance_ids + else None, + rejection.code, + ) + for rejection in parsed.rejections[:_MAX_INVALID_EXAMPLES] + ] + solved: list[str] = [] + candidate_invalid_count = 0 + for instance_id, secret in parsed.records.items(): + verdict = validate_secret(catalog.get(instance_id), secret) + if verdict.ok: + solved.append(instance_id) + else: + candidate_invalid_count += 1 + rejection_counts[verdict.code] += 1 + if len(invalid_examples) < _MAX_INVALID_EXAMPLES: + invalid_examples.append((instance_id, verdict.code)) + solved_ids = tuple(sorted(solved)) + solved_count = len(solved_ids) + metrics = _build_metrics( + catalog=catalog, + solved_ids=solved_ids, + submitted_count=len(parsed.records) + parsed.invalid_records, + duplicate_count=len(parsed.duplicate_ids), + conflict_count=len(parsed.conflicted_ids), + unknown_count=len(parsed.unknown_ids), + invalid_count=parsed.invalid_records + candidate_invalid_count, + rejection_counts=rejection_counts, + invalid_examples=tuple(invalid_examples), + ) + return EvaluationResult( + score=100.0 * solved_count / instance_count, + score_unbounded=float(solved_count), + message=( + f"scored solved={solved_count} " + f"submitted={metrics['submitted_count']} " + f"invalid={metrics['invalid_count']} " + f"duplicates={metrics['duplicate_count']} " + f"conflicts={metrics['conflict_count']} " + f"unknown={metrics['unknown_count']}" + ), + metrics=metrics, + solved_ids=solved_ids, + ) + + +def evaluate_path(path: str | Path, *, catalog: Catalog) -> EvaluationResult: + """Boundedly read a regular-file ledger and score its public witnesses.""" + if len(catalog.instances) == 0: + raise ValueError("catalog must contain at least one instance") + + flags = os.O_RDONLY | os.O_NONBLOCK | getattr(os, "O_CLOEXEC", 0) + try: + fd = os.open(path, flags) + except OSError as exc: + code = _expected_path_error_code(exc) + if code is None: + raise + return _submission_invalid(catalog, code) + try: + try: + metadata = os.fstat(fd) + if not stat.S_ISREG(metadata.st_mode): + return _submission_invalid(catalog, "submission_not_regular") + if metadata.st_size > MAX_SUBMISSION_BYTES: + return _submission_invalid(catalog, "submission_too_large") + data = _read_bounded(fd) + except OSError as exc: + code = _expected_path_error_code(exc) + if code is None: + raise + return _submission_invalid(catalog, code) + finally: + os.close(fd) + if len(data) > MAX_SUBMISSION_BYTES: + return _submission_invalid(catalog, "submission_too_large") + return evaluate_bytes(data, catalog=catalog) + + +def _read_bounded(fd: int) -> bytes: + limit = MAX_SUBMISSION_BYTES + 1 + data = bytearray() + while len(data) < limit: + chunk = os.read(fd, limit - len(data)) + if not chunk: + break + data.extend(chunk) + return bytes(data) + + +def _expected_path_error_code(exc: OSError) -> str | None: + if exc.errno == errno.ENOENT: + return "submission_missing" + if exc.errno in {errno.EACCES, errno.ELOOP, errno.ENOTDIR, errno.EPERM}: + return "submission_unreadable" + if exc.errno == errno.EISDIR: + return "submission_not_regular" + return None + + +def _submission_invalid(catalog: Catalog, code: str) -> EvaluationResult: + return EvaluationResult( + score=0.0, + score_unbounded=0.0, + message=f"submission_invalid code={code}", + metrics=_build_metrics( + catalog=catalog, + solved_ids=(), + submitted_count=0, + duplicate_count=0, + conflict_count=0, + unknown_count=0, + invalid_count=0, + rejection_counts={}, + invalid_examples=(), + ), + solved_ids=(), + ) + + +def _build_metrics( + *, + catalog: Catalog, + solved_ids: tuple[str, ...], + submitted_count: int, + duplicate_count: int, + conflict_count: int, + unknown_count: int, + invalid_count: int, + rejection_counts: Mapping[str, int], + invalid_examples: tuple[tuple[str | None, str], ...], +) -> Mapping[str, object]: + solved_set = frozenset(solved_ids) + return MappingProxyType( + { + "instance_count": len(catalog.instances), + "solved_count": len(solved_ids), + "submitted_count": submitted_count, + "duplicate_count": duplicate_count, + "conflict_count": conflict_count, + "unknown_count": unknown_count, + "invalid_count": invalid_count, + "rejection_code_counts": MappingProxyType( + dict(sorted(rejection_counts.items())) + ), + "invalid_examples": invalid_examples, + "solved_ids": solved_ids, + } + ) diff --git a/2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/ledger.py b/2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/ledger.py new file mode 100644 index 000000000..4c1407b6b --- /dev/null +++ b/2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/ledger.py @@ -0,0 +1,686 @@ +"""Canonical cumulative witness-ledger helpers.""" + +from __future__ import annotations + +import fcntl +import json +import os +import re +import secrets +import stat +import tempfile +from collections.abc import Iterator +from contextlib import contextmanager +from dataclasses import dataclass +from pathlib import Path +from types import MappingProxyType +from typing import Mapping, Sequence + +from .submission import ( + MAX_SECRET_ABS, + MAX_SUBMISSION_BYTES, + MAX_SUBMISSION_NODES, + MAX_SUBMISSION_RECORDS, + MAX_SUBMISSION_SECRET_COMPONENTS, +) +from .strict_json import loads_object + + +MAX_LEDGER_RECORDS = MAX_SUBMISSION_RECORDS +MAX_LEDGER_BYTES = MAX_SUBMISSION_BYTES +MAX_LEDGER_NODES = MAX_SUBMISSION_NODES +_INSTANCE_ID = re.compile(r"[A-Za-z0-9][A-Za-z0-9._-]{0,63}\Z") + + +class LedgerContractError(ValueError): + """A decoded cumulative ledger violates its public contract.""" + + +@dataclass(frozen=True, slots=True) +class Ledger: + schema_version: int + solutions: Mapping[str, tuple[int, ...]] + + def __post_init__(self) -> None: + copied = { + instance_id: tuple(secret) + for instance_id, secret in self.solutions.items() + } + object.__setattr__( + self, + "solutions", + MappingProxyType(dict(sorted(copied.items()))), + ) + + +@contextmanager +def _ledger_lock_at(parent_fd: int, ledger_name: str) -> Iterator[None]: + """Hold the sibling lock relative to an already pinned parent.""" + + if not hasattr(os, "O_NOFOLLOW"): + raise OSError("platform cannot safely open the ledger lock") + descriptor = os.open( + f"{ledger_name}.lock", + os.O_RDWR + | os.O_CREAT + | os.O_NOFOLLOW + | getattr(os, "O_CLOEXEC", 0) + | getattr(os, "O_NONBLOCK", 0), + 0o600, + dir_fd=parent_fd, + ) + locked = False + try: + metadata = os.fstat(descriptor) + if not stat.S_ISREG(metadata.st_mode): + raise LedgerContractError("ledger lock must be a regular file") + fcntl.flock(descriptor, fcntl.LOCK_EX) + locked = True + yield + finally: + try: + if locked: + fcntl.flock(descriptor, fcntl.LOCK_UN) + finally: + os.close(descriptor) + + +@contextmanager +def ledger_lock(path: str | Path) -> Iterator[None]: + """Hold the stable sibling lock for a complete ledger transaction.""" + + ledger_path = Path(path) + parent_fd = _open_parent_directory(ledger_path) + try: + with _ledger_lock_at(parent_fd, ledger_path.name): + yield + finally: + os.close(parent_fd) + + +def _validate_instance_id(instance_id: object) -> str: + if ( + not isinstance(instance_id, str) + or _INSTANCE_ID.fullmatch(instance_id) is None + ): + raise ValueError("invalid instance ID") + return instance_id + + +def _normalize_secret(secret: Sequence[int]) -> tuple[int, ...]: + try: + candidate = tuple(secret) + except TypeError as exc: + raise ValueError("invalid secret") from exc + if len(candidate) > MAX_SUBMISSION_SECRET_COMPONENTS or any( + type(value) is not int or abs(value) > MAX_SECRET_ABS + for value in candidate + ): + raise ValueError("invalid secret") + return candidate + + +def _open_regular_readonly(path: Path) -> int: + if not hasattr(os, "O_NOFOLLOW"): + raise OSError("platform cannot safely open a ledger") + descriptor = os.open( + path, + os.O_RDONLY + | os.O_NOFOLLOW + | getattr(os, "O_CLOEXEC", 0) + | getattr(os, "O_NONBLOCK", 0), + ) + try: + if not stat.S_ISREG(os.fstat(descriptor).st_mode): + raise LedgerContractError("ledger must be a regular file") + except BaseException: + os.close(descriptor) + raise + return descriptor + + +def _open_regular_readonly_at(parent_fd: int, name: str) -> int: + if not hasattr(os, "O_NOFOLLOW"): + raise OSError("platform cannot safely open a ledger") + descriptor = os.open( + name, + os.O_RDONLY + | os.O_NOFOLLOW + | getattr(os, "O_CLOEXEC", 0) + | getattr(os, "O_NONBLOCK", 0), + dir_fd=parent_fd, + ) + try: + if not stat.S_ISREG(os.fstat(descriptor).st_mode): + raise LedgerContractError("ledger must be a regular file") + except BaseException: + os.close(descriptor) + raise + return descriptor + + +def _open_parent_directory(path: Path) -> int: + required_flags = ("O_DIRECTORY", "O_NOFOLLOW") + if any(not hasattr(os, name) for name in required_flags): + raise OSError("platform cannot safely open the ledger directory") + descriptor = os.open( + path.parent, + os.O_RDONLY + | os.O_DIRECTORY + | os.O_NOFOLLOW + | getattr(os, "O_CLOEXEC", 0), + ) + try: + if not stat.S_ISDIR(os.fstat(descriptor).st_mode): + raise LedgerContractError("ledger parent must be a directory") + except BaseException: + os.close(descriptor) + raise + return descriptor + + +def _load_ledger_descriptor(descriptor: int) -> Ledger: + with os.fdopen(descriptor, "rb") as handle: + data = handle.read(MAX_LEDGER_BYTES + 1) + document = loads_object( + data, + max_bytes=MAX_LEDGER_BYTES, + max_depth=4, + max_nodes=MAX_LEDGER_NODES, + ) + if set(document) != {"schema_version", "solutions"}: + raise LedgerContractError("invalid ledger fields") + if ( + type(document["schema_version"]) is not int + or document["schema_version"] != 1 + ): + raise LedgerContractError("ledger schema_version must be integer 1") + raw_solutions = document["solutions"] + if not isinstance(raw_solutions, list): + raise LedgerContractError("ledger solutions must be a JSON array") + if len(raw_solutions) > MAX_LEDGER_RECORDS: + raise LedgerContractError("ledger has too many solution records") + + solutions: dict[str, tuple[int, ...]] = {} + for raw_record in raw_solutions: + if not isinstance(raw_record, dict) or set(raw_record) != { + "instance_id", + "secret", + }: + raise LedgerContractError("invalid ledger solution record") + try: + instance_id = _validate_instance_id(raw_record["instance_id"]) + except ValueError as exc: + raise LedgerContractError("invalid ledger instance ID") from exc + if instance_id in solutions: + raise LedgerContractError("repeated ledger instance ID") + raw_secret = raw_record["secret"] + if not isinstance(raw_secret, list): + raise LedgerContractError("invalid ledger secret") + try: + solutions[instance_id] = _normalize_secret(raw_secret) + except ValueError as exc: + raise LedgerContractError("invalid ledger secret") from exc + + return Ledger(schema_version=1, solutions=solutions) + + +def _load_ledger_at(parent_fd: int, name: str) -> Ledger: + return _load_ledger_descriptor(_open_regular_readonly_at(parent_fd, name)) + + +def load_ledger(path: str | Path) -> Ledger: + return _load_ledger_descriptor(_open_regular_readonly(Path(path))) + + +def _canonical_bytes(ledger: Ledger) -> bytes: + if type(ledger.schema_version) is not int or ledger.schema_version != 1: + raise LedgerContractError("ledger schema_version must be integer 1") + if not isinstance(ledger.solutions, Mapping): + raise LedgerContractError("invalid ledger solutions") + if len(ledger.solutions) > MAX_LEDGER_RECORDS: + raise LedgerContractError("ledger has too many solution records") + + normalized: list[tuple[str, tuple[int, ...]]] = [] + for raw_instance_id, raw_secret in ledger.solutions.items(): + try: + instance_id = _validate_instance_id(raw_instance_id) + secret = _normalize_secret(raw_secret) + except (TypeError, ValueError) as exc: + raise LedgerContractError("invalid ledger solution record") from exc + normalized.append((instance_id, secret)) + normalized.sort(key=lambda item: item[0]) + document = { + "schema_version": 1, + "solutions": [ + {"instance_id": instance_id, "secret": list(secret)} + for instance_id, secret in normalized + ], + } + encoded = json.dumps( + document, + ensure_ascii=False, + allow_nan=False, + separators=(",", ":"), + sort_keys=True, + ).encode("utf-8") + b"\n" + if len(encoded) > MAX_LEDGER_BYTES: + raise LedgerContractError("ledger exceeds byte limit") + return encoded + + +@dataclass(slots=True) +class _Quarantine: + directory: Path + name: str + parent_fd: int + outer_fd: int + inner_fd: int + traversal_available: bool = True + + +def _open_prepared_quarantine( + destination: Path, + parent_fd: int, + name: str, +) -> _Quarantine: + required_flags = ("O_DIRECTORY", "O_NOFOLLOW") + if any(not hasattr(os, name) for name in required_flags): + raise OSError("platform cannot safely prepare ledger cleanup") + quarantine_directory = destination.parent / name + outer_fd: int | None = None + inner_fd: int | None = None + try: + directory_flags = ( + os.O_RDONLY + | os.O_DIRECTORY + | os.O_NOFOLLOW + | getattr(os, "O_CLOEXEC", 0) + ) + outer_fd = os.open( + name, + directory_flags, + dir_fd=parent_fd, + ) + outer = os.fstat(outer_fd) + if ( + not stat.S_ISDIR(outer.st_mode) + or stat.S_IMODE(outer.st_mode) != 0o700 + ): + raise OSError("ledger quarantine outer directory is not private") + os.mkdir("private", mode=0o700, dir_fd=outer_fd) + inner_fd = os.open("private", directory_flags, dir_fd=outer_fd) + inner = os.fstat(inner_fd) + if ( + not stat.S_ISDIR(inner.st_mode) + or stat.S_IMODE(inner.st_mode) != 0o700 + ): + raise OSError("ledger quarantine inner directory is not private") + quarantine = _Quarantine( + directory=quarantine_directory, + name=name, + parent_fd=parent_fd, + outer_fd=outer_fd, + inner_fd=inner_fd, + ) + outer_fd = None + inner_fd = None + return quarantine + except BaseException: + if inner_fd is not None: + try: + os.close(inner_fd) + except OSError: + pass + if outer_fd is not None: + try: + os.rmdir("private", dir_fd=outer_fd) + except OSError: + pass + try: + os.close(outer_fd) + except OSError: + pass + try: + os.rmdir(name, dir_fd=parent_fd) + except OSError: + pass + raise + + +def _prepare_quarantine(destination: Path, parent_fd: int) -> _Quarantine: + """Create the standalone writer's private cleanup namespace.""" + + quarantine_directory = Path( + tempfile.mkdtemp( + prefix=f".{destination.name}.quarantine.", + dir=destination.parent, + ) + ) + return _open_prepared_quarantine( + destination, + parent_fd, + quarantine_directory.name, + ) + + +def _prepare_quarantine_at( + destination: Path, parent_fd: int +) -> _Quarantine: + """Create the transaction cleanup namespace without resolving its parent.""" + + prefix = f".{destination.name}.quarantine." + for _attempt in range(128): + name = f"{prefix}{secrets.token_hex(12)}" + try: + os.mkdir(name, mode=0o700, dir_fd=parent_fd) + except FileExistsError: + continue + return _open_prepared_quarantine(destination, parent_fd, name) + raise FileExistsError("unable to allocate ledger quarantine") + + +def _close_quarantine(quarantine: _Quarantine) -> None: + if not quarantine.traversal_available: + try: + os.fchmod(quarantine.outer_fd, 0o700) + quarantine.traversal_available = True + except OSError: + pass + try: + os.close(quarantine.inner_fd) + except OSError: + pass + private_removed = False + if quarantine.traversal_available: + try: + os.rmdir("private", dir_fd=quarantine.outer_fd) + except OSError: + pass + else: + private_removed = True + try: + os.close(quarantine.outer_fd) + except OSError: + pass + if private_removed: + try: + os.rmdir(quarantine.name, dir_fd=quarantine.parent_fd) + except OSError: + pass + + +def _quarantine_owned_temp( + quarantine: _Quarantine, + identity: tuple[int, int] | None, +) -> None: + """Remove only the writer-owned inode from the private namespace. + + The temporary entry is created directly inside the descriptor-held inner + directory. Pathname traversal through its outer directory is revoked before + the entry is inspected or written. Cleanup opens the entry with + ``O_NOFOLLOW`` and compares its descriptor identity before unlinking it + relative to the inner directory descriptor. Any missing, unverifiable, or + foreign entry is retained in the quarantine for recovery. + + This portable boundary excludes a process that already holds the freshly + created inner directory descriptor or can change quarantine permissions. + It prevents ordinary pathname races on both macOS and the Linux judge + without relying on platform-specific conditional-unlink operations. + """ + + if identity is None: + return + entry_fd: int | None = None + try: + if quarantine.traversal_available: + try: + os.fchmod(quarantine.outer_fd, 0) + except OSError: + return + quarantine.traversal_available = False + try: + entry_flags = ( + os.O_RDONLY + | os.O_NOFOLLOW + | getattr(os, "O_CLOEXEC", 0) + | getattr(os, "O_NONBLOCK", 0) + ) + entry_fd = os.open( + "entry", entry_flags, dir_fd=quarantine.inner_fd + ) + quarantined = os.fstat(entry_fd) + except OSError: + return + if ( + (quarantined.st_dev, quarantined.st_ino) == identity + and stat.S_ISREG(quarantined.st_mode) + ): + try: + os.unlink("entry", dir_fd=quarantine.inner_fd) + except OSError: + return + finally: + if entry_fd is not None: + try: + os.close(entry_fd) + except OSError: + pass + + +def _verify_owned_temp( + quarantine: _Quarantine, identity: tuple[int, int] +) -> int: + """Open and pin the verified private source through replacement.""" + + entry_flags = ( + os.O_RDONLY + | os.O_NOFOLLOW + | getattr(os, "O_CLOEXEC", 0) + | getattr(os, "O_NONBLOCK", 0) + ) + entry_fd = os.open("entry", entry_flags, dir_fd=quarantine.inner_fd) + try: + metadata = os.fstat(entry_fd) + if ( + not stat.S_ISREG(metadata.st_mode) + or (metadata.st_dev, metadata.st_ino) != identity + ): + raise OSError("ledger temporary file identity changed") + except BaseException: + try: + os.close(entry_fd) + except OSError: + pass + raise + return entry_fd + + +def _write_ledger_bytes_at( + destination: Path, + parent_fd: int, + data: bytes, + *, + descriptor_quarantine: bool, +) -> None: + quarantine: _Quarantine | None = None + temporary_name: str | None = None + temporary_fd: int | None = None + writer_fd: int | None = None + verified_fd: int | None = None + temporary_identity: tuple[int, int] | None = None + try: + try: + destination_fd = os.open( + destination.name, + os.O_RDONLY + | os.O_NOFOLLOW + | getattr(os, "O_CLOEXEC", 0) + | getattr(os, "O_NONBLOCK", 0), + dir_fd=parent_fd, + ) + except FileNotFoundError: + pass + else: + try: + if not stat.S_ISREG(os.fstat(destination_fd).st_mode): + raise LedgerContractError( + "ledger must be a regular file" + ) + finally: + os.close(destination_fd) + prepare_quarantine = ( + _prepare_quarantine_at + if descriptor_quarantine + else _prepare_quarantine + ) + quarantine = prepare_quarantine(destination, parent_fd) + os.fchmod(quarantine.outer_fd, 0) + quarantine.traversal_available = False + temporary_fd = os.open( + "entry", + os.O_WRONLY + | os.O_CREAT + | os.O_EXCL + | os.O_NOFOLLOW + | getattr(os, "O_CLOEXEC", 0), + 0o600, + dir_fd=quarantine.inner_fd, + ) + temporary_name = "entry" + created = os.fstat(temporary_fd) + if not stat.S_ISREG(created.st_mode): + raise OSError("ledger temporary file is not regular") + temporary_identity = (created.st_dev, created.st_ino) + writer_fd = os.dup(temporary_fd) + with os.fdopen(writer_fd, "wb") as handle: + writer_fd = None + data_view = memoryview(data) + offset = 0 + while offset < len(data_view): + written = handle.write(data_view[offset:]) + remaining = len(data_view) - offset + if ( + type(written) is not int + or written <= 0 + or written > remaining + ): + raise OSError("unable to write complete ledger") + offset += written + handle.flush() + os.fsync(handle.fileno()) + verified_fd = _verify_owned_temp(quarantine, temporary_identity) + os.replace( + temporary_name, + destination.name, + src_dir_fd=quarantine.inner_fd, + dst_dir_fd=parent_fd, + ) + temporary_name = None + os.fsync(parent_fd) + except BaseException: + if writer_fd is not None: + try: + os.close(writer_fd) + except OSError: + pass + if temporary_name is not None and quarantine is not None: + _quarantine_owned_temp( + quarantine, + temporary_identity, + ) + raise + finally: + if verified_fd is not None: + try: + os.close(verified_fd) + except OSError: + pass + if temporary_fd is not None: + try: + os.close(temporary_fd) + except OSError: + pass + if quarantine is not None: + _close_quarantine(quarantine) + + +def _write_ledger_atomic_at( + destination: Path, parent_fd: int, ledger: Ledger +) -> None: + _write_ledger_bytes_at( + destination, + parent_fd, + _canonical_bytes(ledger), + descriptor_quarantine=True, + ) + + +def write_ledger_atomic(path: str | Path, ledger: Ledger) -> None: + destination = Path(path) + data = _canonical_bytes(ledger) + parent_fd = _open_parent_directory(destination) + try: + _write_ledger_bytes_at( + destination, + parent_fd, + data, + descriptor_quarantine=False, + ) + finally: + try: + os.close(parent_fd) + except OSError: + pass + + +def merge_witness( + ledger: Ledger, + *, + instance_id: str, + secret: Sequence[int], + replace: bool = False, +) -> Ledger: + instance_id = _validate_instance_id(instance_id) + candidate = _normalize_secret(secret) + if not replace and ledger.solutions.get(instance_id) == candidate: + return ledger + if not replace and instance_id in ledger.solutions: + raise ValueError("instance already has a different witness") + if ( + instance_id not in ledger.solutions + and len(ledger.solutions) >= MAX_LEDGER_RECORDS + ): + raise ValueError("ledger may contain at most 200 witnesses") + solutions = dict(ledger.solutions) + solutions[instance_id] = candidate + return Ledger(schema_version=ledger.schema_version, solutions=solutions) + + +def merge_witness_transaction( + path: str | Path, + *, + instance_id: str, + secret: Sequence[int], + replace: bool = False, +) -> Ledger: + """Merge and persist while pinning one parent namespace throughout.""" + + destination = Path(path) + parent_fd = _open_parent_directory(destination) + try: + with _ledger_lock_at(parent_fd, destination.name): + current = _load_ledger_at(parent_fd, destination.name) + updated = merge_witness( + current, + instance_id=instance_id, + secret=secret, + replace=replace, + ) + _write_ledger_atomic_at(destination, parent_fd, updated) + return updated + finally: + try: + os.close(parent_fd) + except OSError: + pass diff --git a/2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/matrix.py b/2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/matrix.py new file mode 100644 index 000000000..f74a3c988 --- /dev/null +++ b/2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/matrix.py @@ -0,0 +1,109 @@ +from __future__ import annotations + +from collections.abc import Iterator, Sequence + +from .schema import InstanceSpec +from .shake import ShakeStream + + +_DENSE_COEFFICIENT_TAG = b"\x01" +_SPARSE_SUPPORT_TAG = b"\x02" +_SPARSE_COEFFICIENT_TAG = b"\x03" + + +def _stream_domain(instance: InstanceSpec, row_index: int, tag: bytes) -> bytes: + expansion_domain = instance.matrix.expansion_domain.encode("utf-8") + instance_id = instance.instance_id.encode("ascii") + return ( + len(expansion_domain).to_bytes(4, "little") + + expansion_domain + + len(instance_id).to_bytes(4, "little") + + instance_id + + row_index.to_bytes(8, "little") + + tag + ) + + +def _row(instance: InstanceSpec, row_index: int) -> tuple[int, ...]: + seed = bytes.fromhex(instance.matrix.seed_hex) + if instance.matrix.kind in {"uniform", "small_alphabet"}: + stream = ShakeStream( + domain=_stream_domain(instance, row_index, _DENSE_COEFFICIENT_TAG), + seed=seed, + ) + if instance.matrix.kind == "uniform": + return tuple(stream.randbelow(instance.q) for _ in range(instance.n)) + return tuple( + instance.matrix.alphabet[ + stream.randbelow(len(instance.matrix.alphabet)) + ] + for _ in range(instance.n) + ) + + if instance.matrix.kind not in {"sparse_uniform", "sparse_small_alphabet"}: + raise ValueError(f"unsupported matrix kind: {instance.matrix.kind}") + row_weight = instance.matrix.row_weight + if row_weight is None: + raise ValueError("sparse matrix must define row_weight") + + support_stream = ShakeStream( + domain=_stream_domain(instance, row_index, _SPARSE_SUPPORT_TAG), + seed=seed, + ) + support: set[int] = set() + while len(support) < row_weight: + support.add(support_stream.randbelow(instance.n)) + + coefficient_stream = ShakeStream( + domain=_stream_domain(instance, row_index, _SPARSE_COEFFICIENT_TAG), + seed=seed, + ) + row = [0] * instance.n + for column in sorted(support): + if instance.matrix.kind == "sparse_uniform": + row[column] = coefficient_stream.randbelow(instance.q - 1) + 1 + else: + row[column] = instance.matrix.alphabet[ + coefficient_stream.randbelow(len(instance.matrix.alphabet)) + ] + return tuple(row) + + +def iter_rows(instance: InstanceSpec) -> Iterator[tuple[int, ...]]: + for row_index in range(instance.m): + yield _row(instance, row_index) + + +def materialize_row_block( + instance: InstanceSpec, start: int, stop: int +) -> tuple[tuple[int, ...], ...]: + if ( + not isinstance(start, int) + or isinstance(start, bool) + or not isinstance(stop, int) + or isinstance(stop, bool) + ): + raise TypeError("row block bounds must be integers") + if not 0 <= start <= stop <= instance.m: + raise ValueError("row block bounds must satisfy 0 <= start <= stop <= m") + return tuple(_row(instance, row_index) for row_index in range(start, stop)) + + +def materialize_rows(instance: InstanceSpec) -> tuple[tuple[int, ...], ...]: + return materialize_row_block(instance, 0, instance.m) + + +def matvec_mod( + instance: InstanceSpec, secret: Sequence[int] +) -> tuple[int, ...]: + if len(secret) != instance.n: + raise ValueError("secret length must equal n") + if any( + not isinstance(value, int) or isinstance(value, bool) for value in secret + ): + raise TypeError("secret entries must be integers") + return tuple( + sum(coefficient * value for coefficient, value in zip(row, secret)) + % instance.q + for row in iter_rows(instance) + ) diff --git a/2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/schema.py b/2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/schema.py new file mode 100644 index 000000000..d617828b5 --- /dev/null +++ b/2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/schema.py @@ -0,0 +1,790 @@ +from __future__ import annotations + +import hashlib +import json +import math +import os +import re +import stat +from dataclasses import dataclass, field +from pathlib import Path +from types import MappingProxyType +from typing import Literal, Mapping + +from .strict_json import loads_object + + +MAX_CATALOG_BYTES = 64 * 1024 * 1024 +MAX_CATALOG_RECORDS = 200 +MATRIX_EXPANSION_DOMAIN = "FCS-STRUCTURED-LWE-MATRIX-v1" + +# Provisional operational/native envelope. Phase 4 owns release-specific limits; +# these bounds keep Phase 2 inputs within the planned uint32/uint64 C interface, +# and cap aggregate reconstruction work within one 10,800-second evaluation. +MAX_N = 4096 +MAX_M = 65536 +MAX_Q = 2**32 - 1 +MAX_MATRIX_ENTRIES = 2**26 +MAX_CATALOG_MATRIX_ENTRIES = 2**28 + +_HEX_64 = re.compile(r"[0-9a-f]{64}\Z") +_INSTANCE_ID = re.compile(r"[A-Za-z0-9][A-Za-z0-9._-]{0,63}\Z") +_MATRIX_KINDS = frozenset( + {"uniform", "small_alphabet", "sparse_uniform", "sparse_small_alphabet"} +) +_SECRET_DISTRIBUTION_KINDS = frozenset( + { + "uniform_mod_q", + "iid_alphabet", + "exact_weight_alphabet", + "balanced_exact_weight_signed", + "centered_binomial", + } +) +_SECRET_PREDICATE_KINDS = frozenset({"alphabet", "mod_q"}) +_ERROR_DISTRIBUTION_KINDS = frozenset( + { + "truncated_discrete_gaussian", + "centered_binomial", + "bounded_uniform", + "sparse_bounded", + } +) +_CATALOG_KEYS = frozenset({"schema_version", "instances"}) +_INSTANCE_KEYS = frozenset( + { + "schema_version", + "instance_id", + "n", + "m", + "q", + "matrix", + "b", + "secret_distribution", + "secret", + "error_distribution", + "error", + "instance_digest", + } +) +_MATRIX_KEYS = frozenset( + {"kind", "seed_hex", "expansion_domain", "alphabet", "row_weight"} +) +_SECRET_DISTRIBUTION_KEYS = frozenset({"kind", "alphabet", "weight", "eta"}) +_SECRET_PREDICATE_KEYS = frozenset( + {"kind", "alphabet", "min_nonzero", "max_nonzero"} +) +_ERROR_DISTRIBUTION_KEYS = frozenset({"kind", "sigma", "eta", "bound", "weight"}) +_ERROR_PREDICATE_KEYS = frozenset( + {"max_abs", "max_l1", "max_l2_squared", "max_nonzero"} +) +_DIGEST_EXCLUDED_FIELDS = ("instance_digest",) + + +@dataclass(frozen=True, slots=True) +class MatrixSpec: + kind: Literal[ + "uniform", "small_alphabet", "sparse_uniform", "sparse_small_alphabet" + ] + seed_hex: str + expansion_domain: str + alphabet: tuple[int, ...] = () + row_weight: int | None = None + + +@dataclass(frozen=True, slots=True) +class SecretDistributionSpec: + kind: Literal[ + "uniform_mod_q", + "iid_alphabet", + "exact_weight_alphabet", + "balanced_exact_weight_signed", + "centered_binomial", + ] + alphabet: tuple[int, ...] + weight: int | None + eta: int | None + + +@dataclass(frozen=True, slots=True) +class SecretPredicateSpec: + kind: Literal["alphabet", "mod_q"] + alphabet: tuple[int, ...] + min_nonzero: int + max_nonzero: int + + +@dataclass(frozen=True, slots=True) +class ErrorPredicateSpec: + max_abs: int + max_l1: int | None + max_l2_squared: int | None + max_nonzero: int | None + + +@dataclass(frozen=True, slots=True) +class ErrorDistributionSpec: + kind: Literal[ + "truncated_discrete_gaussian", + "centered_binomial", + "bounded_uniform", + "sparse_bounded", + ] + sigma: float | None + eta: int | None + bound: int + weight: int | None + + +@dataclass(frozen=True, slots=True) +class InstanceSpec: + schema_version: int + instance_id: str + n: int + m: int + q: int + matrix: MatrixSpec + b: tuple[int, ...] + secret_distribution: SecretDistributionSpec + secret: SecretPredicateSpec + error_distribution: ErrorDistributionSpec + error: ErrorPredicateSpec + instance_digest: str + + +@dataclass(frozen=True, slots=True) +class Catalog: + schema_version: int + catalog_id: str + instances: tuple[InstanceSpec, ...] + _instances_by_id: Mapping[str, InstanceSpec] = field( + init=False, repr=False, compare=False + ) + + def __post_init__(self) -> None: + by_id = {instance.instance_id: instance for instance in self.instances} + if len(by_id) != len(self.instances): + raise ValueError("duplicate instance_id in catalog") + object.__setattr__(self, "_instances_by_id", MappingProxyType(by_id)) + + @classmethod + def load(cls, path: str | Path) -> Catalog: + catalog_path = Path(path) + raw_bytes = _read_regular_catalog(catalog_path) + if catalog_path.suffix == ".json": + catalog_format = "json" + elif catalog_path.suffix == ".jsonl": + catalog_format = "jsonl" + else: + raise ValueError("catalog path must end in .json or .jsonl") + return cls._load_bytes(raw_bytes, catalog_format) + + @classmethod + def load_fd(cls, descriptor: int, catalog_format: Literal["json", "jsonl"]) -> Catalog: + """Load the exact already-open regular file using an explicit wire format.""" + + if type(descriptor) is not int or descriptor < 0: + raise ValueError("catalog descriptor must be a non-negative integer") + if catalog_format not in {"json", "jsonl"}: + raise ValueError("catalog format must be exactly json or jsonl") + return cls._load_bytes(_read_regular_catalog_fd(descriptor), catalog_format) + + @classmethod + def _load_bytes( + cls, raw_bytes: bytes, catalog_format: Literal["json", "jsonl"] + ) -> Catalog: + if len(raw_bytes) > MAX_CATALOG_BYTES: + raise ValueError("catalog exceeds the 64 MiB byte limit") + if catalog_format == "json": + schema_version, records = _load_json_records(raw_bytes) + require_increasing_ids = False + else: + schema_version, records = _load_jsonl_records(raw_bytes) + require_increasing_ids = True + + raw_ids = tuple(_record_instance_id(record) for record in records) + if len(raw_ids) != len(set(raw_ids)): + raise ValueError("duplicate instance_id in catalog") + if require_increasing_ids and any( + previous >= current for previous, current in zip(raw_ids, raw_ids[1:]) + ): + raise ValueError("JSONL instance IDs must be strictly increasing") + + remaining_matrix_entries = MAX_CATALOG_MATRIX_ENTRIES + parsed_instances: list[InstanceSpec] = [] + for record in records: + instance = _parse_instance(record) + if instance.m > remaining_matrix_entries // instance.n: + raise ValueError( + "catalog matrix dimensions exceed MAX_CATALOG_MATRIX_ENTRIES" + ) + remaining_matrix_entries -= instance.n * instance.m + parsed_instances.append(instance) + instances = tuple(parsed_instances) + return cls( + schema_version=schema_version, + catalog_id=hashlib.sha256(raw_bytes).hexdigest(), + instances=instances, + ) + + def get(self, instance_id: str) -> InstanceSpec: + return self._instances_by_id[instance_id] + + +def canonical_record_bytes(record: Mapping[str, object]) -> bytes: + serialized = json.dumps( + record, + sort_keys=True, + separators=(",", ":"), + ensure_ascii=False, + allow_nan=False, + ) + try: + return serialized.encode("utf-8") + except UnicodeEncodeError as exc: + raise ValueError("canonical JSON contains a Unicode surrogate") from exc + + +def _read_regular_catalog(path: Path) -> bytes: + flags = os.O_RDONLY | os.O_NONBLOCK | getattr(os, "O_CLOEXEC", 0) + fd = os.open(path, flags) + try: + metadata = os.fstat(fd) + if not stat.S_ISREG(metadata.st_mode): + raise ValueError("catalog path must be a regular file") + data = bytearray() + limit = MAX_CATALOG_BYTES + 1 + while len(data) < limit: + chunk = os.read(fd, min(1024 * 1024, limit - len(data))) + if not chunk: + break + data.extend(chunk) + return bytes(data) + finally: + os.close(fd) + + +def _read_regular_catalog_fd(descriptor: int) -> bytes: + try: + before = os.fstat(descriptor) + except OSError as exc: + raise ValueError("catalog descriptor is not open") from exc + if not stat.S_ISREG(before.st_mode): + raise ValueError("catalog descriptor must refer to a regular file") + if before.st_size > MAX_CATALOG_BYTES: + raise ValueError("catalog exceeds the 64 MiB byte limit") + data = bytearray() + offset = 0 + while offset < before.st_size: + try: + chunk = os.pread(descriptor, min(1024 * 1024, before.st_size - offset), offset) + except OSError as exc: + raise ValueError("catalog descriptor cannot be read") from exc + if not chunk: + raise ValueError("catalog descriptor was truncated") + data.extend(chunk) + offset += len(chunk) + try: + after = os.fstat(descriptor) + except OSError as exc: + raise ValueError("catalog descriptor changed while reading") from exc + if ( + (after.st_dev, after.st_ino, after.st_size, after.st_mtime_ns) + != (before.st_dev, before.st_ino, before.st_size, before.st_mtime_ns) + ): + raise ValueError("catalog descriptor changed while reading") + return bytes(data) + + +def compute_instance_digest(record: Mapping[str, object]) -> str: + digest_record = dict(record) + for key in _DIGEST_EXCLUDED_FIELDS: + digest_record.pop(key, None) + return hashlib.sha256(canonical_record_bytes(digest_record)).hexdigest() + + +def _load_json_records(raw_bytes: bytes) -> tuple[int, tuple[Mapping[str, object], ...]]: + document = loads_object( + raw_bytes, + max_bytes=MAX_CATALOG_BYTES, + max_depth=16, + max_nodes=1_000_000, + ) + _require_exact_keys(document, _CATALOG_KEYS, "catalog") + schema_version = _schema_version(document["schema_version"], "catalog") + raw_instances = _require_list(document["instances"], "catalog instances") + if not raw_instances: + raise ValueError("catalog must contain at least 1 record") + if len(raw_instances) > MAX_CATALOG_RECORDS: + raise ValueError("catalog may contain at most 200 records") + return schema_version, tuple( + _require_mapping(value, f"instances[{index}]") + for index, value in enumerate(raw_instances) + ) + + +def _load_jsonl_records( + raw_bytes: bytes, +) -> tuple[int, tuple[Mapping[str, object], ...]]: + if not raw_bytes: + raise ValueError("catalog must contain at least 1 record") + if b"\r" in raw_bytes: + raise ValueError("JSONL catalogs must use LF line endings") + if not raw_bytes.endswith(b"\n"): + raise ValueError("JSONL catalog must end with a final newline") + lines = raw_bytes[:-1].split(b"\n") + if any(not line for line in lines): + raise ValueError("JSONL catalog must not contain blank lines") + if len(lines) > MAX_CATALOG_RECORDS: + raise ValueError("catalog may contain at most 200 records") + + records: list[Mapping[str, object]] = [] + for index, line in enumerate(lines): + record = loads_object( + line, + max_bytes=MAX_CATALOG_BYTES, + max_depth=16, + max_nodes=100_000, + ) + if line != canonical_record_bytes(record): + raise ValueError(f"JSONL record {index} is not canonical") + records.append(record) + return 1, tuple(records) + + +def _record_instance_id(record: Mapping[str, object]) -> str: + _require_instance_keys(record) + return _parse_instance_id(record["instance_id"]) + + +def _parse_instance(raw: Mapping[str, object]) -> InstanceSpec: + _require_instance_keys(raw) + schema_version = _schema_version(raw["schema_version"], "instance") + instance_id = _parse_instance_id(raw["instance_id"]) + n = _require_integer(raw["n"], "n") + m = _require_integer(raw["m"], "m") + q = _require_integer(raw["q"], "q") + if not 1 <= n <= MAX_N: + raise ValueError("n must satisfy 1 <= n <= MAX_N") + if not 1 <= m <= MAX_M: + raise ValueError("m must satisfy 1 <= m <= MAX_M") + if not 3 <= q <= MAX_Q: + raise ValueError("q must satisfy 3 <= q <= MAX_Q") + if m > MAX_MATRIX_ENTRIES // n: + raise ValueError("matrix dimensions exceed MAX_MATRIX_ENTRIES") + + matrix = _parse_matrix(raw["matrix"], n=n, q=q) + b = _parse_b(raw["b"], m=m, q=q) + secret_distribution, secret = _parse_secret_specs( + raw["secret_distribution"], raw["secret"], n=n, q=q + ) + error_distribution, error = _parse_error_specs( + raw["error_distribution"], raw["error"], m=m + ) + + instance_digest = _require_string(raw["instance_digest"], "instance_digest") + if _HEX_64.fullmatch(instance_digest) is None: + raise ValueError("instance_digest must be lowercase 64-character hexadecimal") + if instance_digest != compute_instance_digest(raw): + raise ValueError("instance_digest mismatch") + + return InstanceSpec( + schema_version=schema_version, + instance_id=instance_id, + n=n, + m=m, + q=q, + matrix=matrix, + b=b, + secret_distribution=secret_distribution, + secret=secret, + error_distribution=error_distribution, + error=error, + instance_digest=instance_digest, + ) + + +def _parse_matrix(raw_value: object, *, n: int, q: int) -> MatrixSpec: + raw = _require_mapping(raw_value, "matrix") + _require_exact_keys(raw, _MATRIX_KEYS, "matrix") + kind = _require_choice(raw["kind"], _MATRIX_KINDS, "matrix kind") + seed_hex = _require_string(raw["seed_hex"], "matrix seed_hex") + if _HEX_64.fullmatch(seed_hex) is None: + raise ValueError("matrix seed_hex must encode exactly 32 lowercase-hex bytes") + expansion_domain = _require_string( + raw["expansion_domain"], "matrix expansion_domain" + ) + if expansion_domain != MATRIX_EXPANSION_DOMAIN: + raise ValueError(f"matrix expansion_domain must be {MATRIX_EXPANSION_DOMAIN}") + alphabet = _parse_alphabet(raw["alphabet"], q=q, context="matrix alphabet") + row_weight = _require_optional_integer(raw["row_weight"], "matrix row_weight") + + if kind in {"uniform", "sparse_uniform"} and alphabet: + raise ValueError(f"{kind} matrix alphabet must be empty") + if kind in {"small_alphabet", "sparse_small_alphabet"} and not alphabet: + raise ValueError(f"{kind} matrix alphabet must be nonempty") + if kind in {"uniform", "small_alphabet"}: + if row_weight is not None: + raise ValueError("dense matrix kinds must not set row_weight") + else: + if row_weight is None or not 1 <= row_weight <= n: + raise ValueError("matrix row_weight must be between 1 and n") + if kind == "sparse_small_alphabet" and 0 in alphabet: + raise ValueError("sparse_small_alphabet matrix alphabet must exclude zero") + + return MatrixSpec( + kind=kind, + seed_hex=seed_hex, + expansion_domain=expansion_domain, + alphabet=alphabet, + row_weight=row_weight, + ) + + +def _parse_b(raw_value: object, *, m: int, q: int) -> tuple[int, ...]: + raw = _require_list(raw_value, "b") + if len(raw) != m: + raise ValueError("len(b) must equal m") + b = tuple(_require_integer(value, f"b[{index}]") for index, value in enumerate(raw)) + if any(value < 0 or value >= q for value in b): + raise ValueError("each b entry must satisfy 0 <= b_i < q") + return b + + +def _parse_secret_specs( + raw_distribution_value: object, + raw_predicate_value: object, + *, + n: int, + q: int, +) -> tuple[SecretDistributionSpec, SecretPredicateSpec]: + raw_distribution = _require_mapping( + raw_distribution_value, "secret_distribution" + ) + raw_predicate = _require_mapping(raw_predicate_value, "secret") + _require_exact_keys( + raw_distribution, _SECRET_DISTRIBUTION_KEYS, "secret_distribution" + ) + _require_exact_keys(raw_predicate, _SECRET_PREDICATE_KEYS, "secret") + + distribution_kind = _require_choice( + raw_distribution["kind"], + _SECRET_DISTRIBUTION_KINDS, + "secret distribution kind", + ) + distribution_alphabet = _parse_alphabet( + raw_distribution["alphabet"], q=q, context="secret distribution alphabet" + ) + weight = _require_optional_integer( + raw_distribution["weight"], "secret distribution weight" + ) + eta = _require_optional_integer( + raw_distribution["eta"], "secret distribution eta" + ) + + predicate_kind = _require_choice( + raw_predicate["kind"], _SECRET_PREDICATE_KINDS, "secret predicate kind" + ) + predicate_alphabet = _parse_alphabet( + raw_predicate["alphabet"], q=q, context="secret predicate alphabet" + ) + min_nonzero = _require_integer( + raw_predicate["min_nonzero"], "secret min_nonzero" + ) + max_nonzero = _require_integer( + raw_predicate["max_nonzero"], "secret max_nonzero" + ) + if not 0 <= min_nonzero <= max_nonzero <= n: + raise ValueError("secret nonzero bounds must satisfy 0 <= min <= max <= n") + + if distribution_kind == "uniform_mod_q": + if distribution_alphabet or predicate_alphabet: + raise ValueError("uniform_mod_q secret alphabets must be empty") + if predicate_kind != "mod_q": + raise ValueError("uniform_mod_q requires the mod_q secret predicate") + if weight is not None or eta is not None: + raise ValueError("uniform_mod_q must not set secret weight or eta") + elif distribution_kind == "iid_alphabet": + if not distribution_alphabet: + raise ValueError("iid_alphabet requires a nonempty secret alphabet") + if predicate_kind != "alphabet": + raise ValueError("iid_alphabet requires the alphabet secret predicate") + if distribution_alphabet != predicate_alphabet: + raise ValueError("secret distribution and predicate alphabets must match") + if weight is not None or eta is not None: + raise ValueError("iid_alphabet must not set secret weight or eta") + elif distribution_kind in { + "exact_weight_alphabet", + "balanced_exact_weight_signed", + }: + if distribution_kind == "balanced_exact_weight_signed": + if distribution_alphabet != (-1, 1): + raise ValueError( + "balanced_exact_weight_signed alphabet must be exactly [-1, 1]" + ) + elif not distribution_alphabet or 0 in distribution_alphabet: + raise ValueError( + "exact_weight_alphabet requires a nonempty alphabet excluding zero" + ) + expected_predicate_alphabet = tuple(sorted((*distribution_alphabet, 0))) + if predicate_kind != "alphabet" or predicate_alphabet != expected_predicate_alphabet: + raise ValueError( + "exact-weight secret predicate alphabet must add zero to the distribution alphabet" + ) + if weight is None or weight != min_nonzero or weight != max_nonzero: + raise ValueError("exact secret weight must equal both predicate bounds") + if distribution_kind == "balanced_exact_weight_signed" and weight % 2: + raise ValueError( + "balanced_exact_weight_signed requires an even weight" + ) + if eta is not None: + raise ValueError(f"{distribution_kind} must not set secret eta") + else: + if eta is None or not 1 <= eta <= (q - 1) // 2: + raise ValueError( + "centered_binomial secret eta must satisfy 1 <= eta <= (q - 1) // 2" + ) + if ( + predicate_kind != "alphabet" + or not _is_centered_binomial_alphabet(distribution_alphabet, eta) + or not _is_centered_binomial_alphabet(predicate_alphabet, eta) + ): + raise ValueError( + "centered_binomial secret alphabets must exactly match range(-eta, eta + 1)" + ) + if weight is not None: + raise ValueError("centered_binomial must not set secret weight") + + return ( + SecretDistributionSpec( + kind=distribution_kind, + alphabet=distribution_alphabet, + weight=weight, + eta=eta, + ), + SecretPredicateSpec( + kind=predicate_kind, + alphabet=predicate_alphabet, + min_nonzero=min_nonzero, + max_nonzero=max_nonzero, + ), + ) + + +def _is_centered_binomial_alphabet(values: tuple[int, ...], eta: int) -> bool: + return len(values) == 2 * eta + 1 and all( + value == index - eta for index, value in enumerate(values) + ) + + +def _parse_error_specs( + raw_distribution_value: object, + raw_predicate_value: object, + *, + m: int, +) -> tuple[ErrorDistributionSpec, ErrorPredicateSpec]: + raw_distribution = _require_mapping( + raw_distribution_value, "error_distribution" + ) + raw_predicate = _require_mapping(raw_predicate_value, "error") + _require_exact_keys( + raw_distribution, _ERROR_DISTRIBUTION_KEYS, "error_distribution" + ) + _require_exact_keys(raw_predicate, _ERROR_PREDICATE_KEYS, "error") + + distribution_kind = _require_choice( + raw_distribution["kind"], + _ERROR_DISTRIBUTION_KINDS, + "error distribution kind", + ) + sigma = _require_optional_number( + raw_distribution["sigma"], "error distribution sigma" + ) + eta = _require_optional_integer( + raw_distribution["eta"], "error distribution eta" + ) + bound = _require_integer(raw_distribution["bound"], "error distribution bound") + weight = _require_optional_integer( + raw_distribution["weight"], "error distribution weight" + ) + if bound < 0: + raise ValueError("error distribution bound must be nonnegative") + + max_abs = _require_integer(raw_predicate["max_abs"], "error max_abs") + max_l1 = _require_optional_nonnegative_integer( + raw_predicate["max_l1"], "error max_l1" + ) + max_l2_squared = _require_optional_nonnegative_integer( + raw_predicate["max_l2_squared"], "error max_l2_squared" + ) + max_nonzero = _require_optional_nonnegative_integer( + raw_predicate["max_nonzero"], "error max_nonzero" + ) + if max_abs < 0: + raise ValueError("error max_abs must be nonnegative") + + if distribution_kind == "truncated_discrete_gaussian": + if sigma is None or sigma <= 0: + raise ValueError("Gaussian error sigma must be finite and positive") + if eta is not None or weight is not None: + raise ValueError("Gaussian errors must not set eta or weight") + elif distribution_kind == "centered_binomial": + if eta is None or eta < 1 or bound != eta: + raise ValueError("centered-binomial error requires eta >= 1 and bound == eta") + if sigma is not None or weight is not None: + raise ValueError("centered-binomial errors must not set sigma or weight") + elif distribution_kind == "bounded_uniform": + if sigma is not None or eta is not None or weight is not None: + raise ValueError("bounded-uniform errors must not set sigma, eta, or weight") + else: + if bound < 1: + raise ValueError("sparse-bounded error bound must be at least 1") + if weight is None or not 1 <= weight <= m: + raise ValueError("sparse-bounded error weight must be between 1 and m") + if sigma is not None or eta is not None: + raise ValueError("sparse-bounded errors must not set sigma or eta") + if max_nonzero is None or max_nonzero < weight: + raise ValueError( + "error max_nonzero must be at least the sparse distribution weight" + ) + + if max_abs < bound: + raise ValueError("error max_abs must be at least the distribution bound") + + return ( + ErrorDistributionSpec( + kind=distribution_kind, + sigma=sigma, + eta=eta, + bound=bound, + weight=weight, + ), + ErrorPredicateSpec( + max_abs=max_abs, + max_l1=max_l1, + max_l2_squared=max_l2_squared, + max_nonzero=max_nonzero, + ), + ) + + +def _parse_alphabet(raw_value: object, *, q: int, context: str) -> tuple[int, ...]: + raw = _require_list(raw_value, context) + values = tuple( + _require_integer(value, f"{context}[{index}]") + for index, value in enumerate(raw) + ) + if values != tuple(sorted(set(values))): + raise ValueError(f"{context} must be sorted and unique") + if len({value % q for value in values}) != len(values): + raise ValueError(f"{context} values must be incongruent modulo q") + lower = -(q // 2) + upper = (q - 1) // 2 + if any(value < lower or value > upper for value in values): + raise ValueError(f"{context} values must be centered representatives modulo q") + return values + + +def _parse_instance_id(raw_value: object) -> str: + value = _require_string(raw_value, "instance_id") + if _INSTANCE_ID.fullmatch(value) is None: + raise ValueError( + "instance_id must contain 1 to 64 ASCII letters, digits, dots, underscores, " + "or hyphens and must start with a letter or digit" + ) + return value + + +def _schema_version(raw_value: object, context: str) -> int: + value = _require_integer(raw_value, f"{context} schema_version") + if value != 1: + raise ValueError(f"{context} schema_version must equal 1") + return value + + +def _require_exact_keys( + raw: Mapping[str, object], expected: frozenset[str], context: str +) -> None: + keys = set(raw) + unknown = sorted(keys - expected) + missing = sorted(expected - keys) + if unknown: + raise ValueError(f"unknown {context} fields: {', '.join(unknown)}") + if missing: + raise ValueError(f"missing {context} fields: {', '.join(missing)}") + + +def _require_instance_keys(raw: Mapping[str, object]) -> None: + keys = set(raw) + unknown = sorted(keys - _INSTANCE_KEYS) + missing = sorted(_INSTANCE_KEYS - keys) + if unknown: + raise ValueError(f"unknown instance fields: {', '.join(unknown)}") + if missing: + raise ValueError(f"missing instance fields: {', '.join(missing)}") + + +def _require_mapping(raw_value: object, context: str) -> Mapping[str, object]: + if not isinstance(raw_value, dict): + raise ValueError(f"{context} must be a JSON object") + return raw_value + + +def _require_list(raw_value: object, context: str) -> list[object]: + if not isinstance(raw_value, list): + raise ValueError(f"{context} must be a JSON array") + return raw_value + + +def _require_string(raw_value: object, context: str) -> str: + if not isinstance(raw_value, str): + raise ValueError(f"{context} must be a string") + return raw_value + + +def _require_choice( + raw_value: object, choices: frozenset[str] | set[str], context: str +) -> str: + value = _require_string(raw_value, context) + if value not in choices: + raise ValueError(f"unsupported {context}: {value}") + return value + + +def _require_integer(raw_value: object, context: str) -> int: + if type(raw_value) is not int: + raise ValueError(f"{context} must be an integer") + return raw_value + + +def _require_optional_integer(raw_value: object, context: str) -> int | None: + if raw_value is None: + return None + return _require_integer(raw_value, context) + + +def _require_optional_nonnegative_integer( + raw_value: object, context: str +) -> int | None: + value = _require_optional_integer(raw_value, context) + if value is not None and value < 0: + raise ValueError(f"{context} must be nonnegative") + return value + + +def _require_number(raw_value: object, context: str) -> float: + if type(raw_value) not in {int, float}: + raise ValueError(f"{context} must be a finite number") + try: + value = float(raw_value) + except (OverflowError, ValueError) as exc: + raise ValueError(f"{context} must be a finite number") from exc + if not math.isfinite(value): + raise ValueError(f"{context} must be a finite number") + return value + + +def _require_optional_number(raw_value: object, context: str) -> float | None: + if raw_value is None: + return None + return _require_number(raw_value, context) diff --git a/2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/shake.py b/2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/shake.py new file mode 100644 index 000000000..82cd61b54 --- /dev/null +++ b/2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/shake.py @@ -0,0 +1,54 @@ +from __future__ import annotations + +import hashlib + + +_BLOCK_BYTES = 64 + + +class ShakeStream: + def __init__(self, *, domain: bytes, seed: bytes) -> None: + if not isinstance(domain, bytes): + raise TypeError("domain must be bytes") + if not domain: + raise ValueError("domain must be nonempty") + if not isinstance(seed, bytes): + raise TypeError("seed must be bytes") + if len(seed) != 32: + raise ValueError("seed must contain exactly 32 bytes") + self._domain = domain + self._seed = seed + self._block_index = 0 + self._buffer = bytearray() + + def read(self, count: int) -> bytes: + if not isinstance(count, int) or isinstance(count, bool): + raise TypeError("count must be an integer") + if count < 0: + raise ValueError("count must be nonnegative") + while len(self._buffer) < count: + block = hashlib.shake_256( + self._domain + + b"\0" + + self._seed + + self._block_index.to_bytes(8, "little") + ).digest(_BLOCK_BYTES) + self._buffer.extend(block) + self._block_index += 1 + + result = bytes(self._buffer[:count]) + del self._buffer[:count] + return result + + def randbelow(self, upper: int) -> int: + if not isinstance(upper, int) or isinstance(upper, bool): + raise TypeError("upper must be an integer") + if upper <= 0: + raise ValueError("upper must be positive") + width = max(1, ((upper - 1).bit_length() + 7) // 8) + sample_space = 1 << (8 * width) + limit = (sample_space // upper) * upper + while True: + candidate = int.from_bytes(self.read(width), "little") + if candidate < limit: + return candidate % upper diff --git a/2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/strict_json.py b/2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/strict_json.py new file mode 100644 index 000000000..d868097dd --- /dev/null +++ b/2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/strict_json.py @@ -0,0 +1,84 @@ +from __future__ import annotations + +import json +import math +from typing import Any + + +class JsonContractError(ValueError): + """The input violates a bounded, unambiguous JSON contract.""" + + +def _reject_unicode_surrogates(value: str) -> None: + if any(0xD800 <= ord(character) <= 0xDFFF for character in value): + raise JsonContractError("Unicode surrogate in JSON string") + + +def _pairs(pairs: list[tuple[str, Any]]) -> dict[str, Any]: + out: dict[str, Any] = {} + for key, value in pairs: + _reject_unicode_surrogates(key) + if key in out: + raise JsonContractError(f"duplicate JSON key: {key}") + out[key] = value + return out + + +def _constant(value: str) -> None: + raise JsonContractError(f"non-finite JSON number: {value}") + + +def _float(value: str) -> float: + parsed = float(value) + if not math.isfinite(parsed): + raise JsonContractError(f"non-finite JSON number: {value}") + return parsed + + +def _check_shape(value: Any, *, max_depth: int, max_nodes: int) -> None: + nodes = 0 + + def visit(node: Any, depth: int) -> None: + nonlocal nodes + nodes += 1 + if nodes > max_nodes: + raise JsonContractError(f"JSON exceeds {max_nodes} nodes") + if depth > max_depth: + raise JsonContractError(f"JSON exceeds depth {max_depth}") + if isinstance(node, str): + _reject_unicode_surrogates(node) + elif isinstance(node, dict): + for key, child in node.items(): + visit(key, depth + 1) + visit(child, depth + 1) + elif isinstance(node, list): + for child in node: + visit(child, depth + 1) + + visit(value, 0) + + +def loads_object( + data: bytes, + *, + max_bytes: int, + max_depth: int = 8, + max_nodes: int = 10_000, +) -> dict[str, Any]: + if len(data) > max_bytes: + raise JsonContractError(f"JSON exceeds {max_bytes} bytes") + try: + value = json.loads( + data.decode("utf-8"), + object_pairs_hook=_pairs, + parse_constant=_constant, + parse_float=_float, + ) + except JsonContractError: + raise + except (UnicodeDecodeError, json.JSONDecodeError, RecursionError, ValueError) as exc: + raise JsonContractError("invalid UTF-8 JSON") from exc + if not isinstance(value, dict): + raise JsonContractError("top-level JSON value must be an object") + _check_shape(value, max_depth=max_depth, max_nodes=max_nodes) + return value diff --git a/2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/submission.py b/2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/submission.py new file mode 100644 index 000000000..55c9e1e8b --- /dev/null +++ b/2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/submission.py @@ -0,0 +1,202 @@ +"""Bounded parsing for untrusted cumulative solution ledgers. + +Lexical, encoding, and resource-limit failures are normalized to +``SubmissionContractError(code="invalid_json")`` without reflecting parser details; +decoded top-level contract failures use their own stable codes. Individual solution +failures are returned as one rejection per invalid occurrence, in input order. +Repeated safe IDs take precedence over other per-record codes and invalidate every +occurrence. Consequently, ``invalid_records == len(rejections)``. + +Stable rejection codes are ``record_not_object``, ``invalid_instance_id``, +``invalid_record_fields``, ``invalid_secret``, ``unknown_instance_id``, and +``duplicate_instance_id``. Rejections include a submitted ID only after it passes +the safe token grammar and never include a submitted secret value. For unique +occurrences, the code priority follows that list (excluding the duplicate code). +""" + +from __future__ import annotations + +import re +from dataclasses import dataclass +from types import MappingProxyType +from typing import Mapping + +from .schema import Catalog, MAX_N +from .strict_json import JsonContractError, loads_object + + +MAX_SUBMISSION_BYTES = 2_000_000 +MAX_SUBMISSION_RECORDS = 200 +MAX_SUBMISSION_SECRET_COMPONENTS = MAX_N +MAX_SUBMISSION_NODES = 5 + MAX_SUBMISSION_RECORDS * ( + MAX_SUBMISSION_SECRET_COMPONENTS + 5 +) +MAX_SECRET_ABS = 2**63 - 1 +_INSTANCE_ID = re.compile(r"[A-Za-z0-9][A-Za-z0-9._-]{0,63}\Z") + + +class SubmissionContractError(ValueError): + """The input cannot be parsed or violates the submission-ledger contract.""" + + def __init__(self, message: str, *, code: str | None = None) -> None: + super().__init__(message) + self.code = message if code is None else code + + +@dataclass(frozen=True, slots=True) +class SubmissionRejection: + instance_id: str | None + code: str + + +@dataclass(frozen=True, slots=True) +class ParsedSubmission: + records: Mapping[str, tuple[int, ...]] + duplicate_ids: tuple[str, ...] + conflicted_ids: tuple[str, ...] + unknown_ids: tuple[str, ...] + rejections: tuple[SubmissionRejection, ...] + invalid_records: int + + +@dataclass(frozen=True, slots=True) +class _Occurrence: + instance_id: str | None + base_code: str | None + + +def parse_submission( + data: bytes, + *, + catalog: Catalog, + max_bytes: int = MAX_SUBMISSION_BYTES, + max_records: int = MAX_SUBMISSION_RECORDS, +) -> ParsedSubmission: + if type(max_bytes) is not int or max_bytes < 1: + raise ValueError("max_bytes must be a positive integer") + if type(max_records) is not int or max_records < 1: + raise ValueError("max_records must be a positive integer") + byte_limit = min(max_bytes, MAX_SUBMISSION_BYTES) + record_limit = min(max_records, MAX_SUBMISSION_RECORDS) + document = None + try: + document = loads_object( + data, + max_bytes=byte_limit, + max_depth=4, + max_nodes=( + 5 + + record_limit * (MAX_SUBMISSION_SECRET_COMPONENTS + 5) + ), + ) + except JsonContractError: + pass + if document is None: + raise SubmissionContractError("invalid_json") from None + if set(document) != {"schema_version", "solutions"}: + raise SubmissionContractError( + "submission fields must be exactly schema_version and solutions", + code="invalid_submission_fields", + ) + if ( + type(document["schema_version"]) is not int + or document["schema_version"] != 1 + ): + raise SubmissionContractError( + "submission schema_version must be integer 1", + code="unsupported_schema_version", + ) + solutions = document["solutions"] + if not isinstance(solutions, list): + raise SubmissionContractError( + "submission solutions must be a JSON array", + code="invalid_solutions", + ) + if len(solutions) > record_limit: + raise SubmissionContractError( + f"submission solutions may contain at most {record_limit} records", + code="too_many_records", + ) + + candidate_records: dict[str, tuple[int, ...]] = {} + seen_vectors: dict[str, set[tuple[int, ...]]] = {} + occurrence_counts: dict[str, int] = {} + occurrences: list[_Occurrence] = [] + unknown_ids: set[str] = set() + known_ids = {instance.instance_id for instance in catalog.instances} + for raw_record in solutions: + if not isinstance(raw_record, dict): + occurrences.append(_Occurrence(None, "record_not_object")) + continue + raw_instance_id = raw_record.get("instance_id") + if ( + not isinstance(raw_instance_id, str) + or _INSTANCE_ID.fullmatch(raw_instance_id) is None + ): + occurrences.append(_Occurrence(None, "invalid_instance_id")) + continue + instance_id = raw_instance_id + occurrence_counts[instance_id] = occurrence_counts.get(instance_id, 0) + 1 + if instance_id not in known_ids: + unknown_ids.add(instance_id) + fields_are_exact = set(raw_record) == {"instance_id", "secret"} + raw_secret = raw_record.get("secret") + secret_is_valid = ( + isinstance(raw_secret, list) + and len(raw_secret) <= MAX_SUBMISSION_SECRET_COMPONENTS + and not any( + type(value) is not int or abs(value) > MAX_SECRET_ABS + for value in raw_secret + ) + ) + if secret_is_valid: + secret = tuple(raw_secret) + seen_vectors.setdefault(instance_id, set()).add(secret) + if not fields_are_exact: + occurrences.append(_Occurrence(instance_id, "invalid_record_fields")) + continue + if not secret_is_valid: + occurrences.append(_Occurrence(instance_id, "invalid_secret")) + continue + if instance_id in known_ids: + candidate_records[instance_id] = secret + occurrences.append(_Occurrence(instance_id, None)) + else: + occurrences.append(_Occurrence(instance_id, "unknown_instance_id")) + + duplicate_ids = { + instance_id + for instance_id, count in occurrence_counts.items() + if count > 1 + } + records = { + instance_id: candidate_records[instance_id] + for instance_id in sorted(candidate_records) + if instance_id not in duplicate_ids + } + + conflicted_ids = { + instance_id + for instance_id, vectors in seen_vectors.items() + if len(vectors) > 1 + } + rejections = tuple( + SubmissionRejection(occurrence.instance_id, code) + for occurrence in occurrences + if ( + code := ( + "duplicate_instance_id" + if occurrence.instance_id in duplicate_ids + else occurrence.base_code + ) + ) + is not None + ) + return ParsedSubmission( + records=MappingProxyType(records), + duplicate_ids=tuple(sorted(duplicate_ids)), + conflicted_ids=tuple(sorted(conflicted_ids)), + unknown_ids=tuple(sorted(unknown_ids)), + rejections=rejections, + invalid_records=len(rejections), + ) diff --git a/2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/verification.py b/2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/verification.py new file mode 100644 index 000000000..39ffbd0a4 --- /dev/null +++ b/2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_challenge/verification.py @@ -0,0 +1,133 @@ +from __future__ import annotations + +from collections.abc import Sequence +from dataclasses import dataclass + +from .matrix import matvec_mod +from .schema import InstanceSpec + + +@dataclass(frozen=True, slots=True) +class WitnessVerdict: + ok: bool + code: str + max_abs_error: int | None + l1_error: int | None + l2_squared_error: int | None + + +def centered_mod(value: int, q: int) -> int: + """Return the canonical centered representative modulo ``q``.""" + if not isinstance(value, int) or isinstance(value, bool): + raise TypeError("value must be an integer") + if not isinstance(q, int) or isinstance(q, bool): + raise TypeError("q must be an integer") + if q < 1: + raise ValueError("q must be at least 1") + + residue = value % q + if residue >= (q + 1) // 2: + return residue - q + return residue + + +def validate_secret_shape( + instance: InstanceSpec, secret: Sequence[int] +) -> str | None: + try: + secret_length = len(secret) + except TypeError: + return "secret_type" + if secret_length != instance.n: + return "wrong_length" + if any( + not isinstance(value, int) or isinstance(value, bool) for value in secret + ): + return "secret_type" + if instance.secret.kind == "alphabet" and any( + value not in instance.secret.alphabet for value in secret + ): + return "secret_alphabet" + if instance.secret.kind == "mod_q" and any( + value < 0 or value >= instance.q for value in secret + ): + return "secret_mod_q" + nonzero_count = sum(value != 0 for value in secret) + if not ( + instance.secret.min_nonzero + <= nonzero_count + <= instance.secret.max_nonzero + ): + return "secret_weight" + return None + + +def residual( + instance: InstanceSpec, secret: Sequence[int] +) -> tuple[int, ...]: + shape_code = validate_secret_shape(instance, secret) + if shape_code is not None: + raise ValueError(f"invalid secret: {shape_code}") + product = matvec_mod(instance, secret) + return tuple( + centered_mod(public_value - product_value, instance.q) + for public_value, product_value in zip(instance.b, product) + ) + + +def validate_secret( + instance: InstanceSpec, secret: Sequence[int] +) -> WitnessVerdict: + shape_code = validate_secret_shape(instance, secret) + if shape_code is not None: + return WitnessVerdict(False, shape_code, None, None, None) + error_values = residual(instance, secret) + max_abs_error = max(abs(value) for value in error_values) + l1_error = sum(abs(value) for value in error_values) + l2_squared_error = sum(value * value for value in error_values) + if max_abs_error > instance.error.max_abs: + return WitnessVerdict( + False, + "error_linf", + max_abs_error, + l1_error, + l2_squared_error, + ) + if instance.error.max_l1 is not None and l1_error > instance.error.max_l1: + return WitnessVerdict( + False, + "error_l1", + max_abs_error, + l1_error, + l2_squared_error, + ) + if ( + instance.error.max_l2_squared is not None + and l2_squared_error > instance.error.max_l2_squared + ): + return WitnessVerdict( + False, + "error_l2", + max_abs_error, + l1_error, + l2_squared_error, + ) + error_nonzero_count = sum(value != 0 for value in error_values) + if ( + instance.error.max_nonzero is not None + and error_nonzero_count > instance.error.max_nonzero + ): + return WitnessVerdict( + False, + "error_weight", + max_abs_error, + l1_error, + l2_squared_error, + ) + return WitnessVerdict( + True, + "ok", + max_abs_error, + l1_error, + l2_squared_error, + ) diff --git a/2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_instance.py b/2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_instance.py new file mode 100644 index 000000000..83f81c12e --- /dev/null +++ b/2.0/problems/lwe_structured_recovery/harbor/app/public/lwe_instance.py @@ -0,0 +1,202 @@ +"""Stable public interface for structured-LWE instance consumers.""" + +from collections.abc import Iterator as _Iterator +from collections.abc import Sequence as _Sequence +from pathlib import Path as _Path +from types import MappingProxyType as _MappingProxyType + +from lwe_challenge import matrix as _matrix +from lwe_challenge import schema as _schema +from lwe_challenge import verification as _verification + + +WitnessVerdict = _verification.WitnessVerdict + +__all__ = ("Catalog", "Instance", "WitnessVerdict") + + +class Catalog: + """A catalog whose entries use the stable public :class:`Instance` API.""" + + __slots__ = ("__catalog_id", "__instances", "__instances_by_id") + + def __init__(self, catalog: object) -> None: + if not isinstance(catalog, _schema.Catalog): + raise TypeError("catalog must be loaded with Catalog.load") + instances = tuple(Instance(spec) for spec in catalog.instances) + object.__setattr__(self, "_Catalog__catalog_id", catalog.catalog_id) + object.__setattr__(self, "_Catalog__instances", instances) + object.__setattr__( + self, + "_Catalog__instances_by_id", + _MappingProxyType( + {instance.instance_id: instance for instance in instances} + ), + ) + + def __setattr__(self, name: str, value: object) -> None: + raise AttributeError("Catalog is immutable") + + def __delattr__(self, name: str) -> None: + raise AttributeError("Catalog is immutable") + + @classmethod + def load(cls, path: str | _Path) -> "Catalog": + return cls(_schema.Catalog.load(path)) + + @classmethod + def load_fd(cls, descriptor: int, catalog_format: str) -> "Catalog": + return cls(_schema.Catalog.load_fd(descriptor, catalog_format)) + + @property + def catalog_id(self) -> str: + return self.__catalog_id + + @property + def instances(self) -> tuple["Instance", ...]: + return self.__instances + + def get(self, instance_id: str) -> "Instance": + return self.__instances_by_id[instance_id] + + +class Instance: + """Read-only public view of one challenge instance.""" + + __slots__ = ("__spec",) + + def __init__(self, spec: object) -> None: + if not isinstance(spec, _schema.InstanceSpec): + raise TypeError("instances are created by Catalog.load") + object.__setattr__(self, "_Instance__spec", spec) + + def __setattr__(self, name: str, value: object) -> None: + raise AttributeError("Instance is immutable") + + def __delattr__(self, name: str) -> None: + raise AttributeError("Instance is immutable") + + @property + def instance_id(self) -> str: + return self.__spec.instance_id + + @property + def n(self) -> int: + return self.__spec.n + + @property + def m(self) -> int: + return self.__spec.m + + @property + def q(self) -> int: + return self.__spec.q + + @property + def b(self) -> tuple[int, ...]: + return self.__spec.b + + @property + def matrix_kind(self) -> str: + return self.__spec.matrix.kind + + @property + def matrix_seed_hex(self) -> str: + return self.__spec.matrix.seed_hex + + @property + def matrix_expansion_domain(self) -> str: + return self.__spec.matrix.expansion_domain + + @property + def matrix_alphabet(self) -> tuple[int, ...]: + return self.__spec.matrix.alphabet + + @property + def matrix_row_weight(self) -> int | None: + return self.__spec.matrix.row_weight + + @property + def secret_distribution_kind(self) -> str: + return self.__spec.secret_distribution.kind + + @property + def secret_predicate_kind(self) -> str: + return self.__spec.secret.kind + + @property + def secret_alphabet(self) -> tuple[int, ...]: + return self.__spec.secret.alphabet + + @property + def secret_weight(self) -> int | None: + return self.__spec.secret_distribution.weight + + @property + def secret_eta(self) -> int | None: + return self.__spec.secret_distribution.eta + + @property + def secret_min_nonzero(self) -> int: + return self.__spec.secret.min_nonzero + + @property + def secret_max_nonzero(self) -> int: + return self.__spec.secret.max_nonzero + + @property + def error_distribution_kind(self) -> str: + return self.__spec.error_distribution.kind + + @property + def error_sigma(self) -> float | None: + return self.__spec.error_distribution.sigma + + @property + def error_eta(self) -> int | None: + return self.__spec.error_distribution.eta + + @property + def error_bound(self) -> int: + return self.__spec.error_distribution.bound + + @property + def error_weight(self) -> int | None: + return self.__spec.error_distribution.weight + + @property + def error_max_abs(self) -> int: + return self.__spec.error.max_abs + + @property + def error_max_l1(self) -> int | None: + return self.__spec.error.max_l1 + + @property + def error_max_l2_squared(self) -> int | None: + return self.__spec.error.max_l2_squared + + @property + def error_max_nonzero(self) -> int | None: + return self.__spec.error.max_nonzero + + @property + def instance_digest(self) -> str: + return self.__spec.instance_digest + + def iter_rows(self) -> _Iterator[tuple[int, ...]]: + return _matrix.iter_rows(self.__spec) + + def materialize_row_block( + self, start: int, stop: int + ) -> tuple[tuple[int, ...], ...]: + return _matrix.materialize_row_block(self.__spec, start, stop) + + def materialize_rows(self) -> tuple[tuple[int, ...], ...]: + return _matrix.materialize_rows(self.__spec) + + def matvec(self, secret: _Sequence[int]) -> tuple[int, ...]: + return _matrix.matvec_mod(self.__spec, secret) + + def validate_secret(self, secret: _Sequence[int]) -> WitnessVerdict: + return _verification.validate_secret(self.__spec, secret) diff --git a/2.0/problems/lwe_structured_recovery/harbor/app/solution.json b/2.0/problems/lwe_structured_recovery/harbor/app/solution.json new file mode 100644 index 000000000..f99e57cd7 --- /dev/null +++ b/2.0/problems/lwe_structured_recovery/harbor/app/solution.json @@ -0,0 +1 @@ +{"schema_version":1,"solutions":[]} diff --git a/2.0/problems/lwe_structured_recovery/readme b/2.0/problems/lwe_structured_recovery/readme new file mode 100644 index 000000000..d9a1d78c7 --- /dev/null +++ b/2.0/problems/lwe_structured_recovery/readme @@ -0,0 +1,321 @@ +# Structured-LWE Public Witness Recovery + +## Goal + +Recover valid secret vectors for as many public structured-LWE instances as +you can. For each instance, the public data define dimensions `n` and `m`, a +modulus `q`, a reproducible matrix `A`, a target vector `b`, public secret and +error distributions, and the exact predicates used for acceptance. A valid +submission satisfies the public relation + +```text +b = A s + e (mod q) +``` + +with a secret `s` and centered residual `e` that pass those predicates. Any +valid `s` is accepted; you do not have to recover the particular witness used +when the instance was generated. + +## Corpus + +The production corpus has 200 public instances, split evenly across ten +structural families (20 per family): + +| Family | Public structure | +| --- | --- | +| `DS_BIN`, `DS_TER` | dense uniform matrix; exact-weight binary or signed-ternary secret | +| `DS_SMALL` | dense uniform matrix; dense small-alphabet secret | +| `SA_Q` | sparse matrix over general nonzero residues; unrestricted mod-`q` secret | +| `SA_SMALL` | sparse small-alphabet matrix; unrestricted mod-`q` secret | +| `DA_BIN`, `DA_TER` | dense binary or ternary matrix; unrestricted mod-`q` secret | +| `MIX_Q_SPARSE` | sparse general-residue matrix and sparse small secret | +| `MIX_SMALL_SPARSE` | sparse small-alphabet matrix and sparse small secret | +| `MIX_DENSE_SMALL` | dense small-alphabet matrix and small or sparse small secret | + +The public catalog deliberately omits difficulty labels, runtime bins, +calibration estimates, cryptanalysis paths, and reference solutions. You +should treat the instance IDs as opaque names. The intended workflow is +incremental: inspect the public algebraic structure, try any attack strategy +you like, validate every candidate with the public facade, and submit each new +solution immediately while retaining all earlier ones. + +## Reproducibility + +Every public record contains the complete matrix description, a SHAKE-256 seed +and domain separator, inline `b`, all predicates, and an instance digest. Thus +any implementation can reconstruct `A` deterministically, and the catalog +sidecar binds the exact JSONL bytes used by the evaluator. The checked-in +Python facade is the reference implementation; independent implementations +can be compared row-for-row against it. + +The current production catalog SHA-256 is +`318f32b68e8a30c6bcd5867c89eb10d87a5472614401f4e6df0f55356cdc98a6`. +Production witnesses and errors are sampled during corpus construction and must +not be retained as evaluator inputs or release assets. Reproducibility means +reproducing the public instance from its released record, not recovering any +private generation seed. + +## Public catalog and stable Python interface + +The packaged task contract uses these agent-visible paths: + +```text +/app/public/catalog.jsonl public instance catalog +/app/public/lwe_instance.py stable read-only Python facade +/app/add_solution.py cumulative-ledger helper +/app/solution.json submitted solution ledger +/app/submit.sh submission command +/app/wait_submission.sh wait for one submitted UUID +/app/submissions.sh list submissions +``` + +The production catalog contains exactly 200 instances. Its entries and +verified digest are authoritative. + +Use `public/lwe_instance.py`; callers do not need to import +`lwe_challenge.*` or parse catalog JSON directly. This complete example loads +the catalog, streams matrix rows, and checks a candidate: + +```python +from pathlib import Path +import sys + +public_dir = Path("/app/public") +sys.path.insert(0, str(public_dir)) + +from lwe_instance import Catalog + +catalog = Catalog.load(public_dir / "catalog.jsonl") +print(catalog.catalog_id, len(catalog.instances)) + +instance = catalog.instances[0] +print(instance.instance_id, instance.n, instance.m, instance.q) +first_row = next(instance.iter_rows()) + +candidate = (0,) * instance.n # replace with a candidate from your analysis +verdict = instance.validate_secret(candidate) +print(first_row, verdict.ok, verdict.code) +``` + +`Catalog.instances` preserves public catalog order and `Catalog.get(id)` does +lookup by ID. Each immutable `Instance` exposes `n`, `m`, `q`, `b`, the matrix +kind/seed/domain/alphabet/row weight, all public secret and error distribution +parameters, all verifier bounds, and the instance digest. It also provides: + +- `iter_rows()` to stream rows without materializing `A`; +- `materialize_row_block(start, stop)` for a bounded row block; +- `materialize_rows()` when the full public matrix fits your memory budget; +- `matvec(secret)` for `A * secret mod q`; and +- `validate_secret(secret)` for the exact public acceptance check. + +Prefer row streaming or blocks for large instances. + +The declared matrix kinds are `uniform`, `small_alphabet`, `sparse_uniform`, +and `sparse_small_alphabet`. Secret-generation kinds are `uniform_mod_q`, +`iid_alphabet`, `exact_weight_alphabet`, `balanced_exact_weight_signed`, and +`centered_binomial`; error kinds are `truncated_discrete_gaussian`, +`centered_binomial`, `bounded_uniform`, and `sparse_bounded`. These labels and +every associated parameter are public. The balanced signed plant uses an even +exact weight and places equally many `-1` and `1` entries; its public acceptance +predicate remains the separately declared alphabet and nonzero-weight range. + +The facade property secret_alphabet is the acceptance alphabet. For +exact-weight secrets, the `exact_weight_alphabet` generation alphabet is +`secret_alphabet` with zero removed because zero fills positions outside the +exact support. The `balanced_exact_weight_signed` plant specifically uses +`{-1,1}` on its support even though the verifier also accepts any other vector +meeting the published signed alphabet and exact-weight predicate. For the +other alphabet-based kinds, `iid_alphabet` and `centered_binomial` generation +and acceptance alphabets coincide. The `uniform_mod_q` kind instead has no +alphabet and uses all residues `0 <= s_j < q`. + +## Exact validity predicates + +For one public instance, a submitted vector `s` is valid exactly when all of +the following hold: + +1. `len(s) == n`, and every component is a JSON/Python integer (booleans are + not integers for this contract). +2. If `secret_predicate_kind == "alphabet"`, every component belongs to + `secret_alphabet`. If it is `"mod_q"`, every component is in + `0 <= s_j < q`. +3. The number of nonzero components is between `secret_min_nonzero` and + `secret_max_nonzero`, inclusive. +4. Compute `p = A * s mod q`, then compute each canonical residual as + `r_i = center_q(b_i - p_i)`. Equivalently, the evaluator computes + `center_q(b_i - (A s)_i)`. The centered representative lies in + `[-floor(q/2), ceil(q/2) - 1]`. +5. `max_i(abs(r_i)) <= error_max_abs`. +6. When `error_max_l1` is not `None`, + `sum_i(abs(r_i)) <= error_max_l1`. +7. When `error_max_l2_squared` is not `None`, + `sum_i(r_i * r_i) <= error_max_l2_squared`. +8. When `error_max_nonzero` is not `None`, the number of nonzero residual + components is at most `error_max_nonzero`. + +The public sampling-distribution fields are analysis inputs; acceptance is +determined by the predicates above. The evaluator holds no secret, planted +answer, private seed, or private error. It reconstructs `A` from public data +and checks only the submitted vector against public `(A, b)` and the public +predicates. + +The method validate_secret checks mathematical witness validity for one +already-selected instance. At the submission boundary, ledger admissibility +is a separate check covering the JSON/file limits, exact record shape, ID +handling, and duplicate rules below. Thus an `ok` mathematical verdict does +not by itself make arbitrary ledger JSON admissible. + +## Cumulative JSON ledger + +The only scored artifact is `/app/solution.json`. Its strict schema is: + +```json +{ + "schema_version": 1, + "solutions": [ + {"instance_id": "example-id", "secret": [1, 0, -1]} + ] +} +``` + +The whole-file rules require an unambiguous UTF-8 JSON object whose top-level +fields are exactly `schema_version` and `solutions`, with integer +`schema_version == 1` and a `solutions` array of at most 200 elements. No JSON +object may repeat a key, and the encoded file may contain at most 2,000,000 +bytes. The decoder also permits at most 4 levels of JSON nesting and 820,205 +decoded nodes. Exceeding either decoder budget is a whole-file +`invalid_json` error; for example, a nested secret such as `[[0]]` is rejected +before per-record validation. Therefore, violating a whole-file rule scores +zero even when another record is valid. + +Records are checked separately. A canonical record has exactly `instance_id` +and `secret`; the ID matches `[A-Za-z0-9][A-Za-z0-9._-]{0,63}` and names a +public instance, while `secret` is an integer array whose components have +absolute value at most `2^63 - 1` and whose length is at most 4,096. A +per-record rejection does not invalidate the whole ledger; unrelated valid +records can still score; the canonical empty ledger is pre-provisioned at +/app/solution.json as: + +```json +{"schema_version":1,"solutions":[]} +``` + +Use the locked, atomic cumulative helper instead of rebuilding the file: + +```bash +python3 /app/add_solution.py INSTANCE_ID '1,0,-1' +``` + +The helper reads `/app/solution.json`, retains its prior records, adds the new +record, writes canonical sorted JSON atomically, and prints the resulting +record count. An identical existing witness is an idempotent no-op. A +different existing witness is rejected unless you pass --replace explicitly: + +```bash +python3 /app/add_solution.py --replace INSTANCE_ID '0,1,-1' +``` + +A successful add_solution exit and write enforces canonical structural ledger +rules: exact object fields and version, unique regex-valid IDs, integer arrays +of at most 4,096 bounded components, and the 200-record and 2,000,000-byte +caps. The helper refuses an update that would exceed the 200-record or +2,000,000-byte cap, as well as either component bound. +Success does not prove catalog membership or mathematical witness validity +because the helper does not load the catalog. Validate with +`instance.validate_secret(candidate)` before adding a record. After every +successful helper call, the ledger remains cumulative. + +Duplicate handling by the evaluator is deliberately strict: every repeated +safe instance_id invalidates every occurrence for that ID, even when the +vectors are identical or one occurrence is malformed. That ID earns no point. +Here safe means syntactically valid under the instance-ID regex; it does not +mean that the ID occurs in the public catalog. duplicate_count counts distinct +syntactically valid IDs that occur more than once, not duplicate occurrences. +conflict_count counts distinct IDs with more than one distinct syntactically +valid integer vector, not conflicting pairs or occurrences. Here a +syntactically valid integer vector is a JSON array of non-boolean integers +within the ledger integer bound and at most 4,096 components; it need not have +the right dimension or pass the mathematical witness predicates. Every +rejected occurrence contributes to `invalid_count`. + +unknown_count counts distinct regex-valid IDs absent from the catalog, even +when an ID is repeated or another field in its record is malformed. This set +count is independent of the per-occurrence rejection code. unknown_instance_id +applies only to a unique otherwise syntactically admissible record. For a +unique admissible record, a syntactically valid but unknown instance_id is a +per-record `unknown_instance_id` rejection. invalid_record_fields takes +precedence for a unique malformed unknown when its record fields are wrong. +With exact fields but a malformed secret, invalid_secret takes precedence for +a unique malformed unknown over the unknown-ID code. For repeated IDs, +duplicate_instance_id takes precedence for every occurrence of a repeated ID. +The helper normally prevents duplicate records; use `--replace` instead of +creating a second JSON record. + +## Scoring and public feedback + +Every catalog instance has equal weight. Let `solved_count` be the number of +unique instance IDs whose submitted secret passes all predicates, and let +`instance_count` be the catalog size: + +```text +score = 100 * solved_count / instance_count +score_unbounded = solved_count +``` + +An invalid record does not erase unrelated valid records. Whole-ledger format +errors score zero, so keep the helper-produced ledger intact. + +The public feedback contains the bounded `score`, count-valued +`score_unbounded`, a sanitized summary message, and aggregate metrics. Metrics +include `instance_count`, `solved_count`, `submitted_count`, `invalid_count`, +`duplicate_count`, `conflict_count`, `unknown_count`, +`rejection_code_counts`, `invalid_examples`, and `solved_ids`. Feedback never +contains difficulty labels, runtime bins, family buckets, submitted vectors, +residuals, private values, filesystem paths, tracebacks, or exception text. + +## Iterate and submit cumulatively + +Always submit after every newly validated secret for a previously unsolved +instance, or after a score-changing replacement; do not wait to finish a +batch. Always retain all prior entries in `/app/solution.json`. + +Submission is asynchronous. Running `bash /app/submit.sh` snapshots and queues +the current `/app/solution.json` and prints a submission UUID: + +```bash +bash /app/submit.sh +``` + +Save that UUID, then wait for its result with: + +```bash +bash /app/wait_submission.sh SUBMISSION_UUID +``` + +List submissions when you need to recover an ID or inspect status: + +```bash +bash /app/submissions.sh +``` + +The submit command does not return evaluator feedback. Plain +`submissions.sh` gives a status and score summary, while `wait_submission.sh` +prints the completed score, message, and metrics. Add `--json` to either wait +or list when you need the complete structured submission record. The adapter +allows at most 3 pending submissions. Use each completed public response to +guide the next analysis, and submit again whenever the cumulative ledger +improves. + +## Resource budget + +The configured environment is CPU-only and provides: + +- Ubuntu 24.04 with its distro Python 3.12 runtime; +- 8 CPU cores; +- 32 GiB memory; +- 32 GiB storage; +- 10,800 seconds (3 hours) of task runtime; +- 1,800 seconds (30 minutes) of build time; +- Ubuntu's generic `fplll-tools` package and standard build dependencies. + +Do not rely on a GPU. diff --git a/2.0/problems/lwe_structured_recovery/reference.py b/2.0/problems/lwe_structured_recovery/reference.py new file mode 100644 index 000000000..0e28178d7 --- /dev/null +++ b/2.0/problems/lwe_structured_recovery/reference.py @@ -0,0 +1,4 @@ +#!/usr/bin/env python3 +"""Baseline structured-LWE submission ledger for repository validation.""" + +print('{"schema_version":1,"solutions":[]}')