title: Decrypt secret using ECDH and nodejs crypto
body: <p>This is the nodejs documentation example:</p>
  
  <pre><code>const crypto = require('crypto');
  const alice = crypto.createECDH('secp256k1');
  const bob = crypto.createECDH('secp256k1');
  
  // Note: This is a shortcut way to specify one of Alice's previous private
  // keys. It would be unwise to use such a predictable private key in a real
  // application.
  alice.setPrivateKey(
    crypto.createHash('sha256').update('alice', 'utf8').digest()
  );
  
  // Bob uses a newly generated cryptographically strong
  // pseudorandom key pair bob.generateKeys();
  
  const alice_secret = alice.computeSecret(bob.getPublicKey(), null, 'hex');
  const bob_secret = bob.computeSecret(alice.getPublicKey(), null, 'hex');
  
  // alice_secret and bob_secret should be the same shared secret value
  console.log(alice_secret === bob_secret);
  </code></pre>
  
  <p>I don't understand where the secret comes in. Suppose I want to decrypt a message <code>foo-bar</code> from Bob (encrypted with Alice public key). I have Alice's private and public key, and Bob's encrypted message how can I decrypt the message having all this?</p>