## (note (code cslai))

Notes on codes, projects and everything

# Implementing RSA using VC6

## Introduction

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.

## Technical Information

### Programming Language

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.

### Random Number Generator

To generate random number, we used Blum-Blum-Shub random number generator as we found it to be the easiest to implement.

### Modular Exponential Problem

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

RSA is a cryptosystem …

## Brief Documentation with Screenshots

Implementing RSA with Visual C

## Credits

• Developed by Me and Regina as well as Janet and Janice (No working copy from them).

## Random Posts

• ### Understanding potree hierarchy file

One of my recent tasks involving crawling a lot of geo-tagged data from a given service. The most recent one is crawling files containing a point cloud for a given location. So I began by observing the behavior in the browser. After exporting the list of HTTP requests involved in loading the application, I noticed there are a lot of requests fetching resources with a common `rXXX` pattern.

• ### Further setup of development environment

After publishing the previous note on setting up my development environment, I find myself spending more time in the CLI (usually via SSH from host). Then I find myself not needing all the GUI apps in a standard Ubuntu desktop environment so I went ahead and set up a new environment based on Ubuntu Quantal server edition beta-1. For some reason my network stopped working and didn’t really want to spend time finding out the cause, so I reinstalled everything again today using the final installer, as well as the updated Virtualbox 4.2.6.

• ### Information Retrieving with ….. a lot of libraries

Implementing a Information Retrieval system is a fun thing to do. However, doing it efficiently is not (at least to me). So my first few attempts didn’t really end well (mostly uses just Go/golang with some bash tricks here and there, with or without a database). Then I jumped back to Python, which I am more familiar with and was very surprised with all the options available. So I started with Pandas and Scikit-learn combo.

• ### jQuery holdEvent

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.

• ### #nand2tetris is fun

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.