Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

why only enforce infinity norm < q rather than (q-1)/2? #111

Open
josephjohnston opened this issue May 8, 2024 · 2 comments
Open

why only enforce infinity norm < q rather than (q-1)/2? #111

josephjohnston opened this issue May 8, 2024 · 2 comments

Comments

@josephjohnston
Copy link

josephjohnston commented May 8, 2024

For SIS, infinity norm beta implies solution values can lie in the region [-beta,beta] and therefore with negative values I assume we're using signed modulus range [-(q-1)/2,(q-1)/2]. So if beta is not enforced to be less than (q-1)/2 then solutions should always be trivial since they have access to the full modulus range. Yet the estimator only asks that beta < q (and can give large rop/rep for beta barely below q, eg q-2). Since it yields high rop/rep estimates for trivial instance params, I'm not sure how to judge what it yields for instance params I'd imagine are non-trivial.
Why this behavior? Any explanation would be great.

@josephjohnston
Copy link
Author

josephjohnston commented May 8, 2024

Here's an example.

beta=2^16-1
SIS.estimate(SIS.Parameters(n=2^10,q=2^16+1,length_bound=beta,norm=Infinity))
# yields: lattice  :: rop: ≈2^134.0, red: ≈2^133.0, sieve: ≈2^133.0, β: 364, η: 372, ζ: 488, d: 1440, prob: 1, ↻: 1, tag: infinity

Since this is reports non-trivial time for a trivial instance params I'm not sure how small beta must be to actually make the instance params non-trivial.

@malb
Copy link
Owner

malb commented May 8, 2024

Agreed, this looks like a bug. I put it on the TODO list.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants