<commit_before># My Elliptic Curve Chemistry Set

My Python code for experimenting with elliptic curves over finite fields, and elliptic curve cryptography.

This code is meant for experimentation and educational purposes, it is not meant to be used in real life scenarios.

## Experiments

- Short Weierstrass, Edwards, Twisted Edwards and Montgomery shapes.
- Addition, Doubling and Multiplication.
- Some support for Projective coordinates (or XY coordinates if X:Y:Z projective are missing).
- A half-assed generalization of EdDSA ruthlessly mangled from djb:s reference implementation.
- Convenient classes for Curve25519, Ed25519 and NIST P-256.
- An experimental and half-working, not-tested-at-all (because of lack of test vectors) implementation of Curve41417.
- A barely started implementation of converting curves in one shape to a different shape.
- A slow reference implementation of Elligator2.
- Point decompressing that doesn't work very reliably (TODO: fix this).
- Completely trivial code for arithmetic in GF(p).
- Some code for ECDH.

## License

The Elliptic Curve Chemistry Set is written by <NAME> in 2015. See LICENSE for details.<commit_msg>README: Mention ECDSA.<commit_after># My Elliptic Curve Chemistry Set

My Python code for experimenting with elliptic curves over finite fields, and elliptic curve cryptography.

This code is meant for experimentation and educational purposes, it is not meant to be used in real life scenarios.

## Experiments

- Short Weierstrass, Edwards, Twisted Edwards and Montgomery shapes.
- Addition, Doubling and Multiplication.
- Some support for Projective coordinates (or XY coordinates if X:Y:Z projective are missing).
- A half-assed generalization of EdDSA ruthlessly mangled from djb:s reference implementation.
- Convenient classes for Curve25519, Ed25519 and NIST P-256.
- An experimental and half-working, not-tested-at-all (because of lack of test vectors) implementation of Curve41417.
- A barely started implementation of converting curves in one shape to a different shape.
- A slow reference implementation of Elligator2.
- Point decompressing.
- Completely trivial code for arithmetic in GF(p).
- Some code for ECDH.
- Some code for ECDSA.

## License

The Elliptic Curve Chemistry Set is written by <NAME> in 2015. See LICENSE for details.
{'fraction_non_alphanumeric': 0.05356371490280778, 'fraction_numerical': 0.019870410367170625, 'mean_word_length': 4.553956834532374, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4342922', 'n_tokens_mistral': 656, 'n_tokens_neox': 579, 'n_words': 311}