HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
Bren2010
ecc
Rust2014–2014
Bren2010 / ecc

ecc

Elliptic curve arithmetic and cryptography library in pure Rust.

3Distinct people
3Mentions
0Explicit recommenders
96GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Elliptic curve arithmetic and cryptography library in pure Rust.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:03:16 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by hour3 dated mentions

Observed mentions: 2014-12-14 01:26:53 UTC to 2014-12-14 14:20:06 UTC.

012014-12-14 01:00:00 UTC to 2014-12-14 02:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsDec 14, 01:002014-12-14 02:00:00 UTC to 2014-12-14 03:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2014-12-14 03:00:00 UTC to 2014-12-14 04:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-12-14 04:00:00 UTC to 2014-12-14 05:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-12-14 05:00:00 UTC to 2014-12-14 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-12-14 06:00:00 UTC to 2014-12-14 07:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-12-14 07:00:00 UTC to 2014-12-14 08:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsDec 14, 07:002014-12-14 08:00:00 UTC to 2014-12-14 09:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-12-14 09:00:00 UTC to 2014-12-14 10:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-12-14 10:00:00 UTC to 2014-12-14 11:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-12-14 11:00:00 UTC to 2014-12-14 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-12-14 12:00:00 UTC to 2014-12-14 13:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-12-14 13:00:00 UTC to 2014-12-14 14:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-12-14 14:00:00 UTC to 2014-12-14 15:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsDec 14, 14:00

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Dec 14, 01:002014-12-14 01:00:00 UTC2014-12-14 02:00:00 UTC110
Dec 14, 02:002014-12-14 02:00:00 UTC2014-12-14 03:00:00 UTC101
Dec 14, 03:002014-12-14 03:00:00 UTC2014-12-14 04:00:00 UTC000
Dec 14, 04:002014-12-14 04:00:00 UTC2014-12-14 05:00:00 UTC000
Dec 14, 05:002014-12-14 05:00:00 UTC2014-12-14 06:00:00 UTC000
Dec 14, 06:002014-12-14 06:00:00 UTC2014-12-14 07:00:00 UTC000
Dec 14, 07:002014-12-14 07:00:00 UTC2014-12-14 08:00:00 UTC000
Dec 14, 08:002014-12-14 08:00:00 UTC2014-12-14 09:00:00 UTC000
Dec 14, 09:002014-12-14 09:00:00 UTC2014-12-14 10:00:00 UTC000
Dec 14, 10:002014-12-14 10:00:00 UTC2014-12-14 11:00:00 UTC000
Dec 14, 11:002014-12-14 11:00:00 UTC2014-12-14 12:00:00 UTC000
Dec 14, 12:002014-12-14 12:00:00 UTC2014-12-14 13:00:00 UTC000
Dec 14, 13:002014-12-14 13:00:00 UTC2014-12-14 14:00:00 UTC000
Dec 14, 14:002014-12-14 14:00:00 UTC2014-12-14 15:00:00 UTC101

What Hacker News says

3 sources
The way your scalar multiplication is performed leaves you open to two attacks: - Scalar multiplication is variable-time, with the variation being correlated with the position of the most significant bit of the exponent (see https://github.com/Bren2010/ecc/blob/bd75261b6fe7839ddc751d6...). An attack like [1] on ECDSA seems plausible. - The Montgomery ladder uses different code paths depending on whether the exponent bit is 0 or 1; this makes FLUSH+RELOAD attacks possible, as in [2]. [1] https://eprint.iacr.org/2011/232 [2] https://eprint.iacr.org/2014/140
In Elliptic curve arithmetic and cryptography library in Rust
Uh, users almost never want ElGamal encryption. It has a few interesting applications, but its very easy to make insecure systems using it. Where it's used it should be packaged up into a complete protocol that handles the footgunnery. This claims to have constant time operations, but the addition law is very clearly not constant time: https://github.com/Bren2010/ecc/blob/master/src/curves.rs#L9... Likewise, the field operations are not constant time. Simply doing both the 1 and 0 path and throwing the other side out is not generally adequate to achieve constant time behaviour when the underlying operations are variable time (and also see, for example, the flush/reload attacks in the literature). Also the field operations appear to be variable time. (So, it looks like the inversions to convert back to affine would leak shared secret dat
Read the rest
a for ECDH, or information about the nonce in ECDSA.) It looks like the reduction in kinv alone would likely leak log2(k^-1) pretty directly in timing, so if you could capture some large number of signatures with a single key you could probably recover it, potentially even remotely. (Not trying to be harsh here, OpenSSL is just as bad for their generic code... but if someone is advertised as constant time, it ought to meet the strongest definition of it since the caller is not going to be a cryptographer and he's going to treat it as a black box and inevitably use it in the most exploitable way possible. :) ) General question about rust: Is there any way to reliably write constant time code in it? Or are you always at the mercy of the compiler undermining you? E.g. happily unrolling loops, optimizing out dummy operations, and turning branchless comparisons into branchy ones. (I wouldn't have expected that would be, since there isn't really in C; unless you're able to audit the compiler output ... and rust is even higher level).
In Elliptic curve arithmetic and cryptography library in Rust

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.