2

For school (high school) I am writing an essay on elliptic curve cryptography. The assignment needs to include a practical part, so I decided to write a Python class for elliptic curves. This class is capable of performing elliptic curve arithmetic and can encrypt files using MV-ElGamal (although it is horribly slow).

The problem is that I need to present my research, including the practical part, to fellow high school students. I considered writing a chat app or something similar, with a connection secured by elliptic curve diffie-hellmann+AES256 and elliptic curve digital signatures, however, I'm not sure how easy that is. What would you suggest? I am looking for something simple, with the focus on the cryptography as much as possible, since that is what my essay is about. I also don't want something too ambitious since I am still only a beginner when it comes to programming (I am more into the math side). Keep in mind that my audience is not particularly interested in mathematics nor programming though.

yyyyyyy
  • 12,261
  • 4
  • 48
  • 68
Dasherman
  • 129
  • 3

2 Answers2

1

An encrypted chat application by itself will not really demonstrate anything, since from the users' point of view it will not (if done properly) be any different from an unencrypted one. To demonstrate the encryption, you would need to also use Wireshark or something similar to sniff packets on the network and see that they are encrypted. But if simply showing a ciphertext and saying "this is encrypted" is enough, you can just encrypt a file, which apparently you can already do.

fkraiem
  • 8,242
  • 2
  • 28
  • 38
1

If you want to demonstrate ECC in a fairly transparent way, you can use my software "Academic Signature". You can easily find it: e.g. google "open source elliptic curve cryptography".

You can easily demonstrate key creation, en-/decryption and signatures and verification of signatures.

It is really not just a demo-program and uses elliptic curves up to 1024 bit group order. Standard sources, approved by the "agencies", will let you have 521 at most.