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

🧮 Precompute Exponentiation Tables

Abierto
#410 3 comentarios 0 reacciones 1 asignado Reclamado por @danwallach Ver en GitHub
enhancement hacktoberfest help wanted
Lenguaje dominante
Python
Estrellas
168
Forks
103
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

## 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

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.