Election-Tech-Initiative / Election-Tech-Initiative/electionguard-python

🧮 Precompute Exponentiation Tables

Offen
#410 3 Kommentare 0 Reaktionen 1 zugewiesene Person Beansprucht von @danwallach Auf GitHub ansehen
enhancement hacktoberfest help wanted
Vorherrschende Sprache
Python
Sterne
168
Forks
103
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

## Feature Request

**Description**

Build and use pre-computation tables to speed up exponentiations with base `g` (the generator) and base `K` (the election public key). The most important case here uses 8-bit tables which contain all powers of `g` and `K` of the form U times 256^V there `U` ranges from 0 through 255 and `V` ranges from 0 through 31. Each table will therefore include a total of 8192 entries – each of 4096 bits. This allows any 256-bit exponent of the base to be computed by multiplying together 32 table values.

An ideal implementation would generalize this approach and enable the construction and use of n-bit tables for variable n from, say, 1 through 16.

**Expected Benefit**

Use of n-bit tables should speed up exponentiations by a factor of up to `n`.

**Possible Architecture**
- Load from the file system
- Load from from memory

**Corresponding C++ Issue**
https://github.com/microsoft/electionguard-cpp/issues/184

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.