useEliptic method
dynamic
useEliptic()
Implementation
useEliptic() {
var xpub = "7e_NTgcJO822SEatobzV-iFBldtgip9Sfj8K-gu0SF0";
var ypub = "ALHLIgvGkn_U5iwj3n4ajpoKDnw65QDNqFFy9VFskKg";
var xpub1 = base64Decode(base64.normalize(xpub));
var ypub1 = base64Decode(base64.normalize(ypub));
var xpub2 = hex.encode(xpub1);
var ypub2 = hex.encode(ypub1);
var curve = getSecp256r1();
var p = AffinePoint.fromXY(
BigInt.parse(xpub2, radix: 16), BigInt.parse(ypub2, radix: 16));
var publicServer = PublicKey.fromPoint(curve, p);
// print("pub server => " + publicServer.toHex());
// use elliptic curves
var ec = getSecp256r1();
var priv = ec.generatePrivateKey();
var pub = priv.publicKey;
// print('privateKey: 0x$priv');
// print('publicKey: 0x$pub');
// use ecdh
var privateAlice = ec.generatePrivateKey();
var publicAlice = privateAlice.publicKey;
var privateBob = ec.generatePrivateKey();
var publicBob = privateBob.publicKey;
var secretAlice = computeSecretHex(privateAlice, publicBob);
var secretBob = computeSecretHex(privateBob, publicAlice);
// print('[ELIPTIC] secretAlice: 0x$secretAlice');
// print('[ELIPTIC] secretBob: 0x$secretBob');
var secretClientBob = computeSecretHex(privateBob, publicServer);
var secretClientAlice = computeSecretHex(privateAlice, publicServer);
// print('[ELIPTIC] secretAliceClient: 0x$secretClientAlice');
// print('[ELIPTIC] secretBobClient: 0x$secretClientBob');
var secretTest = computeSecret(privateBob, publicServer);
useCryptography(secretTest);
}