VHDL for RSA Public Key System
|
|
- Trevor Dalton
- 5 years ago
- Views:
Transcription
1 VHDL for RSA Public Key System Rui He, Jie Gu, Liang Zhang, Cheng Li Engineering and Applied Science Memorial University of Newfoundland St. John s, NL, Canada, A1B3X5 {ruihe, jiegu, lzhang, Abstract The RSA system is widely employed and achieves good performance and high security. In this paper, we use VHDL to implement a 64-bit RSA block cipher system. The whole implementation includes three parts: key generation, encryption and decryption process. The key generation stage aims to generate a pair of public key and private key, and then the private key will be distributed to receiver according to certain key distribution schemes. Data security is achieved after the 64-bit input data are block encrypted by RSA public key. The cipher text can be decrypted at receiver side by RSA secret key. In our design, we realize several good features. First, this cryptosystem system is scalable. We use generic map in VHDL which make the block size easily be extended to 128-bit or even 1024-bit. Second, we design the encryption and decryption with a constant processing time interval which can prevent the time analysis attack. 1. Introduction The first public key scheme was developed in 1977 [1] by Ron Rivest, Adi Shamir, and Len Adleman at MIT. Now Rivest-Shamir-Adleman (RSA) is the most widely accepted and implemented public key cryptosystem. The public key system is based on using different keys, one key for encryption and a different but related key for decryption. RSA algorithms are a well known NP complete problem that it is computationally infeasible to determine the decryption key given only knowledge of the cryptographic algorithm and the encryption key. The whole process involves computing the remainder after exponential and modular operation of large number. Encryption and decryption have the following form, for some plaintext block M and cipher text block C: C = M Kp mod n M = C Ks mod n Generally, it includes a third party to generate a pair of public key and to distribute keys to transmitter and receiver. Transmitter and receiver should both know the value of n. The transmitter has the knowledge of public key Kp, and only the receiver knows the private key Ks. Thus, a public key of (Kp, n) and secret key (Ks, n) generated by third party is distributed to transmitter and receiver separately. For this algorithm to be satisfactory for public-key encryption, the following requirements must be met: 1. It is possible to find values of e, d, n that M Ks*Kp mod n = M 1 for all M < n. 2. It is relatively easy to calculate M Kp mod n and C Ks for all values of M < n. 3. It is infeasible to determine Ks given Kp and n. 2 Implementation of RSA The following step is taken to implement the RSA public key scheme: 1. Choose two large prime numbers, p and q. Let n=p*q, Let Ф(n) = (p-1)*(q-1). 2. Randomly choose a value Kp (1< Kp < Ф(n)), which is relative prime to Ф(n) that gcd (Kp, Ф(n)). 3. Calculate Ks Kp -1 mod Ф(n), send public key (Kp, n) to transmitter and secret key (Ks, n) to receiver. 4. Transmitter encrypt the original message, C=M Kp mod n, then send cipher text to receiver. 5. Receiver decrypt cipher text by M=C Ks mod n and retrieve the original message. 1
2 Therefore, in the total three steps of RSA implementation, we mainly require three algorithms. 1. Miller-Robin test to find two large prime numbers. (Step1) 2. Extended Euclidean algorithm to calculate private key Ks, which is multiplicative inverse Ф(n). (Step 3) 3. Fast integer exponent (square and multiply) algorithm. (Step 5, 6), which is critical for time consideration. 2.1 Miller- Robin test Miller-Robin test is a primarily testing algorithm to determine an integer n is composite number or prime number. The probability that an odd integer value < N is a prime number is 2/lnN. The implementation algorithm is described as following: 1. Find integer k, q with k>0, q is odd so that (n-1) =2 k *q. 2. Select random integer a, 1< a < n Z a q mod n 4. If Z=1 then return (true) test A. 5. For j=1 to k do 6. If Z= (n-1) mod n then return (true) test B. 7. If testa and testb are both false, then the integer number must be composite, otherwise it may be a prime number or a composite number. If we choose the integer randomly, the probability that the integer is composite with roughly (0.25) t where t is the number of tests. Since the random number generator and Miller-Robin test may take some time in hardware implementation, in our implementation we use java to generate two large prime numbers, which are both 32 bits long. 2.2 The Euclidean algorithm and extended Euclidean algorithm Euclidean algorithm After Ф(n) have been calculated, we randomly choose a number Kp which satisfies the condition that Kp is less than Ф(n) and greater than 1, and calculate gcd (Ф(n), Kp) = 1 to make sure there exits one and only one multiplicative inverse Ks. The implementation algorithm described as following: 1. First we generate two positive integers a, b, and also have i = If a and b are both even number, then a <= a/2, b <= b/2, i <= i If a is odd number and b is even number, then b <= b/2; 4. If a and b are both odd number, then a <= b, b <= abs (a-b), and if a and b are not equal, go back to step 2, 5. Finally, if a and b are equal, then we get the gcd (a, b) = a * 2^i. (In the hardware, the divide 2 operation can be simply implemented by as shifting the number to right for 1 bit) The extended Euclidean algorithm After we get the public key Kp, we should find the multiplicative inverse Ks of Kp and Ф(n) which means Ks*Kp mod Ф(n) =1. So we use the extended Euclidean algorithm to calculate the multiplicative inverse. The implementation algorithm described as following: 1. We have two nonzero integer x and y, and let a2 = x, a1= 1, a0 = 0, b2 = y, b1 = 0, b0=1, 2. q <= x / y, r <= x mod y, 3. If r is not equal to 0, then a2 <= b2; b2 <= r; a1 <= a2; b1 <=b2; a2 <= a1 - q * a2; b2 <= t - q * b2; then back to step If r is equal to 0, then we get the formula x*b1 + y*a1 = b2. In this formula, b1 is the multiplicative inverse of y to x, and b a1 is the multiplicative inverse of x to y, b2 is the gcd of x and y. 2.3 Fast exponent algorithm In of RSA scheme: Encryption process: C=M Kp mod nstep6: Decryption process: M=C Ks mod n M stands for the plaintext, C stands for the ciphertext, K p is the public key, K s is the private key and n stands for a large composition number of two prime numbers. In order to compute the exponentiation efficiently, the exponentiation operation can be replaced by the several steps of multiple and modular operation. For example, X 23 mod n = (X 16 *X 4 *X 2 *X 1 ) mod n According to the modular arithmetic and number theory, above equation can be expressed by several rounds of multiply and modular operation. X 23 mod n = (X 16 mod n) *(X 4 mod n)*(x 2 mod n)*(x 1 mod n) mod n For example, calculate x 26 mod n. B=23=10111 (bin) round = 5 i=4, z x mod n b4=1 i=3, z z 2 mod n b3=0; i=2, z z 2 mod n b2=1; z z*x mod n 2
3 i=1, z z 2 mod n b1=1; z z*x mod n i=0, z z 2 mod n b0=1; z z*x mod n 3 VHDL implementation 3.1 Top-down design In our design, we separate the whole system into three parts according to three different algorithms. 1. Miller-Robin test, we use java to generate two large prime numbers p and q which are both 32-bit integers, generating a file called prime.txt. 2. Reading prime.txt, calculating the composite number n=p*q, ф (n) = (p-1)*(q-1), Kp and Ks, generating a file called keys.txt, where n, ф (n) is 64-bit. Kp and Ks are less than 64-bit integer but extended to 64-bit. 3. Reading keys.txt and message.txt, calculating C=M Kp mod n, generating file cipher.txt. 4. Reading cipher.txt, calculating M=C Ks mod n and generating file plain.txt, comparing the content of plain.txt and message.txt, verifying the results. 3.2 Bottom-up implementation The extended Euclidean algorithm After the two prime numbers p and q have been tested. We can begin to calculate the composite number n, the public key Kp, and the private key Ks. The implementation of the RSA datapath is showed as follows: particular, Fibonacci LFSR was implemented because it is more suitable for hardware implementation than Galios LFSR. In theory, an n-bit linear feedback shift register can generate a (2 n -1)-bit long pseudo random sequence before repeating [2]. So for simply reasons, we just use the formula x^63 + x ^17+1 to generate the random number. And when we design the following part which is the GCD part in the design, we modified the LFSR a little to ensure the first bit is always 0 and the last bit is always 1.In that case, we can make sure the random number is always odd. The purpose is to is simplify the algorithm and get the right Kp faster because Ф(n) is originally even before we apply the modified LFSR. 4. The register after LFSR is to store the random number e1; first input the Ф (n) and e1 to a 64-bit divider and output reminder is e2 in order to ensure e2 is less than Ф (n). 5. Test1 is to check whether e2 is equal to zero. If it is zero or 1, we choose Ф (n) / as the new output number e3. This is to make sure the e3 is greater than The datapath of the gcd part is shown in the Figure 2. After the change in the part2, we only deal with the situation of one even number and one odd number so that we do not need the integer any more. in this situation, we require two shift registers and the abs component to calculate the absolute value of that x y. However we can only test the number to see if the gcd is greater than 1 of these two numbers. We still have to design a component called test2 to deal with number to get the right one. The inputs of this component are e3 and Ф (n), and the output is e4. Figure 1 the datapath of the implementation 1. Generating a 64-bit composite number n by multiplying two unsigned 32-bit inputs p and q. 2. Calculating Ф(n) = (p-1) and (q -1) (? Make sure the expression is correct) by 32*32 multiplier and two substractor, where Ф(n) is always even. 3. To make the public key Kp randomly, we design a linear feedback register. Linear Feedback Shift Register (LFSR) is used to generate pseudo random numbers. In Figure 2 GCD datapath 7. The test 2 part is used to check if the number e4 is the right one. When the gcd is 1, we can set the e4 as the right output Kp. If the gcd is not 1, we just subtract the e4 by 2, as the new input of the gcd part. And one problem should be noticed, if e4 is 3, we should use add instead of subtract to prevent the e4 goes to 1. In practice this strategy works well. We have tested in common cases, and 3
4 it only needs 1 or 2 recalculate to get the right Kp. In this part, the state machine design is very important because we should consider about several different situations. We have spent lots of time to design the state diagram, and sometimes we figure out that inserting one waiting state to delay outputs is necessary for smoothing the state transactions. 8. The extended Euclidean algorithm is implemented in the EEA part. First we input the Kp and Ф(n) to the eea component. We have modified the algorithm as we have been mentioned before. Because we only need one multiplier inverse, we do not need to calculate b1, b0 except for the situation where gcd = 1. The problem we met here is the clock cycle management. The divider and the multiplier have a small clock, and the FSM should have a large clock cycle because it needs to wait for the result and then do the next operation. To solve this problem, we design the ocl components to generate different kinds of clock cycle. This strategy has other benefits in the whole implementation. We design an ocl (shown in the attach codes) components to generate different clock cycles so that the divided parts can operate under different clock cycles. And we can design it in asynchronies mode which means the output changes when the input changes. This setting is reasonable and gives us convenient to ignore the effect of the different clock cycles. derived from the two inputs multiplexer. Inside mulmod, clock cycle is set to which make the 64-bit multiplier operation finish in 128 ns and set muldone flag. Figure 4 Fast exponent algorithm datapath 2. The 128-bit product is stored in a 128-bit register. 3. The 128-bit product is input to divider-128 as dividend. The other input is 128-bit n with the highest 64 zeros. The total operation time for 128-bit divider operation is around 260 ns [3]. Thus, the total operation time for each round is around 400 ns or 800 ns which depend on the whether it executes a square operation or square and multiplies operation. Therefore, we set the large clock to 1 second which ensures the result of each round operation is correct. In addition, this setting of set a constant interval can prevent the time analysis attack. Figure 5 Mulmod component 4 conclusion Figure 3 the extended Euclidean datapath The other small thing is that in this algorithm we have the signed number, so we need to add a positive component to get the positive number by adding the result with the Ф (n) Fast exponent algorithm MULMOD component MULMOD is the critical component to perform rounds of multiply and modular operation. 1. One input to multiplier64 is remainder z and the other is either 64-bit plaintext m or remainder z which is In our VHDL implementation of RSA, we have implemented GCD algorithm in binary system simply. In the practice the strategy works well. We can gain more security than the other strategy because we use the random numbers. And our implementation can easily extend to large bits such as 256 or 1024 or even longer. Meanwhile, there are several limitations in our system. First, we use RSA to realize block cipher, the plaintext, ciphertexts and keys have length limitations. Second, since we use constant intervals in the calculation, the system will always take some time even when there is no data operation. 4
5 Bibliography: [1] William Stallings, Cryptography and Network Security Principles and Practices, 4 th.ed., Prentice Hall, Nov., [2] P. Kocher, J. Jaffe, and B. Jun, "Differential Power Analysis", Proc. Advances in Cryptology (CRYPTO 99), pp , [3] T. Messerges, E. Dabbish, and R. Sloan, Examining smart-card security under the threat of power analysis attacks, IEEE Transactions on Computers, vol.51, pp , May
Cryptography and Network Security. Sixth Edition by William Stallings
Cryptography and Network Security Sixth Edition by William Stallings Chapter 9 Public Key Cryptography and RSA Misconceptions Concerning Public-Key Encryption Public-key encryption is more secure from
More informationPublic Key Encryption. Modified by: Dr. Ramzi Saifan
Public Key Encryption Modified by: Dr. Ramzi Saifan Prime Numbers Prime numbers only have divisors of 1 and itself They cannot be written as a product of other numbers Prime numbers are central to number
More informationKeywords Security, Cryptanalysis, RSA algorithm, Timing Attack
Volume 4, Issue 1, January 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Performance
More informationPublic Key Cryptography
graphy CSS322: Security and Cryptography Sirindhorn International Institute of Technology Thammasat University Prepared by Steven Gordon on 29 December 2011 CSS322Y11S2L07, Steve/Courses/2011/S2/CSS322/Lectures/rsa.tex,
More informationIntroduction to Cryptography and Security Mechanisms: Unit 5. Public-Key Encryption
Introduction to Cryptography and Security Mechanisms: Unit 5 Public-Key Encryption Learning Outcomes Explain the basic principles behind public-key cryptography Recognise the fundamental problems that
More informationPublic Key Algorithms
Public Key Algorithms 1 Public Key Algorithms It is necessary to know some number theory to really understand how and why public key algorithms work Most of the public key algorithms are based on modular
More informationLecture 6: Overview of Public-Key Cryptography and RSA
1 Lecture 6: Overview of Public-Key Cryptography and RSA Yuan Xue In this lecture, we give an overview to the public-key cryptography, which is also referred to as asymmetric cryptography. We will first
More informationCS669 Network Security
UNIT II PUBLIC KEY ENCRYPTION Uniqueness Number Theory concepts Primality Modular Arithmetic Fermet & Euler Theorem Euclid Algorithm RSA Elliptic Curve Cryptography Diffie Hellman Key Exchange Uniqueness
More informationChapter 9. Public Key Cryptography, RSA And Key Management
Chapter 9 Public Key Cryptography, RSA And Key Management RSA by Rivest, Shamir & Adleman of MIT in 1977 The most widely used public-key cryptosystem is RSA. The difficulty of attacking RSA is based on
More informationRSA (material drawn from Avi Kak Lecture 12, Lecture Notes on "Computer and Network Security" Used in asymmetric crypto.
RSA (material drawn from Avi Kak (kak@purdue.edu) Lecture 12, Lecture Notes on "Computer and Network Security" Used in asymmetric crypto. protocols The RSA algorithm is based on the following property
More informationChannel Coding and Cryptography Part II: Introduction to Cryptography
Channel Coding and Cryptography Part II: Introduction to Cryptography Prof. Dr.-Ing. habil. Andreas Ahrens Communications Signal Processing Group, University of Technology, Business and Design Email: andreas.ahrens@hs-wismar.de
More informationPublic Key Cryptography and the RSA Cryptosystem
Public Key Cryptography and the RSA Cryptosystem Two people, say Alice and Bob, would like to exchange secret messages; however, Eve is eavesdropping: One technique would be to use an encryption technique
More informationIntroduction to Cryptography and Security Mechanisms. Abdul Hameed
Introduction to Cryptography and Security Mechanisms Abdul Hameed http://informationtechnology.pk Before we start 3 Quiz 1 From a security perspective, rather than an efficiency perspective, which of the
More informationSide-Channel Attacks on RSA with CRT. Weakness of RSA Alexander Kozak Jared Vanderbeck
Side-Channel Attacks on RSA with CRT Weakness of RSA Alexander Kozak Jared Vanderbeck What is RSA? As we all know, RSA (Rivest Shamir Adleman) is a really secure algorithm for public-key cryptography.
More informationChapter 3 Public Key Cryptography
Cryptography and Network Security Chapter 3 Public Key Cryptography Lectured by Nguyễn Đức Thái Outline Number theory overview Public key cryptography RSA algorithm 2 Prime Numbers A prime number is an
More informationDr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2010
CS 494/594 Computer and Network Security Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2010 1 Public Key Cryptography Modular Arithmetic RSA
More informationGreat Theoretical Ideas in Computer Science. Lecture 27: Cryptography
15-251 Great Theoretical Ideas in Computer Science Lecture 27: Cryptography What is cryptography about? Adversary Eavesdropper I will cut his throat I will cut his throat What is cryptography about? loru23n8uladjkfb!#@
More informationThe Application of Elliptic Curves Cryptography in Embedded Systems
The Application of Elliptic Curves Cryptography in Embedded Systems Wang Qingxian School of Computer Science and Engineering University of Electronic Science and Technology China Introduction to Cryptography
More informationA nice outline of the RSA algorithm and implementation can be found at:
Cryptography Lab: RSA Encryption and Decryption Lab Objectives: After this lab, the students should be able to Explain the simple concepts of encryption and decryption to protect information in transmission.
More informationCS Network Security. Nasir Memon Polytechnic University Module 7 Public Key Cryptography. RSA.
CS 393 - Network Security Nasir Memon Polytechnic University Module 7 Public Key Cryptography. RSA. Course Logistics Homework 2 revised. Due next Tuesday midnight. 2/26,28/02 Module 7 - Pubic Key Crypto
More information- 0 - CryptoLib: Cryptography in Software John B. Lacy 1 Donald P. Mitchell 2 William M. Schell 3 AT&T Bell Laboratories ABSTRACT
- 0 - CryptoLib: Cryptography in Software John B. Lacy 1 Donald P. Mitchell 2 William M. Schell 3 AT&T Bell Laboratories ABSTRACT With the capacity of communications channels increasing at the current
More informationApplied Cryptography and Network Security
Applied Cryptography and Network Security William Garrison bill@cs.pitt.edu 6311 Sennott Square Lecture #8: RSA Didn t we learn about RSA last time? During the last lecture, we saw what RSA does and learned
More informationASYMMETRIC CRYPTOGRAPHY
ASYMMETRIC CRYPTOGRAPHY CONTENT: 1. Number Theory 2. One Way Function 3. Hash Function 4. Digital Signature 5. RSA (Rivest-Shamir Adleman) References: 1. Applied Cryptography, Bruce Schneier 2. Cryptography
More informationA New Attack with Side Channel Leakage during Exponent Recoding Computations
A New Attack with Side Channel Leakage during Exponent Recoding Computations Yasuyuki Sakai 1 and Kouichi Sakurai 2 1 Mitsubishi Electric Corporation, 5-1-1 Ofuna, Kamakura, Kanagawa 247-8501, Japan ysakai@iss.isl.melco.co.jp
More informationOverview. Public Key Algorithms I
Public Key Algorithms I Dr. Arjan Durresi Louisiana State University Baton Rouge, LA 70810 Durresi@csc.lsu.Edu These slides are available at: http://www.csc.lsu.edu/~durresi/csc4601-04/ Louisiana State
More informationCPSC 467b: Cryptography and Computer Security
CPSC 467b: Cryptography and Computer Security Michael J. Fischer Lecture 7 January 30, 2012 CPSC 467b, Lecture 7 1/44 Public-key cryptography RSA Factoring Assumption Computing with Big Numbers Fast Exponentiation
More informationApplied Cryptography and Computer Security CSE 664 Spring 2018
Applied Cryptography and Computer Security Lecture 13: Public-Key Cryptography and RSA Department of Computer Science and Engineering University at Buffalo 1 Public-Key Cryptography What we already know
More informationLECTURE NOTES ON PUBLIC- KEY CRYPTOGRAPHY. (One-Way Functions and ElGamal System)
Department of Software The University of Babylon LECTURE NOTES ON PUBLIC- KEY CRYPTOGRAPHY (One-Way Functions and ElGamal System) By College of Information Technology, University of Babylon, Iraq Samaher@itnet.uobabylon.edu.iq
More informationCSCI 454/554 Computer and Network Security. Topic 5.2 Public Key Cryptography
CSCI 454/554 Computer and Network Security Topic 5.2 Public Key Cryptography Outline 1. Introduction 2. RSA 3. Diffie-Hellman Key Exchange 4. Digital Signature Standard 2 Introduction Public Key Cryptography
More informationOutline. CSCI 454/554 Computer and Network Security. Introduction. Topic 5.2 Public Key Cryptography. 1. Introduction 2. RSA
CSCI 454/554 Computer and Network Security Topic 5.2 Public Key Cryptography 1. Introduction 2. RSA Outline 3. Diffie-Hellman Key Exchange 4. Digital Signature Standard 2 Introduction Public Key Cryptography
More informationPublic-key encipherment concept
Date: onday, October 21, 2002 Prof.: Dr Jean-Yves Chouinard Design of Secure Computer Systems CSI4138/CEG4394 Notes on Public Key Cryptography Public-key encipherment concept Each user in a secure communication
More informationPublic-Key Cryptanalysis
http://www.di.ens.fr/ pnguyen INRIA and École normale supérieure, Paris, France MPRI, 2010 Outline 1 Introduction Asymmetric Cryptology Course Overview 2 Textbook RSA 3 Euclid s Algorithm Applications
More informationOutline. Public Key Cryptography. Applications of Public Key Crypto. Applications (Cont d)
Outline AIT 682: Network and Systems Security 1. Introduction 2. RSA 3. Diffie-Hellman Key Exchange 4. Digital Signature Standard Topic 5.2 Public Key Cryptography Instructor: Dr. Kun Sun 2 Public Key
More informationPublic Key Algorithms
Public Key Algorithms CS 472 Spring 13 Lecture 6 Mohammad Almalag 2/19/2013 Public Key Algorithms - Introduction Public key algorithms are a motley crew, how? All hash algorithms do the same thing: Take
More informationPublic Key Cryptography and RSA
Public Key Cryptography and RSA Major topics Principles of public key cryptosystems The RSA algorithm The Security of RSA Motivations A public key system is asymmetric, there does not have to be an exchange
More informationLecture IV : Cryptography, Fundamentals
Lecture IV : Cryptography, Fundamentals Internet Security: Principles & Practices John K. Zao, PhD (Harvard) SMIEEE Computer Science Department, National Chiao Tung University Spring 2012 Basic Principles
More informationRSA. Public Key CryptoSystem
RSA Public Key CryptoSystem DIFFIE AND HELLMAN (76) NEW DIRECTIONS IN CRYPTOGRAPHY Split the Bob s secret key K to two parts: K E, to be used for encrypting messages to Bob. K D, to be used for decrypting
More informationRSA: PUBLIC KEY ALGORITHMS
Fernando Rosendo [fernando.rosendo@iweb.com.br] i.web Labs Brazil Theory and Implementation Public Key Algorithms based on mathematical properties which allow the cryptographic process (encryption) using
More informationSome Stuff About Crypto
Some Stuff About Crypto Adrian Frith Laboratory of Foundational Aspects of Computer Science Department of Mathematics and Applied Mathematics University of Cape Town This work is licensed under a Creative
More informationDistributed Systems. 26. Cryptographic Systems: An Introduction. Paul Krzyzanowski. Rutgers University. Fall 2015
Distributed Systems 26. Cryptographic Systems: An Introduction Paul Krzyzanowski Rutgers University Fall 2015 1 Cryptography Security Cryptography may be a component of a secure system Adding cryptography
More informationThe Beta Cryptosystem
Bulletin of Electrical Engineering and Informatics Vol. 4, No. 2, June 2015, pp. 155~159 ISSN: 2089-3191 155 The Beta Cryptosystem Chandrashekhar Meshram Department of Mathematics, RTM Nagpur University,
More informationDavenport University ITS Lunch and Learn February 2, 2012 Sneden Center Meeting Hall Presented by: Scott Radtke
Davenport University ITS Lunch and Learn February 2, 2012 Sneden Center Meeting Hall Presented by: Scott Radtke A discussion on the mathematics behind coding and decoding using RSA Public-Key Cryptography.
More informationCSC 474/574 Information Systems Security
CSC 474/574 Information Systems Security Topic 2.5 Public Key Algorithms CSC 474/574 Dr. Peng Ning 1 Public Key Algorithms Public key algorithms covered in this class RSA: encryption and digital signature
More informationComputer Security. 08. Cryptography Part II. Paul Krzyzanowski. Rutgers University. Spring 2018
Computer Security 08. Cryptography Part II Paul Krzyzanowski Rutgers University Spring 2018 March 23, 2018 CS 419 2018 Paul Krzyzanowski 1 Block ciphers Block ciphers encrypt a block of plaintext at a
More informationAn effective Method for Attack RSA Strategy
Int. J. Advanced Networking and Applications 136 Volume: 03, Issue: 05, Pages: 136-1366 (01) An effective Method for Attack RSA Strategy Vibhor Mehrotra Assistant Professor Department of Computer Science,
More informationElementary number theory
Elementary number theory The notion of primes, greatest common divisors, congruences and Euler s phi function. the number theoretic concepts and Sage commands Sage Implementation of the RSA algorithm.
More informationPart VI. Public-key cryptography
Part VI Public-key cryptography Drawbacks with symmetric-key cryptography Symmetric-key cryptography: Communicating parties a priori share some secret information. Secure Channel Alice Unsecured Channel
More informationElements of Cryptography and Computer and Networking Security Computer Science 134 (COMPSCI 134) Fall 2016 Instructor: Karim ElDefrawy
Elements of Cryptography and Computer and Networking Security Computer Science 134 (COMPSCI 134) Fall 2016 Instructor: Karim ElDefrawy Homework 2 Due: Friday, 10/28/2016 at 11:55pm PT Will be posted on
More informationChapter 9 Public Key Cryptography. WANG YANG
Chapter 9 Public Key Cryptography WANG YANG wyang@njnet.edu.cn Content Introduction RSA Diffie-Hellman Key Exchange Introduction Public Key Cryptography plaintext encryption ciphertext decryption plaintext
More informationA SIGNATURE ALGORITHM BASED ON DLP AND COMPUTING SQUARE ROOTS
A SIGNATURE ALGORITHM BASED ON DLP AND COMPUTING SQUARE ROOTS Ounasser Abid 1 and Omar Khadir 2 1, 2 Laboratory of Mathematics, Cryptography and Mechanics, FSTM University Hassan II of Casablanca, Morocco
More informationLecture 2 Applied Cryptography (Part 2)
Lecture 2 Applied Cryptography (Part 2) Patrick P. C. Lee Tsinghua Summer Course 2010 2-1 Roadmap Number theory Public key cryptography RSA Diffie-Hellman DSA Certificates Tsinghua Summer Course 2010 2-2
More informationECE 646 Fall 2009 Final Exam December 15, Multiple-choice test
ECE 646 Fall 2009 Final Exam December 15, 2009 Multiple-choice test 1. (1 pt) Parallel processing can be used to speed up the following cryptographic transformations (please note that multiple answers
More informationAssignment 9 / Cryptography
Assignment 9 / Cryptography Michael Hauser March 2002 Tutor: Mr. Schmidt Course: M.Sc Distributed Systems Engineering Lecturer: Mr. Owens CONTENTS Contents 1 Introduction 3 2 Simple Ciphers 3 2.1 Vignère
More informationCryptography (DES+RSA) by Amit Konar Dept. of Math and CS, UMSL
Cryptography (DES+RSA) by Amit Konar Dept. of Math and CS, UMSL Transpositional Ciphers-A Review Decryption 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 Encryption 1 2 3 4 5 6 7 8 A G O O D F R I E N D I S A T R E
More informationSPA-Based Adaptive Chosen-Ciphertext Attack on RSA Implementation
SPA-Based Adaptive Chosen-Ciphertext Attack on RSA Implementation Roman Novak Jozef Stefan Institute, Jamova 39, 00 Ljubljana, Slovenia, Roman.Novak@ijs.si Abstract. 1 We describe an adaptive chosen-ciphertext
More informationInternational Journal of Scientific & Engineering Research, Volume 4, Issue 4, April ISSN
International Journal of Scientific & Engineering Research, Volume 4, Issue 4, April-2013 884 FPGA Implementation of Cryptographic Algorithms: A Survey Ambika R 1 Sahana Devanathan 2 1Associate Professor,
More informationKey Exchange. Secure Software Systems
1 Key Exchange 2 Challenge Exchanging Keys &!"#h%&'() & & 1 2 6(6 1) 2 15! $ The more parties in communication, the more keys that need to be securely exchanged " # Do we have to use out-of-band methods?
More informationBipartite Modular Multiplication
Bipartite Modular Multiplication Marcelo E. Kaihara and Naofumi Takagi Department of Information Engineering, Nagoya University, Nagoya, 464-8603, Japan {mkaihara, ntakagi}@takagi.nuie.nagoya-u.ac.jp Abstract.
More informationPublic Key Encryption
Public Key Encryption A case study THE RSA CRYPTOSYSTEM Public 31/05/14 Key Encryption 2 Rivest Shamir Adleman (1978) Key generation 1. Generate two large, distinct primes p, q (100 200 decimal digits)
More informationPublic Key Algorithms
CSE597B: Special Topics in Network and Systems Security Public Key Cryptography Instructor: Sencun Zhu The Pennsylvania State University Public Key Algorithms Public key algorithms RSA: encryption and
More informationAdmin ENCRYPTION. Admin. Encryption 10/29/15. Assignment 6. 4 more assignments: Midterm next Thursday. What is it and why do we need it?
Admin Assignment 6 4 more assignments:! Assignment 7, due 11/13 5pm! Assignment 8, due 11/20 5pm! Assignments 9 & 10, due 12/9 11:59pm ENCRYPTION David Kauchak CS52 Spring 2015 Admin Midterm next Thursday!
More information10.1 Introduction 10.2 Asymmetric-Key Cryptography Asymmetric-Key Cryptography 10.3 RSA Cryptosystem
[Part 2] Asymmetric-Key Encipherment Asymmetric-Key Cryptography To distinguish between two cryptosystems: symmetric-key and asymmetric-key; To discuss the RSA cryptosystem; To introduce the usage of asymmetric-key
More informationAn overview and Cryptographic Challenges of RSA Bhawana
An overview and Cryptographic Challenges of RSA Bhawana Department of CSE, Shanti Devi Institute of Technology & Management, Israna, Haryana India ABSTRACT: With the introduction of the computer, the need
More information0x1A Great Papers in Computer Security
CS 380S 0x1A Great Papers in Computer Security Vitaly Shmatikov http://www.cs.utexas.edu/~shmat/courses/cs380s/ Attacking Cryptographic Schemes Cryptanalysis Find mathematical weaknesses in constructions
More informationAlgorithms (III) Yijia Chen Shanghai Jiaotong University
Algorithms (III) Yijia Chen Shanghai Jiaotong University Review of the Previous Lecture Factoring: Given a number N, express it as a product of its prime factors. Many security protocols are based on the
More informationPrime Field over Elliptic Curve Cryptography for Secured Message Transaction
Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology ISSN 2320 088X IMPACT FACTOR: 5.258 IJCSMC,
More informationAlgorithms (III) Yu Yu. Shanghai Jiaotong University
Algorithms (III) Yu Yu Shanghai Jiaotong University Review of the Previous Lecture Factoring: Given a number N, express it as a product of its prime factors. Many security protocols are based on the assumed
More informationHardware Design and Software Simulation for Four Classical Cryptosystems
Available online at www.sciencedirect.com ScienceDirect Procedia Computer Science 21 (2013 ) 500 505 The 4 th International Conference on Emerging Ubiquitous Systems and Pervasive Networks (EUSPN-2013)
More informationMath236 Discrete Maths with Applications
Math236 Discrete Maths with Applications P. Ittmann UKZN, Pietermaritzburg Semester 1, 2012 Ittmann (UKZN PMB) Math236 2012 1 / 1 Block Ciphers A block cipher is an encryption scheme in which the plaintext
More informationRSA (algorithm) History
RSA (algorithm) RSA is an algorithm for public-key cryptography that is based on the presumed difficulty of factoring large integers, the factoring problem. RSA stands for Ron Rivest, Adi Shamir and Leonard
More informationSenior Math Circles Cryptography and Number Theory Week 1
Senior Math Circles Cryptography and Number Theory Week 1 Dale Brydon Feb. 2, 2014 1 One-Time Pads Cryptography deals with the problem of encoding a message in such a way that only the intended recipient
More informationINTERNATIONAL JOURNAL OF ELECTRONICS AND COMMUNICATION ENGINEERING & TECHNOLOGY (IJECET)
INTERNATIONAL JOURNAL OF ELECTRONICS AND COMMUNICATION ENGINEERING & TECHNOLOGY (IJECET) International Journal of Electronics and Communication Engineering & Technology (IJECET), ISSN 0976 ISSN 0976 6464(Print)
More informationCryptography Symmetric Cryptography Asymmetric Cryptography Internet Communication. Telling Secrets. Secret Writing Through the Ages.
Telling Secrets Secret Writing Through the Ages William Turner Department of Mathematics & Computer Science Wabash College Crawfordsville, IN 47933 Tuesday 4 February 2014 W. J. Turner Telling Secrets
More informationFPGA Implementation of WG Stream Cipher
FPGA Implementation of WG Stream Cipher Anna Johnson Assistant Professor,ECE Department, Jyothi Engineering College,Thrissur Abstract Cryptography is the technique of providing security to a network. The
More informationIntroduction. CSE 5351: Introduction to cryptography Reading assignment: Chapter 1 of Katz & Lindell
Introduction CSE 5351: Introduction to cryptography Reading assignment: Chapter 1 of Katz & Lindell 1 Cryptography Merriam-Webster Online Dictionary: 1. secret writing 2. the enciphering and deciphering
More informationGoals for Today. Substitution Permutation Ciphers. Substitution Permutation stages. Encryption Details 8/24/2010
Encryption Details COMP620 Goals for Today Understand how some of the most common encryption algorithms operate Learn about some new potential encryption systems Substitution Permutation Ciphers A Substitution
More informationCS1800 Discrete Structures Fall 2017 October 25, CS1800 Discrete Structures Midterm Version B
CS1800 Discrete Structures Fall 2017 October 25, 2017 Instructions: CS1800 Discrete Structures Midterm Version B 1. The exam is closed book and closed notes. You may not use a calculator or any other electronic
More informationEnhanced Asymmetric Public Key Cryptography based on Diffie-Hellman and RSA Algorithm
Enhanced Asymmetric Public Key Cryptography based on Diffie-Hellman and RSA Algorithm Princess Arleen S Zamora Gaduate Programs, Technological Institute of the Philippines Quezon City 1901, Philippines
More informationPublic-Key Cryptography
Computer Security Spring 2008 Public-Key Cryptography Aggelos Kiayias University of Connecticut A paradox Classic cryptography (ciphers etc.) Alice and Bob share a short private key using a secure channel.
More informationCS1800 Discrete Structures Fall 2017 October 25, CS1800 Discrete Structures Midterm Version B
CS1800 Discrete Structures Fall 2017 October 25, 2017 Instructions: CS1800 Discrete Structures Midterm Version B 1. The exam is closed book and closed notes. You may not use a calculator or any other electronic
More informationEncryption Details COMP620
Encryption Details COMP620 Encryption is a powerful defensive weapon for free people. It offers a technical guarantee of privacy, regardless of who is running the government It s hard to think of a more
More informationWhat did we talk about last time? Public key cryptography A little number theory
Week 4 - Friday What did we talk about last time? Public key cryptography A little number theory If p is prime and a is a positive integer not divisible by p, then: a p 1 1 (mod p) Assume a is positive
More informationComputer Security 3/23/18
s s encrypt a block of plaintext at a time and produce ciphertext Computer Security 08. Cryptography Part II Paul Krzyzanowski DES & AES are two popular block ciphers DES: 64 bit blocks AES: 128 bit blocks
More informationCryptography Functions
Cryptography Functions Lecture 3 1/29/2013 References: Chapter 2-3 Network Security: Private Communication in a Public World, Kaufman, Perlman, Speciner Types of Cryptographic Functions Secret (Symmetric)
More informationPublic Key Cryptography
Public Key Cryptography Giuseppe F. Italiano Universita` di Roma Tor Vergata italiano@disp.uniroma2.it Motivation Until early 70s, cryptography was mostly owned by government and military Symmetric cryptography
More informationIssues in Information Systems Volume 18, Issue 2, pp , 2017
IMPLEMENTING ELLIPTIC CURVE CRYPTOGRAPHY USING MICROSOFT EXCEL Abhijit Sen, Kwantlen Polytechnic University, abhijit.sen@kpu.ca ABSTRACT Microsoft Excel offers a number of data manipulation tools that
More informationTiming Attack Prospect for RSA Cryptanalysts Using Genetic Algorithm Technique
80 The International Arab Journal of Information Technology, Vol. 1, No. 1, January 2004 Timing Attack Prospect for RSA Cryptanalysts Using Genetic Algorithm Technique Hamza Ali and Mikdam Al-Salami Computer
More informationOn Boolean and Arithmetic Masking against Differential Power Analysis
On Boolean and Arithmetic Masking against Differential Power Analysis [Published in Ç.K. Koç and C. Paar, Eds., Cryptographic Hardware and Embedded Systems CHES 2000, vol. 1965 of Lecture Notes in Computer
More informationA Binary Redundant Scalar Point Multiplication in Secure Elliptic Curve Cryptosystems
International Journal of Network Security, Vol3, No2, PP132 137, Sept 2006 (http://ijnsnchuedutw/) 132 A Binary Redundant Scalar Multiplication in Secure Elliptic Curve Cryptosystems Sangook Moon School
More informationNEW MODIFIED LEFT-TO-RIGHT RADIX-R REPRESENTATION FOR INTEGERS. Arash Eghdamian 1*, Azman Samsudin 1
International Journal of Technology (2017) 3: 519-527 ISSN 2086-9614 IJTech 2017 NEW MODIFIED LEFT-TO-RIGHT RADIX-R REPRESENTATION FOR INTEGERS Arash Eghdamian 1*, Azman Samsudin 1 1 School of Computer
More informationPUBLIC KEY CRYPTO. Anwitaman DATTA SCSE, NTU Singapore CX4024. CRYPTOGRAPHY & NETWORK SECURITY 2018, Anwitaman DATTA
PUBLIC KEY CRYPTO Anwitaman DATTA SCSE, NTU Singapore Acknowledgement: The following lecture slides are based on, and uses material from the text book Cryptography and Network Security (various eds) by
More informationAlgorithms (III) Yijia Chen Shanghai Jiaotong University
Algorithms (III) Yijia Chen Shanghai Jiaotong University Review of the Previous Lecture Factoring: Given a number N, express it as a product of its prime factors. Many security protocols are based on the
More informationFile text security using Hybrid Cryptosystem with Playfair Cipher Algorithm and Knapsack Naccache-Stern Algorithm
Journal of Physics: Conference Series PAPER OPEN ACCESS File text security using Hybrid Cryptosystem with Playfair Cipher Algorithm and Knapsack Naccache-Stern Algorithm To cite this article: Amalia et
More informationLecture Note 9 ATTACKS ON CRYPTOSYSTEMS II. Sourav Mukhopadhyay
Lecture Note 9 ATTACKS ON CRYPTOSYSTEMS II Sourav Mukhopadhyay Cryptography and Network Security - MA61027 Birthday attack The Birthday attack makes use of what s known as the Birthday paradox to try to
More informationClassic Cryptography: From Caesar to the Hot Line
Classic Cryptography: From Caesar to the Hot Line Wenyuan Xu Department of Computer Science and Engineering University of South Carolina Overview of the Lecture Overview of Cryptography and Security Classical
More informationLecture 3 Algorithms with numbers (cont.)
Advanced Algorithms Floriano Zini Free University of Bozen-Bolzano Faculty of Computer Science Academic Year 2013-2014 Lecture 3 Algorithms with numbers (cont.) 1 Modular arithmetic For cryptography it
More informationNetwork Security. Chapter 4 Public Key Cryptography. Public Key Cryptography (4) Public Key Cryptography
Chair for Network Architectures and Services Department of Informatics TU München Prof. Carle Encryption/Decryption using Public Key Cryptography Network Security Chapter 4 Public Key Cryptography However,
More informationLab 1: Cipher Fundamentals
Lab 1: Cipher Fundamentals Objective: The key objective of this lab is to be introduced to some of the fundamental principles involved in cryptography, including the usage of Base-64, hexadecimal, the
More informationIntroduction to Cryptography Lecture 7
Introduction to Cryptography Lecture 7 Public-Key Encryption: El-Gamal, RSA Benny Pinkas page 1 1 Public key encryption Alice publishes a public key PK Alice. Alice has a secret key SK Alice. Anyone knowing
More informationSecret Key Cryptography
Secret Key Cryptography 1 Block Cipher Scheme Encrypt Plaintext block of length N Decrypt Secret key Cipher block of length N 2 Generic Block Encryption Convert a plaintext block into an encrypted block:
More information