Notes on codes, projects and everything
To test our understanding in RSA public key cryptosystem, we were being asked to develop a computer program to demonstrate the cryptosystem. The whole system consists of a random number generator, an encoding module that is able to encode characters into numbers, an encryption module as well as decryption module and finally an RSA cryptosystem cracking module.
The program is written in Microsoft® Visual C6, the reason why Visual C6 is being selected is because we wanted to do something simple. There is no GUI being implemented as we wanted to spend more time in enhancing the program.
To generate random number, we used Blum-Blum-Shub random number generator as we found it to be the easiest to implement.
I happened to find a general solution suggestion on a Wikipedia entry when I was browsing the internet around to find a solution to modular exponential problem. The code snippet posted on the wikipedia entry claimed that it came from …
RSA is a cryptosystem …
Implementing RSA with Visual C
Should have done this earlier, I was just being lazy to go through all the steps to publish it properly. So here it is, the full source is published to bitbucket. Feel free to fork the project if you are interested. I have not attach a licence to it but it will most probably be BSD licence. I have also uploaded the latest 0.0.2 release to bitbucket and would update the download link posted previously soon.
The making of this plugin was completely a random act of hand-itchiness. A friend of mine (@cornguo) published a fun app online. There is a name for this kind of app, but I can’t recall at the moment. It typically displays some buttons (usually in a grid), and clicking them causes some sound to be played. The interesting part in cornguo’s app is that there’s a text-input field where the name of the buttons can be typed-in for replaying.
Recently I switched my search code to Annoy because the input dataset is huge (7.5mil records with 20k dictionary count). It wasn’t without issues though, however I would probably talk about it next time. In order to figure out what each parameters meant, I spent some time watching through the talk given by the author @fulhack.
I came across a video on Youtube on Pi day. Coincidently it was about estimating the value of Pi produced by Matt Parker aka standupmaths. While I am not quite interested in knowing the best way to estimate Pi, I am quite interested in the algorithm he showed in the video however. Specifically, I am interested to find out how easy it is to implement in Python.
The Nand2Tetris part I at coursera is very much my first completed course. It was so fun to actually work through the material and it feels amazing to know how simple it is to actually build a computer from scratch. While it is simple, it doesn’t mean the course itself is easy though. I was struggling to get the CPU wired up properly that I spent two to three days just to get it working.