All Projects → Tougee → ed25519

Tougee / ed25519

Licence: Apache-2.0 license
Dart port of ed25519 from Go Cryptography ed25519

Programming Languages

dart
5743 projects

Projects that are alternatives of or similar to ed25519

zig-eddsa-key-blinding
A Zig implementation of EdDSA signatures with blind keys.
Stars: ✭ 15 (-16.67%)
Mutual labels:  ed25519, eddsa
noble-ed25519
Fastest JS implementation of ed25519, x25519 & ristretto255. Independently audited, high-security, 0-dependency EDDSA signatures and ECDH key agreement
Stars: ✭ 220 (+1122.22%)
Mutual labels:  ed25519, eddsa
Tweetnacl Js
Port of TweetNaCl cryptographic library to JavaScript
Stars: ✭ 1,176 (+6433.33%)
Mutual labels:  ed25519
rhonabwy
Javascript Object Signing and Encryption (JOSE) library - JWK, JWKS, JWS, JWE and JWT
Stars: ✭ 33 (+83.33%)
Mutual labels:  eddsa
sodalite
tweetnacl in rust
Stars: ✭ 26 (+44.44%)
Mutual labels:  ed25519
Signatory
Multi-provider digital signature library for Rust
Stars: ✭ 136 (+655.56%)
Mutual labels:  ed25519
server init harden
Server hardening on 1st login as "root"
Stars: ✭ 75 (+316.67%)
Mutual labels:  ed25519
Exonum Client
JavaScript client for Exonum blockchain
Stars: ✭ 62 (+244.44%)
Mutual labels:  ed25519
yubihsm-rs
Pure Rust client for YubiHSM2 devices
Stars: ✭ 70 (+288.89%)
Mutual labels:  ed25519
Jwt
JSON Web Token library
Stars: ✭ 242 (+1244.44%)
Mutual labels:  ed25519
rust-minisign
A pure Rust implementation of the Minisign signature tool.
Stars: ✭ 76 (+322.22%)
Mutual labels:  ed25519
Gnb
GNB is open source de-centralized VPN to achieve layer3 network via p2p with the ultimate capability of NAT Traversal.GNB是一个开源的去中心化的具有极致内网穿透能力的通过P2P进行三层网络交换的VPN。
Stars: ✭ 225 (+1150%)
Mutual labels:  ed25519
Wasm Crypto
A WebAssembly (via AssemblyScript) set of cryptographic primitives for building authentication and key exchange protocols.
Stars: ✭ 146 (+711.11%)
Mutual labels:  ed25519
mpc
Secure Multi-Party Computation (MPC) with Go. This project implements secure two-party computation with Garbled circuit protocol.
Stars: ✭ 41 (+127.78%)
Mutual labels:  ed25519
Signatures
Cryptographic signature algorithms: ECDSA, Ed25519
Stars: ✭ 135 (+650%)
Mutual labels:  ed25519
wascap
Embed, extract, and validate capability claims in JWTs for WebAssembly modules
Stars: ✭ 59 (+227.78%)
Mutual labels:  ed25519
Sshremotekeys
Managing SSH keys remotely to control access to hosts
Stars: ✭ 70 (+288.89%)
Mutual labels:  ed25519
Nsec
A modern and easy-to-use cryptographic library for .NET Core based on libsodium
Stars: ✭ 217 (+1105.56%)
Mutual labels:  ed25519
pasetors
PASETOrs: PASETO tokens in pure Rust
Stars: ✭ 46 (+155.56%)
Mutual labels:  ed25519
Kryptor
A simple, modern, and secure encryption and signing tool that aims to be a better version of age and Minisign.
Stars: ✭ 267 (+1383.33%)
Mutual labels:  ed25519

Ed25519

Dart port of ed25519 from Golang ed25519

Pub package

Usage

import 'package:ed25519_edwards/ed25519_edwards.dart' as ed;

    void signAndVerify() {
      var keyPair = ed.generateKey();
      var privateKey = keyPair.privateKey;
      var publicKey = keyPair.publicKey;
      var message = utf8.encode('test message');
      var sig = ed.sign(privateKey, message as Uint8List);
      var result = ed.verify(publicKey, message, sig);
      assert(result == true);
    
      var wrongMessage = utf8.encode('wrong message');
      var wrongResult = ed.verify(publicKey, wrongMessage as Uint8List, sig);
      assert(wrongResult == false);
    }

APIs

Ed25519
public
seed
newKeyFromSeed
generateKey
sign
verify
Edwards25519
FeZero
FeOne
FeAdd
FeSub
FeCopy
FeCMove
FeFromBytes
FeToBytes
FeIsNegative
FeIsNonZero
FeNeg
FeCombine
FeMul
FeSqaure
FeSquare2
FeInvert
GeDoubleScalarMultVartime
PreComputedGroupElementCMove
GeScalarMultBase
ScMulAdd
ScReduce
ScMinimal

Benchmark

Simulate from pinenacl-dart Benchmark

MacBook Pro (16-inch, 2019), macOS Big Sur, with 2.4GHz i9 32GB

JiT (Dart VM) Benchmark

dart test test/benchmark/ed25519_benchmark.dart

type rate iterations time data throughput
Ed25519 - sign 50.54 MB/s 254 iterations 5025 ms 254.00 MB
Ed25519 - verify 97.38 MB/s 487 iterations 5001 ms 487.00 MB

AoT (native binary)

dart2native test/benchmark/ed25519_benchmark.dart -o ed25519_benchmark
./ed25519_benchmark

type rate iterations time data throughput
Ed25519 - sign 21.64 MB/s 109 iterations 5036 ms 109.00 MB
Ed25519 - verify 37.20 MB/s 187 iterations 5027 ms 187.00 MB

JS (Dart2JS) benchmark (too slow, suggest using other libs for dart2js and flutter web)

dart test test/benchmark/ed25519_benchmark.dart -p chrome

type rate iterations time data throughput
Ed25519 - sign 797.03 KB/s 4 iterations 5139 ms 4.00 MB
Ed25519 - verify 1.53 MB/s 8 iterations 5231 ms 8.00 MB
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].