Public key encryption

Job ID: 35952327

Budget: $10 – $30 USD

When one transmits data over a packet-switched network, like the Internet, a packet sniffer at any node along the transmission path can detect packets with potentially useful information. Unfortunately, some of this information (for example, credit card numbers or other private information) is most useful to people with dishonorable (and often crimi­nal) intentions. As commerce over the Internet – and other vulnerable long-distance networks – increases, this problem becomes more critical. Private data stored on a computer that’s accessible over a network is also vulnerable



One solution to this problem is to encipher data one wants to keep private. In other words, one can somehow “scramble” the data so that it’s unrecognizable to anyone who does not have the necessary key to “unscramble” – or decipher – it. In so-called “traditional” encryption techniques, the same key is used for enciphering (or encryption) and deciphering (or decryption). The key is typically a large number that is used to mathematically transform the message. The problem then becomes the secure transmission of the key itself.

One solution to this problem is to use two different keys – one for encryption and the other for decryption. Alice could then send her encryption key to Bob[1], who could use it to send an encoded message back to Alice. Provided Alice keeps her decryption key private, no one who intercepts the message will be able to decode it.[2] In fact, Alice could make her encryption key publicly available, so that Carol, David, Egbert, or anyone else who wants to do so can send her an encoded message. So long as she keeps her decryption key secret, no one else will be able to read messages meant only for Alice. For this reason, this type of system is called a public-key encryption system. Often, the encryption key is called the public key, and the decryption key is called the private key.


In this lab, you will be working with a simplified – and not very secure – version of one of the most popular public-key systems: the RSA public-key encryption system.[3] Like all public-key systems, the keys are derived using a “trapdoor” operation – an operation that is easy to do but difficult to “undo.” In RSA, this operation is the multiplication of two large prime numbers: it is easy and fast to multiply the two numbers together, but it is sig­nifi­cantly more difficult and time-consuming to factor the resulting number back into its prime components. In this lab experience, you will be using relatively small primes (only three digits) to see how this system works.


To explore this system in more depth, you will be exchanging encrypted messages with a partner. You can use the discussion board to find a partner.

For this project, there are two files that you will use and submit for the final grade. The first file is a Word document where you will record all of the answers and the second is an Excel spreadsheet where the calculations will be completed. Both completed files will be submitted for full credit. You must use Excel for Windows for this assignment. The assignment has not been tested on other versions of Excel.

The Word document linked in the module under the assignment drop box contains the step-by-step instructions for completing the assignment.

-------

[1] Alice and Bob are the parties to encrypted data exchanges throughout the literature on encryption. If a third party is needed, she’s often named Carol, for some reason.

[2] I’m assuming that Alice is using so-called strong encryption. Otherwise, a cryptanalyst – someone whose profession is breaking codes – who intercepts the message will still be able to decode it.

[3] Named for its inventors – Ron Rivest, Adi Shamir, and Leonard Adelman.