VHDL for RSA Public Key System

Size: px
Start display at page:

Download "VHDL for RSA Public Key System"

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 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 information

Public Key Encryption. Modified by: Dr. Ramzi Saifan

Public 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 information

Keywords Security, Cryptanalysis, RSA algorithm, Timing Attack

Keywords 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 information

Public Key Cryptography

Public 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 information

Introduction to Cryptography and Security Mechanisms: Unit 5. Public-Key Encryption

Introduction 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 information

Public Key Algorithms

Public 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 information

Lecture 6: Overview of Public-Key Cryptography and RSA

Lecture 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 information

CS669 Network Security

CS669 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 information

Chapter 9. Public Key Cryptography, RSA And Key Management

Chapter 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 information

RSA (material drawn from Avi Kak Lecture 12, Lecture Notes on "Computer and Network Security" Used in asymmetric crypto.

RSA (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 information

Channel Coding and Cryptography Part II: Introduction to Cryptography

Channel 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 information

Public Key Cryptography and the RSA Cryptosystem

Public 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 information

Introduction to Cryptography and Security Mechanisms. Abdul Hameed

Introduction 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 information

Side-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 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 information

Chapter 3 Public Key Cryptography

Chapter 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 information

Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2010

Dr. 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 information

Great Theoretical Ideas in Computer Science. Lecture 27: Cryptography

Great 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 information

The Application of Elliptic Curves Cryptography in Embedded Systems

The 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 information

A nice outline of the RSA algorithm and implementation can be found at:

A 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 information

CS Network Security. Nasir Memon Polytechnic University Module 7 Public Key Cryptography. RSA.

CS 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 - 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 information

Applied Cryptography and Network Security

Applied 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 information

ASYMMETRIC CRYPTOGRAPHY

ASYMMETRIC 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 information

A New Attack with Side Channel Leakage during Exponent Recoding Computations

A 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 information

Overview. Public Key Algorithms I

Overview. 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 information

CPSC 467b: Cryptography and Computer Security

CPSC 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 information

Applied Cryptography and Computer Security CSE 664 Spring 2018

Applied 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 information

LECTURE NOTES ON PUBLIC- KEY CRYPTOGRAPHY. (One-Way Functions and ElGamal System)

LECTURE 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 information

CSCI 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 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 information

Outline. CSCI 454/554 Computer and Network Security. Introduction. Topic 5.2 Public Key Cryptography. 1. Introduction 2. RSA

Outline. 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 information

Public-key encipherment concept

Public-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 information

Public-Key Cryptanalysis

Public-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 information

Outline. Public Key Cryptography. Applications of Public Key Crypto. Applications (Cont d)

Outline. 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 information

Public Key Algorithms

Public 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 information

Public Key Cryptography and RSA

Public 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 information

Lecture IV : Cryptography, Fundamentals

Lecture 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 information

RSA. Public Key CryptoSystem

RSA. 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 information

RSA: PUBLIC KEY ALGORITHMS

RSA: 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 information

Some Stuff About Crypto

Some 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 information

Distributed 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 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 information

The Beta Cryptosystem

The 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 information

Davenport 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 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 information

CSC 474/574 Information Systems Security

CSC 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 information

Computer Security. 08. Cryptography Part II. Paul Krzyzanowski. Rutgers University. Spring 2018

Computer 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 information

An effective Method for Attack RSA Strategy

An 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 information

Elementary number theory

Elementary 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 information

Part VI. Public-key cryptography

Part 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 information

Elements 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 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 information

Chapter 9 Public Key Cryptography. WANG YANG

Chapter 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 information

A SIGNATURE ALGORITHM BASED ON DLP AND COMPUTING SQUARE ROOTS

A 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 information

Lecture 2 Applied Cryptography (Part 2)

Lecture 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 information

ECE 646 Fall 2009 Final Exam December 15, Multiple-choice test

ECE 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 information

Assignment 9 / Cryptography

Assignment 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 information

Cryptography (DES+RSA) by Amit Konar Dept. of Math and CS, UMSL

Cryptography (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 information

SPA-Based Adaptive Chosen-Ciphertext Attack on RSA Implementation

SPA-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 information

International Journal of Scientific & Engineering Research, Volume 4, Issue 4, April ISSN

International 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 information

Key Exchange. Secure Software Systems

Key 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 information

Bipartite Modular Multiplication

Bipartite 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 information

Public Key Encryption

Public 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 information

Public Key Algorithms

Public 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 information

Admin ENCRYPTION. Admin. Encryption 10/29/15. Assignment 6. 4 more assignments: Midterm next Thursday. What is it and why do we need it?

Admin 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 information

10.1 Introduction 10.2 Asymmetric-Key Cryptography Asymmetric-Key Cryptography 10.3 RSA Cryptosystem

10.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 information

An overview and Cryptographic Challenges of RSA Bhawana

An 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 information

0x1A Great Papers in Computer Security

0x1A 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 information

Algorithms (III) Yijia Chen Shanghai Jiaotong University

Algorithms (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 information

Prime Field over Elliptic Curve Cryptography for Secured Message Transaction

Prime 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 information

Algorithms (III) Yu Yu. Shanghai Jiaotong University

Algorithms (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 information

Hardware Design and Software Simulation for Four Classical Cryptosystems

Hardware 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 information

Math236 Discrete Maths with Applications

Math236 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 information

RSA (algorithm) History

RSA (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 information

Senior Math Circles Cryptography and Number Theory Week 1

Senior 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 information

INTERNATIONAL 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) International Journal of Electronics and Communication Engineering & Technology (IJECET), ISSN 0976 ISSN 0976 6464(Print)

More information

Cryptography Symmetric Cryptography Asymmetric Cryptography Internet Communication. Telling Secrets. Secret Writing Through the Ages.

Cryptography 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 information

FPGA Implementation of WG Stream Cipher

FPGA 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 information

Introduction. 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 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 information

Goals for Today. Substitution Permutation Ciphers. Substitution Permutation stages. Encryption Details 8/24/2010

Goals 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 information

CS1800 Discrete Structures Fall 2017 October 25, CS1800 Discrete Structures Midterm Version B

CS1800 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 information

Enhanced Asymmetric Public Key Cryptography based on Diffie-Hellman and RSA Algorithm

Enhanced 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 information

Public-Key Cryptography

Public-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 information

CS1800 Discrete Structures Fall 2017 October 25, CS1800 Discrete Structures Midterm Version B

CS1800 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 information

Encryption Details COMP620

Encryption 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 information

What did we talk about last time? Public key cryptography A little number theory

What 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 information

Computer Security 3/23/18

Computer 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 information

Cryptography Functions

Cryptography 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 information

Public Key Cryptography

Public 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 information

Issues in Information Systems Volume 18, Issue 2, pp , 2017

Issues 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 information

Timing Attack Prospect for RSA Cryptanalysts Using Genetic Algorithm Technique

Timing 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 information

On Boolean and Arithmetic Masking against Differential Power Analysis

On 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 information

A Binary Redundant Scalar Point Multiplication in Secure Elliptic Curve Cryptosystems

A 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 information

NEW MODIFIED LEFT-TO-RIGHT RADIX-R REPRESENTATION FOR INTEGERS. Arash Eghdamian 1*, Azman Samsudin 1

NEW 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 information

PUBLIC KEY CRYPTO. Anwitaman DATTA SCSE, NTU Singapore CX4024. CRYPTOGRAPHY & NETWORK SECURITY 2018, Anwitaman DATTA

PUBLIC 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 information

Algorithms (III) Yijia Chen Shanghai Jiaotong University

Algorithms (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 information

File text security using Hybrid Cryptosystem with Playfair Cipher Algorithm and Knapsack Naccache-Stern Algorithm

File 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 information

Lecture Note 9 ATTACKS ON CRYPTOSYSTEMS II. Sourav Mukhopadhyay

Lecture 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 information

Classic Cryptography: From Caesar to the Hot Line

Classic 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 information

Lecture 3 Algorithms with numbers (cont.)

Lecture 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 information

Network Security. Chapter 4 Public Key Cryptography. Public Key Cryptography (4) Public Key Cryptography

Network 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 information

Lab 1: Cipher Fundamentals

Lab 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 information

Introduction to Cryptography Lecture 7

Introduction 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 information

Secret Key Cryptography

Secret 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