FLUTTER ECOSYSTEM

Tougee/ed25519

Go Cryptography ed25519의 Dart 포트

ed25519 프로젝트 이미지
Stars
18
Forks
5
최근 푸시(UTC)
2026. 8. 25.
프로젝트 상태
활성
touge GitHub avatar
GITHUB User

touge ↗

@MixinNetwork
언어Dart

기술 주제

이 저장소가 배포한 패키지

사용 중인 의존성

의존성 목록 8 개

원본 README

아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.

README 펼치기 / 접기

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