security analysis#18
Merged
Merged
Conversation
czarcas7ic
reviewed
Mar 25, 2026
Co-authored-by: Czar <adam@osmosis.team>
The packing-key security analysis previously used m=33 (ring-level sample count) with n=2048 (scalar dimension), producing an artificial ∞ result. This was inconsistent with the selector analysis, which correctly expands ring samples to scalar LWE via negacyclic extraction. Apply the same expansion to the packing key: 33 ring elements × 2048 coefficients = 67,584 scalar LWE samples. The lattice estimator now reports finite hardness (104.0 Core-SVP / 132.6 Matzov for uSVP), essentially identical to the Tier 2 selector — as expected when m >> n. Co-authored-by: Claude <noreply@anthropic.com> Made-with: Cursor
p0mvn
force-pushed
the
roman/gov-pir-security
branch
from
March 30, 2026 08:17
1197127 to
69a7fb4
Compare
p0mvn
marked this pull request as ready for review
March 30, 2026 08:18
p0mvn
added a commit
that referenced
this pull request
Apr 1, 2026
security analysis Co-authored-by: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Motivation
The ZIP's LWE parameters ($n = 2048$ , $q \approx 2^{56}$ , $\sigma_{\text{stddev}} = 6.4$ ) yield 104 bits under Core-SVP but 132.6 bits under the MATZOV cost model. Without a principled choice of cost model and an end-to-end noise analysis, the security claim is incomplete. This work closes that gap before the ZIP advances to Proposed status.
Methodology
1. Enumerate hardness instances
Catalog every distinct LWE/RLWE instance an adversary can target:
2. Lattice-estimator hardness estimates
Run lattice-estimator on each instance under both$\beta$ and bit-security for primal-uSVP and dual-hybrid attacks.
RC.ADPS16(Core-SVP) andRC.MATZOV, recording block size3. Kyber-512 calibration
Benchmark the PIR parameters against Kyber-512 ($\beta = 356$ vs. $\beta \approx 404$ ) under the same estimator, following the NIST FAQ's cost-model ladder (Core-SVP → MATZOV → hidden overheads → memory-access costs) to produce realistic gate-count estimates.
4. Sensitivity analysis
Sweep the noise standard deviation across${3.2, 6.4, \ldots, 100}$ under both cost models to quantify margin and identify the minimum stddev that meets 125-bit security under each model.
5. Stage-by-stage noise budget
Track noise variance through the full decryption pipeline:
Verify total noise stays below$\Delta/2 \approx 2^{41}$ with failure probability $\leq 2^{-40}$ .
6. Circular security assumption
State the precise KDM assumption (33 RLWE encryptions of automorphism-scaled copies of$s^\star$ under $s^\star$ ) and quantify the sample-count margin before security degrades below the target.
Decision gate
After the security analysis, one of three outcomes:
Deliverables