Register Documentation

POST request to /register endpoint

Lets a user to authenticate themselves to the system. Only people who are enrolled to the class can open Gradecoin accounts. This is enforced with your Student ID (e123456) and a one time password you will receive.

Authentication Process

The bytes you are sending over the network are all Base64 Encoded

{
    "student_id": "e123456",
    "passwd": "15 char secret",
    "public_key": "---BEGIN PUBLIC KEY..."
}

Cipher Initialization

Since we are working with AES-128, both key and IV should be 128 bits (or 16 hexadecimal characters)

Encryption

The available tools and libraries might warn you about how using the primitives given above are "hazardous". They are, crypto is hard.

{
    "c": "C_AR",
    "iv": "iv",
    "key": "key_ciphertext"
}

If your authentication process was valid, you will be given access and your public key fingerprint that is your address. You can now sign JWTs to send authorized transaction requests.