Abstract:
Cryptography comes from the Latin words “kryptos” and “logos”, which means hidden word. Cryptography is used to create some privacy. In fact during World War II both the allies and axis forces used computers to create and break cryptographic systems. Today cryptographic systems are used to create secure mediums of transmission over an insecure medium.
The study focused on the Rivest – Shamir – Adleman (RSA) algorithm. The study had two main objectives. The first was to create a messaging system that will simulate some aspects of the RSA algorithm. The other is to create an executable program that could be imported by PHP. The simulation of the RSA algorithm will guide future systems in UP Manila to protect its data through encryption. The executable program could be used to modify existing systems in UP Manila or it could be used to create some privacy for future systems.
RSA is based on a mathematical equation that given a public key (e, n) and a private key (d, n), a number M will produce C through an equation Me mod n = C. The number C could be returned the original number M through the equation Cd mod n = M. The strength of RSA lies on the fact that factoring a number to its prime factors is hard.
The messaging system has three components. The server application, which was used to store data. The client application, which was used to request the server for data, send data to the server, encryption, decryption and key generation. The attacker component was used so information could easily be taken from the server. It also attacked the keys and the cipher by brute force. For simulation purposes, the key sizes were small. All of these operations were done over a network of computers.
Using the elements in the simulation, the executable programs were created. The first of the three programs was the key generator. It had two parameters, a file that will contain the public key and another that will contain the private key. The next of the executables was the encryptor. It had three parameters, the public key file, the text file to be encrypted and the output file. The other executable was the decryptor. It also had three parameters, the private key file, the cipher file, and the output file.
The simulation clearly showed how servers were vulnerable to attacks. For this reason data must be encrypted before they are stored in servers. The simulation also shows how to break a 20-bit key and its ciphers. This was due to the fact that the attacker had a lot of assumptions on the system. Therefore if these assumptions were to be removed the 20-bit key can still provide some protection.