Labels

ACO (3) AdaBoost (2) Ant Colony Optimization (2) Backpropagation (2) binary constraint graph (1) blockchain (2) brute force (1) brute force algorithm (1) Class Scheduling (12) conditional independence (1) conference cheduling (1) conference scheduling (2) constraint satisfaction problem (3) cryptocurrency (3) csp (3) cyclic group (1) data mining (3) decision trees (12) derive equations (1) DHKE (6) Diffie Hellman Problem (1) Diffie-Hellman Key Exchange (2) Digital Signature Algorithm (1) Discrete Logarithm Problem (1) double and add algorithm (1) download source code (1) DSA (1) ecc (1) ECDH (1) ECDSA (1) Elgamal (1) Elgamal Digital Signature (1) Elliptic Curve (1) Elliptic Curve Diffie–Hellman key exchange (1) Elliptic Curve Cryptography (1) Elliptic Curve Digital Signature Algorithm (1) Encryption (1) euler phi function (1) extended euclidean algorithm (1) generalized discrete logarithm problem (1) generate rules (3) Genetic Algorithm (5) Genetic Algorithms (19) gradient descent (2) group (1) group generator (1) grow xml tree (1) Handle Underflow (1) hashing (1) hill climbing (7) hopfield network (2) independence (1) info gain (1) information gain (2) java (84) javafx (1) k-nearest neighbors (2) Laplace Smoothing (2) linear algebra (3) Linear Regression (2) logical operators (1) logistic regression (4) map coloring (1) message authenticity (1) message confidentiality (1) message integrity (1) multi-party Diffie-Hellman Key Exchange (1) Naive Bayes (6) nearest neighbor (1) nearest neighbors (1) Neural Networks (10) node splitting (1) Normal Equation (2) numpy (1) P2P (10) Peer to Peer (5) peer-to-peer (2) point addition (1) point doubling (1) pow (3) probability (2) proof of work (3) proof-of-work (1) public key cryptography (9) Public Key Cryptography + DHKE w/ Encryption + JAVA (1) Python (18) random restart hill climbing (2) robotics (1) rsa (1) RSA Digital Signature (1) Scala (1) Sentiment Classification (4) Sequential Minimal Optimization (2) sha-256 (1) simulated annealing (2) SMO (2) sqlite (21) stochastic gradient descent (2) Support Vector Machines (2) SVM (2) Traveling Salesman Problem (1) TSP (13) underflow handling (1) use rules (3) workshops scheduling (2)

Blog Archive

Wednesday, July 22, 2020

Elliptic Curve Digital Signature Algorithm (ECDSA) w/ JAVA


Elliptic Curve Digital Signature Algorithm (ECDSA) - Public Key Cryptography w/ JAVA (tutorial 10)

prototypeprj.com = zaneacademy.com (version 2.0)

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

-----------------------------------------------------------------------------------------------------------------------------
quickly download, import into Eclipse, and run zip file for
'Elliptic Curve Digital Signature Algorithm (ECDSA) -
Public Key Cryptography w/ JAVA (tutorial 10)'
-----------------------------------------------------------------------------------------------------------------------------





-----------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------

No comments:

Post a Comment