ICS: Programming Homework: Cryptocurrency

Go up to the ICS HW page (md) | view one-page version

Overview

You must design and implement your own cryptocurrency! Your implementation must be secure enough that you could actually use it.

Your cryptocurrency should have a name – ideally, think of a neat name, but make sure it is not already taken. It will have to use public/private key encryption to generate the wallets. You do not have to use symmetric encryption (such as AES) to protect the private key in the wallet. You will need to use a good hashing algorithm. In practice, SHA-256 would be the minimum, but you can use a shorter SHA hash for this assignment.

The intent is not for you to write the hashing or encryption / decryption routines – use existing libraries for that. In particular, both Java and Python can do that for you. Be careful about requiring an uncommon Python module or Java library, as it has to run on the submission server.

If you want to use a programming language not already provided in this assignment, please contact the course instructor at least two days before the due date.

This assignment is based on the material covered in the Cryptocurrency slide set; you will need to be familiar with that material to complete this assignment.