Elliptic Curve Integrated Encryption Scheme for secp256k1 in Dart.
This is the Dart version of eciespy
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);