eciesdart 0.2.0 copy "eciesdart: ^0.2.0" to clipboard
eciesdart: ^0.2.0 copied to clipboard

ECIES encryption for dart

Elliptic Curve Integrated Encryption Scheme for secp256k1 in Dart.

This is the Dart version of eciespy

Usage #

Encrypt a message

import 'package:eciesdart/eciesdart.dart';

final keyPair = Ecies.generateEcKeyPairBytes();
final message = "Welcome to ECIES";
var messageBytes = utf8.encode(message);
final cipherText = Ecies.encrypt(keyPair.publicKey, messageBytes);

final decryptedBytes = Ecies.decrypt(keyPair.privateKey, cipherText);
final decryptedMessage = utf8.decode(decryptedBytes);

print(decryptedMessage);

Encrypt using an [AsymmetricKeyPair<ECPublicKey, ECPrivateKey>]

import 'package:eciesdart/eciesdart.dart';

final keyPair = Ecies.generateEcKeyPair();
final message = "Welcome to ECIES";
var messageBytes = utf8.encode(message);
final publicKey = keyPair.publicKey.Q!.getEncoded(false);
final privateKey = bigIntToBytes(keyPair.privateKey.d!);
final cipherText = Ecies.encrypt(publicKey, messageBytes);

final decryptedBytes = Ecies.decrypt(privateKey, cipherText);
final decryptedMessage = utf8.decode(decryptedBytes);

print(decryptedMessage);