Accelerating Edwards Curve Arithmetic with Parallel Formulas

The x-axis is measured in cycles; for scale, agl’s widely used Go ed25519 implementation takes 460,000 cycles for the same operation, or 4.6x longer than the dalek AVX2 implemenation.
  1. Parallel Edwards Formulas briefly describes the parallel formulas and how to modify them to make them SIMD-friendly;
  2. Implementing Parallel Formulas with AVX2 describes how the formulas are implemented;
  3. and Obstacles to Parallelism describes the tradeoffs between this strategy and the existing serial one, as well as some future directions.

Parallel Edwards Formulas

(re)Addition of two Edwards points using parallel formulas

Implementing Parallel Formulas with AVX2

(a0 __ b0 __ c0 __ d0 __)
(a1 __ b1 __ c1 __ d1 __)
(a0*a1 b0*b1 c0*c1 d0*d1)

Obstacles to parallelism

Future work

--

--

--

interested in zero-knowledge, privacy, freedom, mathematics, & the number 24

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

VLC chokes on DJI drone videos. How to work around it, and the bug report

Rails | Active Admin

ZFS Migration made easy…(Part 2 )

Protecting sensitive data at Gusto with HAPII — Part 2

Single Tier applications

Lessons learned from some of the best Ruby codebases out there (part 3)

Maintenance Advice for Digga Auger Drive Attachments | Dr.

Why Should Businesses Care About Progressive Web Application Development?

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Henry de Valence

Henry de Valence

interested in zero-knowledge, privacy, freedom, mathematics, & the number 24

More from Medium

A new phase for the Rustc Reading Club

ESP 32-Project 4: External Sensor

How to Deploy ArangoDB Graphs on GPUs for Accelerated Graph Algorithms using Nvidia’s RAPIDS…