EC Cryptography Tutorials - Herong's Tutorial Examples
∟About This Book
This section provides some detailed information about this book - EC Cryptography Tutorials - Herong's Tutorial Examples.
Title: EC Cryptography Tutorials - Herong's Tutorial Examples
Author: Herong Yang -
Contact by email via herong_yang@yahoo.com.
Category: Computers / Security / Cryptography & Encryption
Version/Edition: v1.03, 2024
Number of pages in PDF format: 242
Description:
This EC (Elliptic Curve) cryptography tutorial book is a collection of notes and sample
codes written by the author while he was learning cryptography
technologies himself.
Topics include rule of chord and point addition on elliptic curves;
Abelian groups with additive/multiplicative notations;
EC as Abelian groups;
DLP (Discrete Logarithm Problem) and trapdoor function;
Galois fields or finite fields with Additive/Multiplicative Abelian Group;
Prime fields, binary fields, and polynomial fields;
EC fields reduced with modular arithmetic;
EC subgroup and base points;
EC private key and public key pairs;
ECDH (Elliptic Curve Diffie-Hellman) protocol;
ECDSA (Elliptic Curve Digital Signature Algorithm);
ECES (Elliptic Curve Encryption Scheme) protocol;
Java tool/program to generate EC keys.
Updated in 2024 (Version v1.03) with minor changes.
Keywords:
ECC, Elliptic Curve, Cryptography, Private Key, Tutorial, Example.
Copyright:
- This book is under Copyright © 2019-2024 Herong Yang. All rights reserved.
- Material in this book may not be published, broadcasted, rewritten or redistributed in any form.
- The example codes is provided as-is, with no warranty of any kind.
Revision history:
- Version v1.03, 2024. Minor updates.
- Version v1.00, 2019. Started with basics of ECC.
Web version: https://www.herongyang.com/EC-Cryptography -
Provides free sample chapters, latest updates and readers' comments.
The Web version of this book has been viewed a total of:
- 222,214 times as of December 2023.
- 161,277 times as of December 2022.
- 107,714 times as of December 2021.
- 55,667 times as of December 2020.
- 21,574 times as of December 2019.
PDF/EPUB version: https://www.herongyang.com/EC-Cryptography/PDF-Full-Version.html -
Provides information on how to obtain the full version of this book in PDF, EPUB, or other format.
All chapters and their main topics are list below
to guide you reading through this book:
-
Geometric Introduction to Elliptic Curves -
Point addition on an elliptic curve can be defined using the
“Rule of the chord" geometrical algorithm.
-
Algebraic Introduction to Elliptic Curves -
“Rule of the chord" geometrical algorithm can be expressed in
algebraic formula.
-
Abelian Group and Elliptic Curves -
Points on an elliptic curve with point addition forms an
Abelian group.
-
Discrete Logarithm Problem (DLP) -
Scalar multiplication in elliptic curve Abelian group creates
a DLP and is a good trapdoor function.
-
Finite Fields -
Finite field is a set with finite elements that forms
an additive Abelian group and a multiplicative Abelian group.
This chapter is not closely related to elliptic curve Abelian groups.
-
Generators and Cyclic Subgroups -
Element in an Abelian group can be used to generated a
cyclic Abelian subgroup.
-
Reduced Elliptic Curve Groups -
All integer points on a reduced elliptic curve and the
reduced point addition forms a finite Abelian group.
-
Elliptic Curve Subgroups -
Any point in a reduced elliptic curve group can be used to
generated a cyclic Abelian subgroup, which is the basis for
Elliptic Curve Cryptography (ECC).
-
tinyec - Python Library for ECC -
tinyec is a Python library that allows you to build
an elliptic curve subgroup and explore its properties.
-
EC (Elliptic Curve) Key Pair -
Scalar multiplication in an elliptic curve subgroup, d*G = Q,
can be used to generate a private-public key pair (d, Q),
where G is the base point (the subgroup generator).
-
ECDH (Elliptic Curve Diffie-Hellman) Key Exchange -
ECDH key exchange protocol is to perform a scalar multiplication of
one's own EC private key and other's EC public key to obtain
the common secret key.
-
ECDSA (Elliptic Curve Digital Signature Algorithm) -
EC digital signature is calculated as, s = (h + r*d)/k,
where h is the message hash, d is the private key, r is the
x-coordinate of k*G, k is a random number, and G is the base point.
-
ECES (Elliptic Curve Encryption Scheme) -
ECES uses the ECDH key exchange protocol to derive a common secret key,
which is then used to encrypt plaintext message.
-
EC Cryptography in Java -
JDK (Java Development Kit) offers functionalities to generate
EC key pairs on a number of pre-defined elliptic curve Abelian subgroups.
-
Standard Elliptic Curves -
Some elliptic Curves Abelian subgroups are recommended by different
organizations to generated secure EC private-pubic key pairs.
Table of Contents
►About This Book
Geometric Introduction to Elliptic Curves
Algebraic Introduction to Elliptic Curves
Abelian Group and Elliptic Curves
Discrete Logarithm Problem (DLP)
Finite Fields
Generators and Cyclic Subgroups
Reduced Elliptic Curve Groups
Elliptic Curve Subgroups
tinyec - Python Library for ECC
EC (Elliptic Curve) Key Pair
ECDH (Elliptic Curve Diffie-Hellman) Key Exchange
ECDSA (Elliptic Curve Digital Signature Algorithm)
ECES (Elliptic Curve Encryption Scheme)
EC Cryptography in Java
Standard Elliptic Curves
Terminology
References
Full Version in PDF/EPUB