Understanding Proof-of-Work

I was curious to study the behaviour of the Proof-of-Work protocol in block-chains. The essence of POW is the use of a nonce as part of the payload being signed. In order to do this, I decided to test it out with a simple signing test program. The signature algorithm chosen uses a 512-bit RSA key with a SHA-224 hash. A stronger hash algorithm would just take longer but it wouldn’t really deviate too much from the characteristics. The example Read more

Attendance Screen

This week I have started writing my code using javascript framework which is VueJs for attendance taker screen.  There are six screens that I need to build for this music competition, one of them is attendance taker screen which it is used to take the attendance of the participants. Since I’m still new in VueJs, I chose to start with attendance taker screen first because it is the easiest to build compared to others. As I have said in the previous blog, Read more

Board Registration

It is time to move onto the next phase of the project. An important part of the project is the registering of the boards with the application. Basically, a JSON payload would be sent to the server, which contains crucial details such as its serial number, model name, RSA public key, MAC address and more. It is encrypted using the RSA public key of the server. The payload would reach a specific REST API endpoint, that merely does the job of decrypting the payload using the server’s RSA private key, parsing and extracting the data, then subsequently save it to the database.
(more…)

Chapter 5: My fifth week in AESTE

This is my fifth week in AESTE. Yes !! I had solved the 4096 RSA key encrytption problem. The solution is change the FP_MAX_BITS to 8192, then all the problems solved. This week my task is to generate a 1024 RSA key by PIC32, generate serial number and MAC address. Generate 1024 RSA key by PIC32: PIC32 need to generate 1024 RSA key and print the public key. There are few problems I faced when I doing this.  I found that Read more

Learning

Guess who have completed the front-end and the back-end of the system this week? Yes, it’s me. Like finally I did it..with the help of Dr.Shawn haha. I feel happy even though I know I’m still slow but somehow I show some progress. Thank you Dr.Shawn for your patience in teaching me and you know it’s a pleasure to get scolded by you haha. Getting scolded at work is definitely a learning process 🙂  #positive Next up, since I already completed Read more

Chapter 4: Encryption and Decryption

This is my fourth week internship in AESTE. This week my task is to send a string from PIC32 to desktop. Then, using wolfSSL encrypt function to encrypt the string and type out again to desktop. After type out, using our precreate private key to decrypt and check whether same with the string inside PIC32 or not. Unfortunately, I cannot complete my task before Saturday. When Dr Shawn came on Saturday, he teach me how to use the encryption function Read more

Keys to the Kingdom

I continued to work on integrating with cloud storage services this week. As of now, it is important that I get something working as soon as possible, therefore my focus was to just get the SSHFS protocol to work as expected. Last week, I worked on the CREATE part of the REST API endpoint that mounts the remote filesystem. For some reason I got confused and change the CREATE method to save an uploaded file to the cloud server after Read more

Little by Little

I started off with the project by writing some test cases and carry out some automated testing. I didn’t understand everything that was going on at that point, but I hoped that testing would shed some light on the behaviour of the back end. The first thing to do when making a test is to make an assumption or have some expectation on some behaviour of the application. The Wiki page of the project’s Git repository contains documentation for each REST Read more

RE-DO

This week started with me trying to update the REST API to accept multi-piece scoring and update the computation algorithm to handle multiple scores.  I’ve modified the REST API to accept multi-piece scoring from the front-end but there is an error when I tried to run the system. ERROR : CREATE UNIQUE INDEX From the error information, I know that it is about the security of the system. Create unique index syntax is duplicate values are not allowed which means Read more

Chapter 3: Real World is Coming

Last week I had tested the keyboard typing speed by different buffer size and different CPU frequency. After collected the data, I had plotted 2 graph to make a conclusion. PIC32 keyboard typing speed is won’t be affected by changing buffer size or CPU frequency. The typing speed is remain in 2ms per character. The graphs are as shown in below. After almost 2 weeks to familiar with PIC32MX Starter Kit and Microchip Harmony, the real world is coming which Read more