ECC TOOLKIT -- how to use
==========================

WHAT IS THIS?

A collection of 17 small, standalone SageMath programs, each one a single worked
example from elliptic curve cryptography (ECC): Diffie-Hellman, elliptic curve
arithmetic, ECDH, ECIES, ECDSA, standardized real-world curves, integer
factorization with elliptic curves, and a post-quantum key exchange (PQXDH).
Every program uses fixed example numbers and prints its result to the terminal
as plain, readable text.

These are the same SageMath programs used inside the ECC Tutorial (a separate,
interactive web app) -- pulled out here as plain scripts you can run, read, and
change on their own, with nothing but SageMath itself.

WHAT'S IN HERE?

- 17 *.py scripts, one per example
- README.md -- full index of all 17, with a one-line description of each

REQUIREMENTS

SageMath (https://www.sagemath.org/), installed and on your PATH. Nothing else.

HOW TO USE IT

Run any script directly from a terminal:

    sage fig3_8_point_addition_finite_field.py

This prints the worked example's steps and its result.

To keep experimenting with the values afterward instead of just seeing them
printed once, start Sage and load the script rather than running it directly:

    $ sage
    sage: load("fig3_8_point_addition_finite_field.py")
    ... (the script's output appears here) ...
    sage: P + Q            <- now you can use the variables it just computed

To try your own numbers, open a script in any text editor -- every one collects
its example values near the top of the file, clearly marked, ready to edit.


---
(C) Open Source with Apache 2 license. By Bernhard Esslinger & the CrypTool team, Sep 2026

Free usage. 

The development of the programs was initiated by Maike Massierer in 2011. The programs happen to align quite closely with Chapter 9 of the forthcoming second edition of the CrypTool book (Artech House, 2027) as well as with Chapter 9 of the soon-to-be-published "Textbook of Applied Cryptography" by Alfred Menezes, Paul van Oorschot, and Bart Preneel (https://sites.google.com/view/textbook-appliedcrypto/home).

