Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Asymmetric cryptographic system properties and examples #9

Open
renepickhardt opened this issue Jan 13, 2019 · 3 comments
Open

Asymmetric cryptographic system properties and examples #9

renepickhardt opened this issue Jan 13, 2019 · 3 comments

Comments

@renepickhardt
Copy link
Owner

I have put three main properties of asymmetric cryptographic systems in the second section of the book.

  1. Asymmetry: The public key can be derived from the private one
  2. Encryption: the public key can be used for encrypted messages which can be decrypted with the private key
  3. Signatures: private keys can produce signatures which can be verified with the public key

I have just realized that in ECDSA the second property hardly plays a role. There is only a DH key exchange to produce a symmetric key which can be used for de- and encryption.

I think explaining diffie hellman does not make sense in the beginning sections and for lightning I only need it if I go down all the way with the sphinx mix format.

@stefanwouldgo
Copy link

I'm not quite convinced that you are writing on the right level of abstraction. I believe that anybody who hasn't understood the basic principle of asymmetric encryption isn't qualified to read a technical book about LN at all. On the other hand, there must be hundreds of really great explanations for this kind of stuff on the Internet.

Maybe you can shorten this stuff very much (most of it feels trivial to me) and give a proper treatment of EC cryptography in the appendix.

@conscott
Copy link

I just looked over the first draft on this here

FYI - If you wanted some ECC examples instead of RSA, John Newbery (@jnewbery) has a nice small implementation of secp256k1 here along with some examples in this notebook

@jnewbery
Copy link

That code is from Jimmy Song's Programming Blockchain course and is BSD 2-clause licensed. I've updated the file in my repo to include the license and copyright info.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants