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

Constant-time bigint arithmetic #172

Open
iaik-jheher opened this issue Oct 25, 2024 · 5 comments
Open

Constant-time bigint arithmetic #172

iaik-jheher opened this issue Oct 25, 2024 · 5 comments

Comments

@iaik-jheher
Copy link
Collaborator

iaik-jheher commented Oct 25, 2024

As mentioned in #169, it doesn't matter whether our EC math (or operations building on it) are constant time if the underlying modular arithmetic is not constant time.

Investigate whether the underlying modular arithmetic is constant time. (I am fairly certain that it is not.) If it is actually not, consider how we can implement CT ops when operating with secrets (without paying the overhead for public ops).

@JesusMcCloud
Copy link
Collaborator

I guess we will need that for the fancy EC stuff coming up?!

I'm just going to put it out there: we won't have the time to implement this ourselves

@iaik-jheher
Copy link
Collaborator Author

Constant-time modular arithmetic is not that complicated.

@iaik-jheher
Copy link
Collaborator Author

(and yes, this is another crypto building block, and is needed for timing side channel security of #169)

@JesusMcCloud
Copy link
Collaborator

Constant-time modular arithmetic is not that complicated.

As in the oldest joke in IT:

That's not gonna take long.

I know it is conceptually easy, but with all the leaky abstractions, pulling it off cross-platform might be a bit of a challenge. I have no doubt we could pull it off for the JVM and using C/C++ for native targets, given we actually find the time to do it. KMP though… not sure. Maybe I'm too pessimistic. Also: priorities…

@iaik-jheher
Copy link
Collaborator Author

Priorities are why it's an issue, not a PR.

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