Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

RSA Algorithm Project: Design Specifications and Implementation, Papers of Cryptography and System Security

The design specifications of a project to develop an educational program demonstrating rsa public key encryption/decryption and rsa signature with small key lengths for a cryptographic laboratory. The application is designed to offer users a user-friendly interface, flexibility in data input/output, and the ability to visualize main calculations in the crypto-algorithm. It also includes main calculation utilities needed for rsa encryption/decryption and rsa signature.

Typology: Papers

Pre 2010

Uploaded on 02/12/2009

koofers-user-l6h
koofers-user-l6h 🇺🇸

3

(1)

10 documents

1 / 8

Toggle sidebar

Related documents


Partial preview of the text

Download RSA Algorithm Project: Design Specifications and Implementation and more Papers Cryptography and System Security in PDF only on Docsity! Educational Software For A Cryptographic Laboratory (Specification – Version 1) Luu Pham – lpham2@gmu.edu GMU – Nov. 2003 ECE 646 – Cryptography and Computer Network Security Luu Pham Table of Contents 1. ABSTRACT 2. INTRODUCTION 3. DESIGN SPECIFICATIONS i. Languages, compiler, and platform to the run application ii. Range of variables for arithmetic operations iii. Main functions iv. Inputs/Outputs 4. TESTING AND SIMULATION PLAN 5. LITERATURE 6. PROJECT SCHEDULE 11/30/2003 Page 2 of 8 ECE 646 – Cryptography and Computer Network Security Luu Pham + GCD: Find GCD(a,b) Input: a, b: integer. Output: GCD(a,b) + Congruence: Find x so that a.x=b mod N Input: a, b, N: integer. Output: x so that a.x=b mod N. + Left-To-Right Binary Exponential: Find Y=M^E mod N Input: M, E, N: integer. Output: Compute Y=(M^E mod N) by using Left-To-Right Binary Exponential + Right-To-Left Binary Exponential: Find Y=M^E mod N Input: M, E, N: integer. Output: Compute Y=(M^E mod N) by using Right-To-Left Binary Exponential c. GetPublicKey: [e,n]=GetpublicKey(IP, PKIDirectoryFile); Input: Either IP Address or Email Address and PKI Directory file. Output: Public key e and n for the desired IP/ email address. d. RSA_Key_Generator: [e,n,d]=fk(p,q) Input: p, q: large prime numbers. Output: Public key [e,n]=fpub(p,q) Private key [d,n]=fprv(p,q) e. MD5 Hash function: h=H(m) Input: Message m: arbitrary length Output: h: 128-bit fixed length h=H(m) f. Encryption: C=fe(M,n,e) Input: Message arbitrary length, public key (e,n) Output: Cipher text C=fe(M,n,e) g. Decryption: M=fd(C,n,d) Input: Cipher text arbitrary length, private key (d,n) Output: Message M=fd(C,n,d) h. Verify Digital Signature: Boolean function b=fv(e,n,Ds) Input: Public key (e,n) Message Digital Signature Ds 11/30/2003 Page 5 of 8 ECE 646 – Cryptography and Computer Network Security Luu Pham Output: True or False; iv. Inputs/Outputs a. Inputs: There are two input options that user can select when running the program; input by typing directly from the key board or reading entire messages from a text file. b. Outputs: All information during the process of encryption and decryption will not only be logged into a log file, but also can be seen on the screen if users would like to do so. 4. TESTING AND SIMULATION PLAN Functional test for each function will be carried out during the implementation process. Available test vectors, sample input/output from reference sources will be utilized to test main functions to verify the accuracy of the application. The system clock will be used to measure the timing for each part of the encryption and decryption process. That will help the user easily evaluate the performance of each function in the program, and also for the entire program. 5. LITERATURES [1] Dr. Kris Gaj, ECE646 Course lecture notes - Fall 2003. [2] Laboratory instruction for ECE590 [3] DES: http://www.itl.nist.gov/fipspubs/fip46-2.htm [4] RSA: http://www.rsasecurity.com/rsalabs/rsa_algorithm/index.html [5] MD5: http://www.cis.ohio-state.edu/cgi-bin/rfc/rfc1321.html [6] AES: http://csrc.nist.gov/CryptoToolkit/aes/ [7] IEEE: http://standards.ieee.org/regauth/posix/ [8] http://www.rsasecurity.com/rsalabs/cryptobytes/ [9] Ron Rivest, "SDSI - A Simple Distributed Security Infrastructure" alternative to the creation of a global certificate hierarchies envisioned by the X-509 group. [10] Bruce Schneier, Applied Cryptography - Protocols, Algorithms, and Source Code in C, 2nd ed., John Wiley & Sons, Inc., New York, 1995. [11] M. Welschenbach, Cryptography in C and C++, Apress, 2001 [12] Douglas R. Stinson, Cryptography - Theory and Practice, CRC Press, Inc., Boca Raton, 1995 11/30/2003 Page 6 of 8 ECE 646 – Cryptography and Computer Network Security Luu Pham [13] William Stallings, Cryptography and Network Security: Principles and Practice, 3rd ed., Prentice Hall, Upper Saddle River, 2003. [14] K. Jallad, J. Katz, and B. Schneier, Implementation of Chosen-Ciphertext Attacks against PGP and GnuPG, Information Security Conference 2002, Springer- Verlag, 2002. [15] Canetti, Ran Catherine Meadows, and Paul Syverson, "Environmental Requirements for Authentication Protocols", Proceedings of the International Symposium on Software Security. Springer-Verlag, November 2002 [16] David M. Burton, Elementary Number Theory, International Series in Pure and Applied Mathematics, 3rd. ed., The McGraw-Hill Companies, Inc., 1997 [17] Meadows, Catherine, "What Makes a Cryptographic Protocol Secure? The Evolution of Requirements Specification in Formal Cryptographic Protocol Analysis." Proceedings of ESOP 03, Springer-Verlag, April 2003. [18] Charlie Kaufman, Radia Perlman, and Mike Speciner, Network Security: Private Communication in a Public World, PTR Prentice Hall, Englewood Cliffs, 2002 [19] Ueli Maurer, Some Number-theoretic Conjectures and Their Relation to the Generation of Cryptographic Primes, Cryptography and Coding II, Oxford University Press, 1992. [20] Ueli Maurer, Fast Generation of Prime Numbers and Secure Public-Key Cryptographic Parameters, Journal of Cryptology, vol. 8, no.3, 1995 [21] Song Y. Yan, Number Theory for Computing, 2nd ed., Springer-Verlag, Berlin, 2002 [22] David M. Burton, Elementary Number Theory, International Series in Pure and Applied Mathematics, 3rd. ed., The McGraw-Hill Companies, Inc., 1997 [23] N. Ferguson and B. Schneier, A Cryptographic Evaluation of IPsec. J. Kelsey, B. Schneier, and D. Wagner, Mod n Cryptanalysis, with Applications Against RC5P and M6, Fast Software Encryption, Sixth International Workshop Proceedings (March 1999), Springer-Verlag, 1999. 11/30/2003 Page 7 of 8
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved