shared-secret-test.html
1 <!doctype html> 2 <html> 3 <head> 4 <script src="Base58.js"></script> 5 <script src="nacl_factory.js"></script> 6 <script> 7 nacl_factory.instantiate(function (nacl) { 8 var mintingAccountPrk = Base58.decode('A9MNsATgQgruBUjxy2rjWY36Yf19uRioKZbiLFT2P7c6'); 9 var recipientAccountPuk = Base58.decode('C6wuddsBV3HzRrXUtezE7P5MoRXp5m3mEDokRDGZB6ry'); 10 11 var mintingEd25519KeyPair = nacl.crypto_sign_seed_keypair(mintingAccountPrk); 12 var mintingX25519KeyPair = nacl.crypto_box_keypair_from_sign_sk(mintingEd25519KeyPair.signSk); 13 var recipientAccountX25519Puk = nacl.crypto_box_pk_from_sign_pk(recipientAccountPuk); 14 15 var sharedSecret = nacl.crypto_scalarmult(mintingX25519KeyPair.boxSk, recipientAccountX25519Puk); 16 console.log("shared secret (minting private + recipient public): " + Base58.encode(sharedSecret)); 17 18 var recipientAccountPrk = Base58.decode('AdTd9SUEYSdTW8mgK3Gu72K97bCHGdUwi2VvLNjUohot'); 19 var mintingAccountPuk = Base58.decode('2tiMr5LTpaWCgbRvkPK8TFd7k63DyHJMMFFsz9uBf1ZP'); 20 21 var recipientEd25519KeyPair = nacl.crypto_sign_seed_keypair(recipientAccountPrk); 22 var recipientX25519KeyPair = nacl.crypto_box_keypair_from_sign_sk(recipientEd25519KeyPair.signSk); 23 var mintingAccountX25519Puk = nacl.crypto_box_pk_from_sign_pk(mintingAccountPuk); 24 25 sharedSecret = nacl.crypto_scalarmult(recipientX25519KeyPair.boxSk, mintingAccountX25519Puk); 26 console.log("shared secret (recipient private + minting public): " + Base58.encode(sharedSecret)); 27 }); 28 </script> 29 </head> 30 <body> 31 </body> 32 </html>