DIGITAL SIGNATURE IMPLEMENTATION

Slides:



Advertisements
Similar presentations
Chapter 3 Public Key Cryptography and Message authentication.
Advertisements

Digital Signatures and Hash Functions. Digital Signatures.
Authentication and Digital Signatures CSCI 5857: Encoding and Encryption.
Public-key Cryptography Montclair State University CMPT 109 J.W. Benham Spring, 1998.
CC3.12 Erdal KOSE Privacy & Digital Security Encryption.
ECOMMERCE TECHNOLOGY SUMMER 2002 COPYRIGHT © 2002 MICHAEL I. SHAMOS Cryptographic Security.
Dr Alejandra Flores-Mosri Message Authentication Internet Management & Security 06 Learning outcomes At the end of this session, you should be able to:
ECOMMERCE TECHNOLOGY FALL 2003 COPYRIGHT © 2003 MICHAEL I. SHAMOS Cryptography.
Kemal AkkayaWireless & Network Security 1 Department of Computer Science Southern Illinois University Carbondale CS 591 – Wireless & Network Security Lecture.
Public Key Cryptography
WS Algorithmentheorie 03 – Randomized Algorithms (Public Key Cryptosystems) Prof. Dr. Th. Ottmann.
How cryptography is used to secure web services Josh Benaloh Cryptographer Microsoft Research.
1 Information System Security AABFS-Jordan Summer 2006 Digital Signature and Hashing Functions Prepared by: Maher Abu Hamdeh & Adel Hamdan Supervised by:
WS Algorithmentheorie 03 – Randomized Algorithms (Public Key Cryptosystems) Prof. Dr. Th. Ottmann.
Chapter 3 Encryption Algorithms & Systems (Part C)
Dr.Saleem Al_Zoubi1 Cryptography and Network Security Third Edition by William Stallings Public Key Cryptography and RSA.
Chapter 9 – Public Key Cryptography and RSA Private-Key Cryptography  traditional private/secret/single key cryptography uses one key  shared by both.
8: Network Security8-1 Symmetric key cryptography symmetric key crypto: Bob and Alice share know same (symmetric) key: K r e.g., key is knowing substitution.
Public Key Cryptography RSA Diffie Hellman Key Management Based on slides by Dr. Lawrie Brown of the Australian Defence Force Academy, University College,
CSCI 172/283 Fall 2010 Public Key Cryptography. New paradigm introduced by Diffie and Hellman The mailbox analogy: Bob has a locked mailbox Alice can.
E- Business Digital Signature Varna Free University Prof. Teodora Bakardjieva.
Encryption Methods By: Michael A. Scott
Asymmetric encryption. Asymmetric encryption, often called "public key" encryption, allows Alice to send Bob an encrypted message without a shared secret.
Public Key Model 8. Cryptography part 2.
 Introduction  Requirements for RSA  Ingredients for RSA  RSA Algorithm  RSA Example  Problems on RSA.
Andreas Steffen, , 4-PublicKey.pptx 1 Internet Security 1 (IntSi1) Prof. Dr. Andreas Steffen Institute for Internet Technologies and Applications.
Cryptography in.Net CS 795. Goals Confidentiality---no one else can intercept a message as it passes from A to B---Encryption is the answer Integrity---message.
Rachana Y. Patil 1 1.
CS5204 – Fall Cryptographic Security Presenter: Hamid Al-Hamadi October 13, 2009.
Bob can sign a message using a digital signature generation algorithm
Elgamal Public Key Encryption CSCI 5857: Encoding and Encryption.
Chi-Cheng Lin, Winona State University CS 313 Introduction to Computer Networking & Telecommunication Network Security (A Very Brief Introduction)
Cryptography in.Net Chapters (O’Reilly book) CS 795.
AQA Computing A2 © Nelson Thornes 2009 Section Unit 3 Section 6.4: Internet Security Digital Signatures and Certificates.
Problems with symmetric (private-key) encryption 1) secure distribution of keys 2) large number of keys Solution to both problems: Public-key (asymmetric)
_______________________________________________________________________________________________________________ E-Commerce: Fundamentals and Applications1.
10/1/2015 9:38:06 AM1AIIS. OUTLINE Introduction Goals In Cryptography Secrete Key Cryptography Public Key Cryptograpgy Digital Signatures 2 10/1/2015.
RSA By: Abhishek Naik Viswanath Chennuru CPSC 624.
Encryption Coursepak little bit in chap 10 of reed.
Public-Key Cryptography CS110 Fall Conventional Encryption.
4 th lecture.  Message to be encrypted: HELLO  Key: XMCKL H E L L O message 7 (H) 4 (E) 11 (L) 11 (L) 14 (O) message + 23 (X) 12 (M) 2 (C) 10 (K) 11.
BASIC CRYPTOGRAPHIC CONCEPTS. Public Key Cryptography  Uses two keys for every simplex logical communication link.  Public key  Private key  The use.
Improving Encryption Algorithms Betty Huang Computer Systems Lab
Day 37 8: Network Security8-1. 8: Network Security8-2 Symmetric key cryptography symmetric key crypto: Bob and Alice share know same (symmetric) key:
Public-Key Encryption
Public Key Cryptography. symmetric key crypto requires sender, receiver know shared secret key Q: how to agree on key in first place (particularly if.
1 Public-Key Cryptography and Message Authentication.
Computer and Network Security Rabie A. Ramadan Lecture 6.
Cryptography and Network Security Chapter 9 - Public-Key Cryptography
Encryption. What is Encryption? Encryption is the process of converting plain text into cipher text, with the goal of making the text unreadable.
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
PUBLIC KEY CRYPTOGRAPHY ALGORITHM Concept and Example 1IT352 | Network Security |Najwa AlGhamdi.
Chapter 3 – Public Key Cryptography and RSA (A). Private-Key Cryptography traditional private/secret/single-key cryptography uses one key shared by both.
Security Using PGP - Prajakta Bahekar. Importance of Security is one of the most widely used network service on Computer Currently .
Public Key Algorithms Lesson Introduction ●Modular arithmetic ●RSA ●Diffie-Hellman.
PUBLIC-KEY CRYPTOGRAPHY AND RSA – Chapter 9 PUBLIC-KEY CRYPTOGRAPHY AND RSA – Chapter 9 Principles Applications Requirements RSA Algorithm Description.
Encryption Basics Module 7 Section 2. History of Encryption Secret - NSA National Security Agency –has powerful computers - break codes –monitors all.
Mort Anvari Introduction to Encryption Technology To insert your company logo on this slide From the Insert Menu Select “Picture” Locate your logo file.
Introduction to Cryptography Lecture 9. Public – Key Cryptosystems Each participant has a public key and a private key. It should be infeasible to determine.
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
1 Cryptography Troy Latchman Byungchil Kim. 2 Fundamentals We know that the medium we use to transmit data is insecure, e.g. can be sniffed. We know that.
Elgamal Public Key Encryption CSCI 5857: Encoding and Encryption.
Cryptographic Security Aveek Chakraborty CS5204 – Operating Systems1.
Prof. Reuven Aviv Tel Hai Academic College Department of Computer Science Public Key Cryptography and Message Authentication (Slides adopted from Stallings,
1 Public Key Cryptography. 2 Public Key Cryptography Agenda: Message authentication – authentication codes and hash functions Public key encryption –
K E Y Plain text Cipher text Encryption Decryption
Cryptography in .Net CS 795.
Asymmetric Cryptography
Analysis of the RSA Encryption Algorithm
Introduction to Cryptography
Presentation transcript:

DIGITAL SIGNATURE IMPLEMENTATION FINAL PROJECT PROPOSAL SHANTHAN MUDHASANI SHAIK SHANAWAZ

DIGITAL SIGNATURES A digital signature or digital signature scheme is a type of asymmetric cryptography. First described by Whitfield Diffie and Martin Hellman Provide a high level of assurance that the digital signature is genuinely the signer's For messages sent through an insecure channel, a properly implemented digital signature gives the receiver reason to believe the message was sent by the claimed sender. Digital signatures are equivalent to traditional handwritten signatures in many respects; properly implemented digital signatures are more difficult to forge than the handwritten type. Digital signature schemes in the sense used here are cryptographically based, and must be implemented properly to be effective. Digital signatures can also provide non-repudiation, meaning that the signer cannot successfully claim they did not sign a message, while also claiming their private key remains secret; further, some non-repudiation schemes offer a time stamp for the digital signature, so that even if the private key is exposed, the signature is valid nonetheless.

HOW IT WORKS Using special software, you obtain a message hash of the message. You then use a private key that you have to encrypt the hash. The encrypted hash becomes your digital signature of the message. At the other end To make sure it's intact and from you, your receiver makes a hash of the received message. Receiver then uses your public key to decrypt the message hash or summary. If the hashes match, the received message is valid. One method for creating a digital signature is for the originator of data to create the signature by encrypting all of the data with the originator's private key and enclosing the signature with the original data. Anyone with the originator's public key can decrypt the signature and compare the decrypted message to the original message. Because only someone with the private key can create the signature, the integrity of the message is verified when the decrypted message matches the original. If an intruder alters the original message during transit, the intruder cannot also create a new valid signature. If an intruder alters the signature during transit, the signature does not verify properly and is invalid.

MD5-Message Digest Algorithm We begin by supposing that we have a b-bit message as input,and that we wish to find its message digest Step 1. Append Padding Bits Step 2. Initialize MD Buffer Step 3. Process Message in 16-Word Blocks Step 4. Output For a message of length < 2^64 bits, the SHA-1 produces a 160-bit condensed representation of the message called a message digest. The message digest is used during generation of a signature for the message. The SHA-1 is also used to compute a message digest for the received version of the message during the process of verifying the signature. Any change to the message in transit will, with very high probability, result in a different message digest, and the signature will fail to verify. Step 1 : MESSAGE PADDING The SHA-1 is used to compute a message digest for a message or data file that is provided as input. The message or data file should be considered to be a bit string. The length of the message is the number of bits in the message (the empty message has length 0). If the number of bits in a message is a multiple of 8, for compactness we can represent the message in hex. The purpose of message padding is to make the total length of a padded message a multiple of 512. The SHA-1 sequentially processes blocks of 512 bits when computing the message digest. The following specifies how this padding shall be performed. As a summary, a "1" followed by m "0"s followed by a 64-bit integer are appended to the end of the message to produce a padded message of length 512 * n. The 64-bit integer is l, the length of the original message. The padded message is then processed by the SHA-1 as n 512-bit blocks. Suppose a message has length l < 264. Before it is input to the SHA-1, the message is padded on the right as follows: a. "1" is appended b. "0"s are appended. The number of "0"s will depend on the original length of the message. The last 64 bits of the last 512-bit block are reserved for the length l of the original message. c. c. Obtain the 2-word representation of l, the number of bits in the original message. If l < 232 then the first word is all zeroes. Append these two words to the padded message. 2. FUNCTIONS USED A sequence of logical functions f0, f1,..., f79 is used in the SHA-1. Each ft, 0 <= t <= 79, operates on three 32-bit words B, C, D and produces a 32-bit word as output. ft(B,C,D) is defined as follows: for words B, C, D, ft(B,C,D) = (B AND C) OR ((NOT B) AND D) ( 0 <= t <= 19) ft(B,C,D) = B XOR C XOR D (20 <= t <= 39) ft(B,C,D) = (B AND C) OR (B AND D) OR (C AND D) (40 <= t <= 59) ft(B,C,D) = B XOR C XOR D (60 <= t <= 79). 3. CONSTANTS USED A sequence of constant words K(0), K(1), ... , K(79) is used in the SHA-1. In hex these are given by K = 5A827999 ( 0 <= t <= 19) Kt = 6ED9EBA1 (20 <= t <= 39) Kt = 8F1BBCDC (40 <= t <= 59) Kt = CA62C1D6 (60 <= t <= 79). 4. COMPUTING THE MESSAGE DIGEST The message digest is computed using the final padded message. The computation uses two buffers, each consisting of five 32-bit words, and a sequence of eighty 32-bit words. The words of the first 5-word buffer are labeled A,B,C,D,E. The words of the second 5-word buffer are labeled H0, H1, H2, H3, H4. The words of the 80-word sequence are labeled W0, W1,..., W79. A single word buffer TEMP is also employed. To generate the message digest, the 16-word blocks M1, M2,..., Mnare processed in order. The processing of each Mi involves 80 steps.

RSA ALGORITHM Sender A does the following:- Obtains the recipient B's public key (n, e). Represents the plaintext message as a positive integer m Computes the cipher text c = m^e mod n. Sends the cipher text c to B. Recipient B does the following:- Uses his private key (n, d) to compute m = c^d mod n. Extracts the plaintext from the message representative m. In cryptography, RSA is an algorithm for public-key cryptography. It is the first algorithm known to be suitable for signing as well as encryption, and one of the first great advances in public key cryptography. The RSA algorithm is named after Ron Rivest, Adi Shamir and Len Adleman, who invented it in 1977 . The basic technique was first discovered in 1973 by Clifford Cocks of CESG (part of the British GCHQ) but this was a secret until 1997. RSA in a nutshell: Key generation: Select random prime numbers p and q, and check that p != q Compute modulus n = pq Compute x = (p - 1)(q - 1) Select public exponent e, 1 < e < x such that gcd(e, x = 1) Compute private exponent d = e - 1 mod x Public key is {n, e}, private key is d Encryption: c = me mod n, decryption: m = cd mod n Digital signature: s = H(m)d mod n, verification: m' = se mod n, if m' = H(m) signature is correct. H is a publicly known hash function.

KEY GENERATION Select random prime numbers p and q, and check that p != q Compute modulus n = pq Compute phi = (p - 1)(q - 1) Select public exponent e, 1 < e < phi such that gcd(e,phi) = 1 Compute private exponent d = e - 1 mod phi Public key is {n, e}, private key is (n,d) Encryption: c = m^e mod n, decryption: m = c^d mod n

SYSTEM REQUIREMENTS LED’S BUTTONS SWITCHES KEYBOARD MONITOR MESSAGE SENT MESSAGE RECEIVED BUTTONS PRINT OUTPUT CURSOR CONTROL MESSAGE DISPLAY SWITCHES RESET ERROR INSERT ENABLE KEYBOARD USER INPUT MONITOR TO DSPLAT THE OUTPUT This program uses all the simple I/O available on the board : switch for RESET ; 3 buttons to move the cursor and to display the output on the monitor ; and the LEDs to display the message sent and the message received. It also uses the keyboard and VGA interfacing for user input and for displaying the output.

BLOCK DIAGRAM We designed this for an 8-bit input. The Message Digest Function first pads in to 512 bits and then condenses it to 160 bits using the MD5 algorithm.The condensed message is then encrypted using the RSA algorithm and a signature is created. Both the Message and the Signature are transmitted to the receiver.The receiver decrypts the signature (using RSA algorithm) and compares it with the digested message.

BLOCK DIAGRAM This block diagram is created using the HDL Detective

PRE-SYNTHESIS SIMULTION

LAYOUT Xilinx Floorplan