Spring 2008, CSC395 Special Topics: Information Security Project 3

Size: px
Start display at page:

Download "Spring 2008, CSC395 Special Topics: Information Security Project 3"

Transcription

1 Spring 2008, CSC395 Special Topics: Information Security Project 3 Due: March 31, 2008, 23:59. How: 1 copy in your digital drop box, and 1 copy in your Unix directory (\CSC395\Project-3). No excuse if you do not meet this requirement. Objectives: Familiar with theory of public key cryptography (RSA) and its implementations. The RSA Cipher: Invented by Rivest, Shamir, and Adleman. A public key cryptography. RSA works like this: 1. The receiver of a message generates two large strong prime, p and q, forms their product, say n = pq, and makes public the value of n. 2. The receiver then chooses an integer e < n, such that gcd (e, (p-1)(q-1)) = 1. The value of e is made public. 3. The receiver also computes a decryption key, d, which is an inverse of e modulo (p-1)(q-1). This inverse exists since e was chosen relatively prime to (p-1)(q-1). That is, d must satisfy the congruence ed 1 (mod(p-1)(q-1)): 1 is the remainder of (ed) divided by (p-1)(q-1). 4. The sender of the message can send a message P < n by computing with the enciphering transformation C = P e (mod n) 0 C < n: C is the remainder of P e divided by n The receiver gets the cipher-text message C, and can retrieve the plaintext by computing P = C d (mod n): P is the remainder of C d divided by n Example: To establish a public and private key, and individual first selects two primes, say p = 563 and q = So, n = 563 x 2357 = Finally, he selects an integer e = 3 relatively prime to (p-1)(q-1) = , and computes the inverse of e modulo (p-1)(q-1) by solving 3d 1 mod ( ) for d. This yields d (mod ). The values for n and e are made public; d, p, and q remain privates. Suppose someone wants to send the message (regarded as an integer) P = to the aforementioned individual. The must simply calculate and send the cipher-text C = = (mod ).

2 To decrypt, the recipient uses the decryption key to derive the plaintext thus: P = = (mod ) Implementation: BigIntegerMath.java: included. PrimeGenerator.java: included. RSA modulus: n = p x q, where p and q are two strong prime. This need to be implemented in your java console/applet main function. sr=new SecureRandom(); PrimeGenerator pg=new PrimeGenerator(modByteLength*4+1,10,sr); p=pg.getstrongprime(); q=pg.getstrongprime(); modulus=p.multiply(q); Keys: o Public enciphering key e (exponent): This need to be implemented in your java console/applet main function. o BigInteger pminusone=p.subtract(bigintegermath.one); BigInteger qminusone=q.subtract(bigintegermath.one); do { exponent=new BigInteger(modulus.bitLength()-1,10,sr); while (!exponent.gcd(pminusone.multiply(qminusone)).equals(bigintegermath.one)); o Private deciphering key d (dexponent). This need to be implemented in your java console/applet main function. dexponent=exponent.modinverse(pminusone.multiply(qminusone)); RSA encipher: message, RSA modulus n, and public enciphering key exponent need to be passed (located in Ciphers.java). public static byte[] RSAEncipher(byte[] msg,biginteger e,biginteger n) { //Compute the plaintext block size int blocksize=(n.bitlength()-1)/8; byte[][] ba=block(pad(msg,blocksize),blocksize); //Begin the enciphering for (int i=0;i<ba.length;i++) ba[i]=getbytes(new BigInteger(1,ba[i]).modPow(e,n)); //Return to a 1D array. The ciphertext block size is one byte greater than plaintext block size. return unblock(ba,blocksize+1); RSA decipher: message, RSA modulus n, and public deciphering key dexponent need to be passed (located in Ciphers.java). public static byte[] RSADecipher(byte[] msg,biginteger d,biginteger n) { //Compute the ciphertext block size int blocksize=(n.bitlength()-1)/8+1; byte[][] ba=block(msg,blocksize); //Begin the deciphering for (int i=0;i<ba.length;i++) ba[i]=getbytes(new BigInteger(1,ba[i]).modPow(d,n)); //Go from blocks to a 1D array, and remove padding; return this return unpad(unblock(ba,blocksize-1),blocksize-1);

3 RSA encipher/decipher salts: o Salt simply refers to adding random data to the end of each block. public static byte[] RSAEncipherWSalt(byte[] msg,biginteger e,biginteger n,securerandom sr) { //Compute the plaintext block size int blocksize=(n.bitlength()-1)/8; if (blocksize<5) throw new IllegalArgumentException("Block size must be >= 5 bytes"); byte[][] ba=block(pad(msg,blocksize-4),blocksize-4); //Begin the enciphering for (int i=0;i<ba.length;i++) { ba[i]=addsalt(ba[i],sr); ba[i]=getbytes(new BigInteger(1,ba[i]).modPow(e,n)); //Return to a 1D array. The ciphertext block size is one byte greater than plaintext block size. return unblock(ba,blocksize+1); public static byte[] RSADecipherWSalt(byte[] msg,biginteger d,biginteger n) { //Compute the ciphertext block size int blocksize=(n.bitlength()-1)/8+1; byte[][] ba=block(msg,blocksize); //Begin the deciphering for (int i=0;i<ba.length;i++) { ba[i]=getbytes(new BigInteger(1,ba[i]).modPow(d,n)); ba[i]=removesalt(ba[i]); //Go from blocks to a 1D array, and remove padding; return this return unpad(unblock(ba,blocksize-5),blocksize-5); Requirements: Implement a Java console or Java applet by yourself.. Output should look like following:

4 Modulus n Encipher key e Decipher key d Must following the structure (platform) provided. o Adds the necessary codes. Must be compilable and executable. Must be implemented in Java. Must be implemented in Unix/Linux environment. Grading criteria: Following instances will be grade 0: o Cheating & Plagiarism. o Late or not hand in. o Can not be compiled. o Can not be executed. Certain penalty will be given if following instances occur: o Not follow the platform provided. o Compilable and executable but Certain functionalities are not met the requirements. Certain outputs are not correct.

5 Plateform: BigintegerMath.java (included). PrimeGenerator.java (included). Ciphers.java import java.math.*; import java.security.*; import java.util.*; public class Ciphers { public static byte[] RSAEncipher(byte[] msg,biginteger e,biginteger n) { public static byte[] RSADecipher(byte[] msg,biginteger d,biginteger n) { public static byte[] RSAEncipherWSalt(byte[] msg,biginteger e,biginteger n,securerandom sr) { public static byte[] RSADecipherWSalt(byte[] msg,biginteger d,biginteger n) { //Go from blocks to a 1D array, and remove padding; return this return unpad(unblock(ba,blocksize-5),blocksize-5); //Method to add salt to blocks private static byte[] addsalt(byte[] b,securerandom random) { byte[] answer=new byte[b.length+4]; byte[] salt=new byte[4]; random.nextbytes(salt); //Put salt in front System.arraycopy(salt,0,answer,0,4); //Copy the message over System.arraycopy(b,0,answer,4,b.length); return answer; private static byte[] removesalt(byte[] b) { byte[] answer=new byte[b.length-4]; //Copy the message over System.arraycopy(b,4,answer,0,answer.length); return answer; //Method to rectify the extra bit problem of the tobytearray() method private static byte[] getbytes(biginteger big) { byte[] bigbytes=big.tobytearray(); if (big.bitlength()%8!=0) return bigbytes; else { byte[] smallerbytes=new byte[big.bitlength()/8]; System.arraycopy(bigBytes,1,smallerBytes,0,smallerBytes.length); return smallerbytes; //Pads message using PKCS#5 private static byte[] pad(byte[] msg,int blocksize) { //Check that block size is proper for PKCS#5 padding

6 if (blocksize<1 blocksize>255) throw new IllegalArgumentException("Block size must be between 1 and 255."); //Pad the message int numbertopad=blocksize-msg.length%blocksize; byte[] paddedmsg=new byte[msg.length+numbertopad]; System.arraycopy(msg,0,paddedMsg,0,msg.length); for (int i=msg.length;i<paddedmsg.length;i++) paddedmsg[i]=(byte)numbertopad; return paddedmsg; //Turns the message into a 2D array of blocks private static byte[][] block(byte[] msg,int blocksize) { //Create a 2D array of bytes corresponding to the message-all blocks should be full int numberofblocks=msg.length/blocksize; byte[][] ba=new byte[numberofblocks][blocksize]; for (int i=0;i<numberofblocks;i++) for (int j=0;j<blocksize;j++) ba[i][j]=msg[i*blocksize+j]; return ba; //Takes the blocks and returns the message as a linear array private static byte[] unblock(byte[][] ba,int blocksize) { //Create the 1D array in which to place the enciphered blocks byte[] m2=new byte[ba.length*blocksize]; //Place the blocks in the 1D array for (int i=0;i<ba.length;i++) for (int j=blocksize-1,k=ba[i].length-1;k>=0;k--,j--) m2[i*blocksize+j]=ba[i][k]; return m2; private static byte[] unpad(byte[] msg,int blocksize) { //Determine the amount of padding-just look at last block int numberofpads=(msg[msg.length-1]+256)%256; //Chop off the padding and return the array byte[] answer=new byte[msg.length-numberofpads]; System.arraycopy(msg,0,answer,0,answer.length); return answer;

Spring 2008, CSC395 Special Topics: Information Security Project 2

Spring 2008, CSC395 Special Topics: Information Security Project 2 Spring 2008, CSC395 Special Topics: Information Security Project 2 Due: March. 2, 2008, 23:59. How: 1 copy in your digital drop box, and 1 copy in your Unix directory (\CSC395\Project-2). No excuse if

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

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

Introduction to cryptography Chapter 1 Introduction to cryptography 1.1 From caesar cipher to public key cryptography Cryptography: is the practical means for protecting information transmitted through public communications networks,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CS 556 Spring 2017 Project 3 Study of Cryptographic Techniques

CS 556 Spring 2017 Project 3 Study of Cryptographic Techniques CS 556 Spring 2017 Project 3 Study of Cryptographic Techniques Project Due Dates: Part A: Due before class on CANVAS by Thursday, March 23, 2017 Part B: Due before class on CANVAS by Thursday April 6,

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

Kurose & Ross, Chapters (5 th ed.)

Kurose & Ross, Chapters (5 th ed.) Kurose & Ross, Chapters 8.2-8.3 (5 th ed.) Slides adapted from: J. Kurose & K. Ross \ Computer Networking: A Top Down Approach (5 th ed.) Addison-Wesley, April 2009. Copyright 1996-2010, J.F Kurose and

More information

Encryption. INST 346, Section 0201 April 3, 2018

Encryption. INST 346, Section 0201 April 3, 2018 Encryption INST 346, Section 0201 April 3, 2018 Goals for Today Symmetric Key Encryption Public Key Encryption Certificate Authorities Secure Sockets Layer Simple encryption scheme substitution cipher:

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

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 Cryptography, OpenPGP, and Enigmail. 31/5/ Geek Girls Carrffots GVA

Public Key Cryptography, OpenPGP, and Enigmail. 31/5/ Geek Girls Carrffots GVA Public Key Cryptography, OpenPGP, and Enigmail Cryptography is the art and science of transforming (encrypting) a message so only the intended recipient can read it Symmetric Cryptography shared secret

More information

1.264 Lecture 28. Cryptography: Asymmetric keys

1.264 Lecture 28. Cryptography: Asymmetric keys 1.264 Lecture 28 Cryptography: Asymmetric keys Next class: Anderson chapters 20. Exercise due before class (Reading doesn t cover same topics as lecture) 1 Asymmetric or public key encryption Receiver

More information

Modular arithme.c and cryptography

Modular arithme.c and cryptography Modular arithme.c and cryptography CSC 1300 Discrete Structures Villanova University Public Key Cryptography (Slides 11-32) by Dr. Lillian Cassel, Villanova University Villanova CSC 1300 - Dr Papalaskari

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

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

ח'/סיון/תשע "א. RSA: getting ready. Public Key Cryptography. Public key cryptography. Public key encryption algorithms

ח'/סיון/תשע א. RSA: getting ready. Public Key Cryptography. Public key cryptography. Public key encryption algorithms Public Key Cryptography Kurose & Ross, Chapters 8.28.3 (5 th ed.) Slides adapted from: J. Kurose & K. Ross \ Computer Networking: A Top Down Approach (5 th ed.) AddisonWesley, April 2009. Copyright 19962010,

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

Introduction to Cryptography. Vasil Slavov William Jewell College

Introduction to Cryptography. Vasil Slavov William Jewell College Introduction to Cryptography Vasil Slavov William Jewell College Crypto definitions Cryptography studies how to keep messages secure Cryptanalysis studies how to break ciphertext Cryptology branch of mathematics,

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

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

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

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

IMPORTANCE OF NUMBER THEORY IN CRYPTOGRAPHY

IMPORTANCE OF NUMBER THEORY IN CRYPTOGRAPHY IMPORTANCE OF NUMBER THEORY IN CRYPTOGRAPHY Pawanveer Singh 1, Dr. Amanpreet Singh 2, Shelja Jhamb 3 1 Post Graduate Department of Mathematics, Lajpat Rai D. A. V. College Jagraon, (India) 2 Post Graduate

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

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

Birol ÇAPA Doç. Dr. Sıddıka Berna Örs Yalçın Following code can coompute montgomery multiplication of 128 bit numbers:

Birol ÇAPA Doç. Dr. Sıddıka Berna Örs Yalçın Following code can coompute montgomery multiplication of 128 bit numbers: Homework 3 Implementation of Montgomery Multiplication Montgomery multiplier calculates C = A. B mod N as follows: 1. Given integers x, y and 0 x,y m 2. Montgomery Domain: a. x x m d m, = yr mod m 3. Montgomery

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

CS61A Lecture #39: Cryptography

CS61A Lecture #39: Cryptography Announcements: CS61A Lecture #39: Cryptography Homework 13 is up: due Monday. Homework 14 will be judging the contest. HKN surveys on Friday: 7.5 bonus points for filling out their survey on Friday (yes,

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

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

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

Hash Functions, Public-Key Encryption CMSC 23200/33250, Autumn 2018, Lecture 6

Hash Functions, Public-Key Encryption CMSC 23200/33250, Autumn 2018, Lecture 6 Hash Functions, Public-Key Encryption CMSC 23200/33250, Autumn 2018, Lecture 6 David Cash University of Chicago Plan 1. A few points about hash functions 2. Introducing Public-Key Encryption 3. Math for

More information

ASYMMETRIC (PUBLIC-KEY) ENCRYPTION. Mihir Bellare UCSD 1

ASYMMETRIC (PUBLIC-KEY) ENCRYPTION. Mihir Bellare UCSD 1 ASYMMETRIC (PUBLIC-KEY) ENCRYPTION Mihir Bellare UCSD 1 Recommended Book Steven Levy. Crypto. Penguin books. 2001. A non-technical account of the history of public-key cryptography and the colorful characters

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

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

I.J.E.M.S., VOL. 1(1): 1-6 ISSN X THRESHOLD GENETIC SENSOR SYSTEM TO E-MANUFACTURING SYSTEM

I.J.E.M.S., VOL. 1(1): 1-6 ISSN X THRESHOLD GENETIC SENSOR SYSTEM TO E-MANUFACTURING SYSTEM I.J.E.M.S., VOL. 1(1): 1-6 ISSN 2229-600X THRESHOLD GENETIC SENSOR SYSTEM TO E-MANUFACTURING SYSTEM E.MadhuSudhan 1, G. Krishnaiah 2 1 Research Scholar, 2 Professor Department of Mechanical Engineering

More information

NUMB3RS Activity: Creating Codes. Episode: Backscatter

NUMB3RS Activity: Creating Codes. Episode: Backscatter Teacher Page 1 NUMB3RS Activity: Creating Codes Topic: Codes Grade Level: 10-12 Objective: Explore several coding methods Time: 30+ minutes Materials: TI-83/84 Plus calculator Introduction While lecturing

More information

CPSC 467: Cryptography and Computer Security

CPSC 467: Cryptography and Computer Security CPSC 467: Cryptography and Computer Security Michael J. Fischer Lecture 8 September 28, 2015 CPSC 467, Lecture 8 1/44 Chaining Modes Block chaining modes Extending chaining modes to bytes Public-key Cryptography

More information

ISA 662 Internet Security Protocols. Outline. Prime Numbers (I) Beauty of Mathematics. Division (II) Division (I)

ISA 662 Internet Security Protocols. Outline. Prime Numbers (I) Beauty of Mathematics. Division (II) Division (I) Outline ISA 662 Internet Security Protocols Some Math Essentials & History Asymmetric signatures and key exchange Asymmetric encryption Symmetric MACs Lecture 2 ISA 662 1 2 Beauty of Mathematics Demonstration

More information

Chapter 8 Security. Computer Networking: A Top Down Approach. 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012

Chapter 8 Security. Computer Networking: A Top Down Approach. 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Chapter 8 Security A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations; and can add,

More information

LECTURE 4: Cryptography

LECTURE 4: Cryptography CSC 519 Information Security LECTURE 4: Cryptography Dr. Esam A. Alwagait alwagait@ksu.edu.sa Recap form previous Lecture We discussed more symmetric encryption. Books? Security Engineering, Ross Anderson

More information

Public-Key Cryptography. Professor Yanmin Gong Week 3: Sep. 7

Public-Key Cryptography. Professor Yanmin Gong Week 3: Sep. 7 Public-Key Cryptography Professor Yanmin Gong Week 3: Sep. 7 Outline Key exchange and Diffie-Hellman protocol Mathematical backgrounds for modular arithmetic RSA Digital Signatures Key management Problem:

More information

VHDL for RSA Public Key System

VHDL for RSA Public Key System 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 E-mail: {ruihe, jiegu, lzhang, licheng}@engr.mun.ca

More information

Outline. Data Encryption Standard. Symmetric-Key Algorithms. Lecture 4

Outline. Data Encryption Standard. Symmetric-Key Algorithms. Lecture 4 EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 4 Department of Electrical and Computer Engineering Cleveland State University wenbing@ieee.org Outline Review

More information

Project Report. Title: Finding and Implementing Auto Parallelization in RSA Encryption and Decryption Algorithm

Project Report. Title: Finding and Implementing Auto Parallelization in RSA Encryption and Decryption Algorithm Project Report Title: Finding and Implementing Auto Parallelization in RSA Encryption and Decryption Algorithm Satyam Mishra Undergraduate Student, LNM Institute of Information Technology (satyam.mishra@lnmiit.ac.in

More information

Midterm Exam. CS381-Cryptography. October 30, 2014

Midterm Exam. CS381-Cryptography. October 30, 2014 Midterm Exam CS381-Cryptography October 30, 2014 Useful Items denotes exclusive-or, applied either to individual bits or to sequences of bits. The same operation in Python is denoted ˆ. 2 10 10 3 = 1000,

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

Topics. Number Theory Review. Public Key Cryptography

Topics. Number Theory Review. Public Key Cryptography Public Key Cryptography Topics 1. Number Theory Review 2. Public Key Cryptography 3. One-Way Trapdoor Functions 4. Diffie-Helman Key Exchange 5. RSA Cipher 6. Modern Steganography Number Theory Review

More information

A Tour of Classical and Modern Cryptography

A Tour of Classical and Modern Cryptography A Tour of Classical and Modern Cryptography Evan P. Dummit University of Rochester May 25, 2016 Outline Contents of this talk: Overview of cryptography (what cryptography is) Historical cryptography (how

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

*E. Madhusudhana Reddy & M.Padmavathamma Department of Computer Science, S.V.University, Tirupati

*E. Madhusudhana Reddy & M.Padmavathamma Department of Computer Science, S.V.University, Tirupati I.J.E.M.S., VOL. 1(1): 12-17 ISSN 2229-6X THRESHOLD MJ2 CRYPTOSYSTEM WITH ONE PUBLIC KEY AND ONE PRIVATE KEY *E. Madhusudhana Reddy & M.Padmavathamma Department of Computer Science, S.V.University, Tirupati

More information

Cryptographic Techniques. Information Technologies for IPR Protections 2003/11/12 R107, CSIE Building

Cryptographic Techniques. Information Technologies for IPR Protections 2003/11/12 R107, CSIE Building Cryptographic Techniques Information Technologies for IPR Protections 2003/11/12 R107, CSIE Building Outline Data security Cryptography basics Cryptographic systems DES RSA C. H. HUANG IN CML 2 Cryptography

More information

ASYMMETRIC (PUBLIC-KEY) ENCRYPTION. Mihir Bellare UCSD 1

ASYMMETRIC (PUBLIC-KEY) ENCRYPTION. Mihir Bellare UCSD 1 ASYMMETRIC (PUBLIC-KEY) ENCRYPTION Mihir Bellare UCSD 1 Recommended Book Steven Levy. Crypto. Penguin books. 2001. A non-technical account of the history of public-key cryptography and the colorful characters

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

Chapter 11 : Private-Key Encryption

Chapter 11 : Private-Key Encryption COMP547 Claude Crépeau INTRODUCTION TO MODERN CRYPTOGRAPHY _ Second Edition _ Jonathan Katz Yehuda Lindell Chapter 11 : Private-Key Encryption 1 Chapter 11 Public-Key Encryption Apologies: all numbering

More information

LAB: Public-Key Encryption

LAB: Public-Key Encryption INTRODUCTION TO COMPUTER CONCEPTS CSIT 100 LAB: Public-Key Encryption Since this lab is experiential, you must complete it during the lab period. Save this exercise in your flash drive at the end of the

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

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

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

CRYPTOGRAPHY & DIGITAL SIGNATURE

CRYPTOGRAPHY & DIGITAL SIGNATURE UNIT V CRYPTOGRAPHY & DIGITAL SIGNATURE What happens in real life? We have universal electronic connectivity via networks of our computers so allowing viruses and hackers to do eavesdropping. So both the

More information

Lecture 9: Public-Key Cryptography CS /05/2018

Lecture 9: Public-Key Cryptography CS /05/2018 Lecture 9: Public-Key Cryptography CS 5430 3/05/2018 Crypto Thus Far Key pairs Instead of sharing a key between pairs of principals......every principal has a pair of keys public key: published for the

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

RSA Public Key Encryption 1. Ivor Page 2

RSA Public Key Encryption 1. Ivor Page 2 RSA Public Key Encryption 1 RSA Public Key Encryption 1 Ivor Page 2 One of the most important methods of providing secrecy and authentication is encryption. Secrecy means the secure transmission of data

More information

3/22/17. Admin. Assignment 6 ENCRYPTION. David Kauchak CS52 Spring Survey: How is the class going? Survey: respondents. 24 total respondents

3/22/17. Admin. Assignment 6 ENCRYPTION. David Kauchak CS52 Spring Survey: How is the class going? Survey: respondents. 24 total respondents Admin Assignment 6 ENCRYPTION David Kauchak CS52 Spring 2016 Survey: respondents Survey: How is the class going? 24 total respondents 1 Survey: How is the difficulty of the class? Survey: time spent per

More information

CS3235 Seventh set of lecture slides

CS3235 Seventh set of lecture slides CS3235 Seventh set of lecture slides Hugh Anderson National University of Singapore School of Computing October, 2007 Hugh Anderson CS3235 Seventh set of lecture slides 1 Warp 9... Outline 1 Public Key

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

Other Uses of Cryptography. Cryptography Goals. Basic Problem and Terminology. Other Uses of Cryptography. What Can Go Wrong? Why Do We Need a Key?

Other Uses of Cryptography. Cryptography Goals. Basic Problem and Terminology. Other Uses of Cryptography. What Can Go Wrong? Why Do We Need a Key? ryptography Goals Protect private communication in the public world and are shouting messages over a crowded room no one can understand what they are saying 1 Other Uses of ryptography Authentication should

More information

CPSC 467: Cryptography and Computer Security

CPSC 467: Cryptography and Computer Security CPSC 467: Cryptography and Computer Security Michael J. Fischer Lecture 8 September 22, 2014 CPSC 467, Lecture 8 1/59 Chaining Modes Block chaining modes Extending chaining modes to bytes Public-key Cryptography

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

Workshop Challenges Startup code in PyCharm Projects

Workshop Challenges Startup code in PyCharm Projects INTRODUCTION TO CRYPTOGRAPHIC ATTACKS EXERCISE LOGISTICS Workshop Challenges Startup code in PyCharm Projects BLOCK CIPHERS Fixed sized input Random looking output for each message and key Block Cipher

More information

AES Code Example

AES Code Example 210 Figure 12-1. Block cipher chaining modes 12.1.6. AES Code Example Now that we have covered block ciphers and CBC, we provide a simple Java code example that can encrypt and decrypt using AES in CBC

More information

Number Theory and RSA Public-Key Encryption

Number Theory and RSA Public-Key Encryption Number Theory and RSA Public-Key Encryption Dr. Natarajan Meghanathan Associate Professor of Computer Science Jackson State University E-mail: natarajan.meghanathan@jsums.edu CIA Triad: Three Fundamental

More information

Chapter 7 Public Key Cryptography and Digital Signatures

Chapter 7 Public Key Cryptography and Digital Signatures Chapter 7 Public Key Cryptography and Digital Signatures Every Egyptian received two names, which were known respectively as the true name and the good name, or the great name and the little name; and

More information

Math From Scratch Lesson 22: The RSA Encryption Algorithm

Math From Scratch Lesson 22: The RSA Encryption Algorithm Math From Scratch Lesson 22: The RSA Encryption Algorithm W. Blaine Dowler January 2, 2012 Contents 1 What Is Encryption? 1 2 What Is RSA Encryption? 2 2.1 Key Generation............................ 2

More information

Modern Cryptography Activity 1: Caesar Ciphers

Modern Cryptography Activity 1: Caesar Ciphers Activity 1: Caesar Ciphers Preliminaries: The Caesar cipher is one of the oldest codes in existence. It is an example of a substitution cipher, where each letter in the alphabet is replaced by another

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

Blum-Blum-Shub cryptosystem and generator. Blum-Blum-Shub cryptosystem and generator

Blum-Blum-Shub cryptosystem and generator. Blum-Blum-Shub cryptosystem and generator BBS encryption scheme A prime p is called a Blum prime if p mod 4 = 3. ALGORITHM Alice, the recipient, makes her BBS key as follows: BBS encryption scheme A prime p is called a Blum prime if p mod 4 =

More information

Siddharth Raina. Sushant Pawar. Shriket Pai T.E Computers, Fr.CRIT, VASHI B-11 Kailash Vihar, Ghatkopar(W) Mumbai- 86

Siddharth Raina. Sushant Pawar. Shriket Pai T.E Computers, Fr.CRIT, VASHI B-11 Kailash Vihar, Ghatkopar(W) Mumbai- 86 Study of RSA and Proposed Variant against Wiener s Attack Justin Jose Fr. Agnel Boys Hostel Sec 9-A Vashi, Navi Mumbai-400703 Siddharth Raina Fr. Agnel Boys Hostel Sec 9-A Vashi, Navi Mumbai-400703 Sushant

More information