DOC PREVIEW
MASON ECE 646 - EDUCATIONAL SOFTWARE TOOL FOR A CRYPTOGRAPHIC LABORATORY

This preview shows page 1-2 out of 5 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 5 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 5 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 5 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

INTRODUCTIONBACKGROUNDPublic Key CryptographyRSA AlgorithmRSA Digital SignatureSOFTWARE TOOL OVERVIEWCONCLUSIONSSOURCE CODESEducational Software Tools For A Cryptographic Laboratory 1EDUCATIONAL SOFTWARE TOOL FOR A CRYPTOGRAPHIC LABORATORY Luu Pham, George Mason University, Fairfax, VA 22030, Member, IEEE Abstract— The purpose of this project is to develop an educational program to demonstrate RSA public key algorithm with small key lengths for a Cryptographic laboratory. In order to do so, an application that runs on Windows platform has been designed, implemented in such a way so that it is a user friendly interface and offers user flexibilities in data input/output and capabilities to visualize main calculations in the RSA crypto-algorithm. RSA privacy and RSA authentication have been implemented and tested successfully. A utility that includes main calculations needed for RSA public key crypto-algorithms is also implemented to offer users capabilities to manipulate inputs - outputs or obtain computations when performing public key encryption - decryption or signature. Further more, a database utility was created in order to demonstrate the specific needs of this program; this allows user to add, delete, edit, and users’ information such as public key and private key. Key words—Cryptography, Public Keys, RSA, software tools, I. INTRODUCTION ublic key cryptography, especially RSA algorithm, has been using widely in industry since 80s decade; in last twenty years, many studies, researches have been performed and published on the RSA algorithm; however, there is very few educational software that efficiently shows the main calculation process of the algorithm. When studying public key cryptography, students have little chances to fully explore and verify intermediate values a long with its calculations. In real life, most of RSA cryptographic products are tightly integrated with other applications, and users are unable to see any cryptographic transformations. In attempt to bridge this gap, this application is designed and implemented to offer students a user friendly interface software, which allows users to manipulate input values to visualize all process of cryptography and trace through intermediate values a long with its calculations. In addition, main calculation utilities needed for RSA encryption/decryption and RSA signature are also implemented to offer the user useful tools to compute necessary values when performing public key encrypting or decrypting. II. BACKGROUND A. Public Key Cryptography ecret key or symmetric cryptography considered as traditional cryptography has been used for thousands of years. In secret key algorithm, the key that sender uses to encrypt and message is also the key that receiver uses to decrypt the message. The main problem of secret key algorithms is that both sender and receiver need to have a secure channel to exchange and agree on the key so that the key will not being disclosed to any third parties. In 1976, Whitfield Diffie and Martin Hellman at Stanford University introduced the concept of public-key cryptography, which would solve the problem in key exchange and management for secret key algorithm. In their new concept, receiver and sender gets a pair of keys, one called the public key and the other called the private key. There is no need for a secure channel in order for the sender and receive to inform or agree on the secret key. Each person’s public key is published while the private key is kept secret; since the public key of a person is published, everyone can send confidential messages to this person by just using his/her public key, and the messages can only be decrypted with his/her private key. Furthermore, public-key cryptography can be used not only for privacy - encryption, but also for authentication - digital signatures. B. RSA Algorithm n August 1977, Ronald Rivest, Adi Shamir, and Leonard Adleman announced their invention on RSA algorithm. Currently, RSA (Rivest-Shamir-Adleman) algorithm is the most important public key algorithm and the most commonly used in industry. It can be used both for privacy - encryption and for authentication – digital signatures. The principle of RSA encryption/decryption is described as following: - Pick two arbitrary large primes numbers, p and q; p and q are distinct from each other and roughly the same size. - Compute the modulus N=p*q - Chose a random integer number e such that e is less than N and relatively primes to Phi=(p-1)(q-1). It is desirable to select a small value for e, such as e=3. - Find another number d such that d is multiplicative inverse modulo N of e, which means (ed-1) is divisible by Phi. - The public key pair is [e,N] and the private key pair is [d,N]. The private factors p, q may be kept with the private key or destroyed. The cipher text Ci of the plaintext Mi is determined by: NMCeiimod=The de-cipher text Mi is determined by: NCMdiimod= As described above, the security of RSA algorithm relies on the difficulty in factoring large prime numbers. If one could P S IEducational Software Tools For A Cryptographic Laboratory 2factor large prime number N and figure out p and p, then he/she will obtain value d from public key pair [e,N], and RSA crypto-algorithm would not be secure anymore. In practice, for a large key length, it is very difficult to obtain the private key d from the public key pair [e,N]. At the moment, RSA algorithm is considered to be moderately secure with the key length 768 bits and high secure at the key length of 1024 bits. C. RSA Digital Signature RSA signature relies on RSA encryption/decryption and a hash function. The processes of signature and verification are described as following: 1. Signature for a message M: - Obtain hash value for message M: h=h(M) - Get digital signature by encrypting hash value using sender private key: AdAANhS mod=2. Verify digital signature S associated with message M: - Obtain a hash value for message M after decryption: h1=h(M) - Encrypt sender signature using sender public key: h2= AeAANS mod- Perform comparison h1 and h2; if h1=h2, then the signature is valid; otherwise. III. SOFTWARE TOOL OVERVIEW ser friendly interface and showing main processes during crypto-algorithm associated with intermediate values were main focus points during the process of designing and implementation of the application. RSA privacy with 32-bit


View Full Document

MASON ECE 646 - EDUCATIONAL SOFTWARE TOOL FOR A CRYPTOGRAPHIC LABORATORY

Documents in this Course
Load more
Download EDUCATIONAL SOFTWARE TOOL FOR A CRYPTOGRAPHIC LABORATORY
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view EDUCATIONAL SOFTWARE TOOL FOR A CRYPTOGRAPHIC LABORATORY and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view EDUCATIONAL SOFTWARE TOOL FOR A CRYPTOGRAPHIC LABORATORY 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?