Download presentation
1
DIGITAL SIGNATURE IMPLEMENTATION
FINAL PROJECT PROPOSAL SHANTHAN MUDHASANI SHAIK SHANAWAZ
2
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.
3
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.
4
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 = 5A ( 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.
5
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 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.
6
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
7
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.
8
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.
9
BLOCK DIAGRAM This block diagram is created using the HDL Detective
10
PRE-SYNTHESIS SIMULTION
11
LAYOUT Xilinx Floorplan
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.