# Improve curve25519-based crypto · gitcafe/zig

[View on GitCafe](https://git.cafe/gitcafe/zig/commit/3f0d80f25eccd12759bad21fb8429e646eff070b)

Repository: [gitcafe/zig](https://git.cafe/gitcafe/zig)

Visibility: public

Requested revision: 3f0d80f25eccd12759bad21fb8429e646eff070b

Requested commit: 3f0d80f25eccd12759bad21fb8429e646eff070b

Commit: 3f0d80f25eccd12759bad21fb8429e646eff070b

Tree: cbb337e93ba6cb04c7ee26008a99f3c0b502e9e7

Author: Frank Denis

Committer: Andrew Kelley

## Message

```
Improve curve25519-based crypto

This is a rewrite of the x25519 code, that generalizes support for
common primitives based on the same finite field.

- Low-level operations can now be performed over the curve25519 and
edwards25519 curves, as well as the ristretto255 group.
- Ed25519 signatures have been implemented.
- X25519 is now about twice as fast.
- mem.timingSafeEqual() has been added for constant-time comparison.

Domains have been clearly separated, making it easier to later add
platform-specific implementations.

```

## Parents

- [f46e375bbe0ac0893717bd477eab78f51863e277](https://git.cafe/gitcafe/zig/commit/f46e375bbe0ac0893717bd477eab78f51863e277?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zig/tree/3f0d80f25eccd12759bad21fb8429e646eff070b?format=markdown)
