Note: Disclaimer. This is a rough guide for engineers wanting to get their hands wet with the nuts and bolts of the cryptographic math behind blockchain security. Therefore I may be loosy goosy with some terminology and most of the concepts oversimplified, so excuse that. However, if there are any _egregious_ errors in this presentation, please [open an issue](https://github.com/tari-labs/tari-university/issues) on github.

Note: You can forget about all this technical detail. It's just included here for completeness.

note: Now that the abstract algebra stuff is largely out of the way, we can do some cryptography!

note: This should make sense now based on all the preliminary discussion. _k_ is kept secret, _kG_ is relatively easy to calculate, giving you a public key, but finding _k_ from _kG_ involves solving the discrete logarithm problem.

note: - When creating their keys, Alice and Bob use the same curve parameters: same curve, _G_ etc. - When they exchange public keys, it can be over an insecure channel

note: This is a simplified algorithm. There are a few details ommitted, like always using modular arithmetic at limits on the choice of nonce.