<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif">I would like to introduce a remarkable implementation of x25519 and ed25519 library. The sources are hosted at: <a href="https://github.com/msotoodeh/curve25519">https://github.com/msotoodeh/curve25519</a></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">The code is experimental but rather stable. It is compact, portable and uses simple design logic.</div><div class="gmail_default" style="font-family:verdana,sans-serif">On the security front, it employs several measures for side-channel security.</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">But the most remarkable feature is speed. This library sets new speed records. It uses a new technique I call it FOLDING for achieving this goal. FOLDING chops the scalar multiplier into n pieces (or folds) and operates on the folds simultaneously reducing number of point operations by a factor of 4 or 8. For example, ed25519 signature takes 31 point doubling and 31 point additions.</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">Folding uses pre-calculated tables: 1.5 KB for 4-fold and 24 KB for 8-folds.</div><div class="gmail_default" style="font-family:verdana,sans-serif">The total cost of pre and post calculation is comparable with windowed implementations when window-size is equal to number of folds).</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">I welcome your comments and appreciate your expert opinion on this library.</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif">Regards,</div><div class="gmail_default" style="font-family:verdana,sans-serif">Mehdi Sotoodeh.</div></div>