â–º get access to members-only video contents + support:
00:08 demo the app.
02:20 send a simple ASCII message
02:32 what happens if message is signed with invalid key
03:12 what happens if message is signed with valid key
04:30 why solve ECDLP
05:56 ECDSA quick summary
06:12 What are domain params
06:35 How to calculate public key
06:57 sending ECDSA signed message
07:53 receiving and verifying ECDSA signed message
09:06 code the app.
09:40 setup JSON for this project
10:10 test data used in this project
10:18 go over various packages and classes in this project
11:46 code server side Server and ServerThread classes
14:20 handle incoming JSON messages in ServerThread
15:35 code client side
15:43 start coding Point class
16:05 start coding Client class
17:38 start coding ClientThread class
18:06 start coding EllipticCurve class
20:50 make sure elliptic curve is not singular
21:58 check if point is on elliptic curve
23:31 define point at infinity
23:53 finish coding Point class
24:50 check if 2 points are inverses of each other
25:22 points addition and point doubling
26:12 double and add algorithm
27:10 calculate public key functionality in Client class
28:28 pickup hash sign and send message in Client class
28:59 hashing functionality
29:42 ephemeral key pickup
30:03 signing key pickup
30:55 use ephemeral key to calculate r
31:31 finish coding ClientThread class
31:50 receive JSON messages in ClientThread class
33:31 test run completed application in hex mode
34:30 Alice uses secp256k1 (the bitcoin curve)
35:22 Bob uses secp384r1 curve
36:23 test run Alice sending signed message(s) and Bob validating if message(s) signed by Alice
38:08 test run Bob sending signed message(s) and Alice validating if message(s) signed by Bob
38:50 what Eve needs to do in order to sign messages as being Alice or Bob