International Journal of Emerging Technology and Advanced Engineering
Website: www.ijetae.com (ISSN 2250-2459,ISO 9001:2008 Certified Journal, Volume 3, Issue 3, March 2013)
300
Message Security Through Digital Signature Generation and
Message Digest Algorithm
Sreekanth Anyapu
1, G. Aparna
2, R. Manognya
3,
D. Ravi Kumar
41
Asst.Prof, IT Dept., LENDI, Jonnada, Vizianagaram. A.P- 535002.
2, 3, 4 IT Dept, LENDI, Jonnada, Vizianagaram. A.P-535002.
Abstract-- It is common now a day to communicate through messages. The sending and receiving message with in a network is not more secure as our data can be accessed by everyone within that network. In order to provide security to the data most commonly we are using the RSA algorithm, but there are as many as drawbacks as the advantages for the RSA algorithm. For extending the security of messages we are now using the “Message-Digest”, “DSA” and PRNG (Pseudo code Random Generator) algorithms.
The message Security is designed to provide security by combining the concept of both the Digital Signature and Asymmetric key (Public key) Cryptography. Here the Public key is send instead of Private Key. The Message security uses Message Digest Algorithm to compress the Message (text file) and PRNG (Pseudo Random Number Generator) Algorithm for generating Public and Private Key. The message combines with the Private Key to form a signature using DSA Algorithm, which is send along with the Public key.
The receiver uses the Public key and DSA Algorithm to form a Signature. If this Signature matches with the Signature of the Message received, the message is Decrypted and read else discarded.
Keywords-- PRNG, DSA, MD5.
I. INTRODUCTION
Authentication is based on the identity of some system. This system in the network has to prove that it is genuine. In many Network applications the identity of participating entities is simply determined by their names or addresses. Many of the applications mainly High level applications use mainly names for authentication purposes, because address lists are much harder to create, understand, and maintain than name lists.
Let us consider an entity wants to spoof the identity of some other entity, it is enough to change the mapping between its low level address and its high level name. It means that an attacker can fake the name of someone by modifying the association of his address from his own name to the name he wants to impersonate. Once an attacker has done that, an authenticator can no longer distinguish between the true and fake entity. In-order to provide the security to the messages in the network we are proposing the system which is combining the concept of DSA (digital signature generation algorithm, MD5 (Message digest algorithm) and PRNG (Pseudo Code Random Generator) algorithms. These algorithms are the most efficient algorithms they can be used individually to provide the message security in the network but by combining these we can get more security to the messages in the internet.
II. ALGORITHMS
2.1 MESSAGE DIGEST:
Message digest algorithms have much in common with techniques used in encryption, Main Goal: verification that data have not been altered since the signature was published also have something in common with 16 or 32 bit cyclical redundancy codes (CRC) originally developed to verify correct transmission in data communication protocols, but are insufficiently secure for modern day applications.
International Journal of Emerging Technology and Advanced Engineering
Website: www.ijetae.com (ISSN 2250-2459,ISO 9001:2008 Certified Journal, Volume 3, Issue 3, March 2013)
[image:2.612.85.253.120.387.2]301
Fig 2.1: working of message digest algorithmThe algorithm, with a reference implementation, was published as Internet RFC 1321 in April 1992, and was placed into the public domain at that time.
MD5 is an algorithm which:
Takes an input of any length, outputs a message digest of a fixed length (128-bit, 32 characters) .MD5 uses the same algorithm every time. Hence it will always generate the same message digest for the same string (data).
2.2 OPERATIONS OF MESSAGE DIGEST ALGORITHM:
F(X,Y,Z) = XY v not(X) Z
G(X,Y,Z) = XZ v Y not(Z)
H(X,Y,Z) = X xor Y xor Z
I(X,Y,Z) = Y xor (X v not(Z))
Here OR, AND, XOR, NOT are the operation which are done in the MD5 for compressing the data. Takes a bunch of characters (digits, alphabetic or other) the input string changes them to a 32 character long bunch of characters, called the message digest or the hash of the inputted string. Hash made up from only hexadecimal characters.
Whatever the length of the inputted string, MD5 will always create something which is 32 characters long. There are three kinds of operations in MD5: Bitwise Boolean Operation, Modular Addition, and Cyclic Shift Operation.
Properties of message-digest algorithm:
When people plan to design a message-digest algorithm, they try to make the algorithm satisfy the following properties: It should be one-way. Given the message digest, it is hard to get the original message.
Given both input and output, it is difficult to find another input message which generates same output. It should be collision-resistant. It is computationally infeasible to find two messages, which generates same message digest. The message digest should satisfy pseudo-randomness.
2.3 DIGITAL SIGNATURE
Digital Signatures are based on Public Key Technology that uses asymmetric cryptography. Each person's identity is related to a key pair - a private key and a public key. These keys are nothing but mathematical codes. During the signing, once the user initiates the process, a mathematical code is generated with the help of an algorithm and, the digital contents. The code generated, known as the 'message digest', is unique for each process and content. The individual's private key is now used to encrypt this code. This is termed as the 'Digital Signature'.
III. WORKING
3.1 Digital Signature Signing:
During the signing, once the user initiates the process, a mathematical code is generated with the help of an algorithm and, the digital contents. The code generated, known as the 'message digest', is unique for each process and content. The individual's private key is now used to encrypt this code. This is termed as the 'Digital Signature'. Since the private key of a person is involved, the 'Digital Signature' is unique to that individual. This establishes the identity of the signer. This signature is then bound to the message and sent along with the document or the transaction. The public key of the individual is also sent.
Let ‘m’ be the hashing function and the message:
Generate a random per-message
value where
Calculate
In the unlikely case that , start again with a different random
Calculate
In the unlikely case that , start again with a different random
International Journal of Emerging Technology and Advanced Engineering
Website: www.ijetae.com (ISSN 2250-2459,ISO 9001:2008 Certified Journal, Volume 3, Issue 3, March 2013)
302
The first two steps amount to creating a new per-message key. The modular exponentiation here is the most computationally expensive part of the signing operation, and it may be computed before the message hash is known.The modular inverse is the second most
expensive part, and it may also be computed before the message hash is known. It may be computed using the extended Euclidean algorithm or using
[image:3.612.334.554.176.283.2]Fermat's-little-theory as .
Fig 2.2: Signature Generation steps
Fig 2.3: Digital signature example
Digital Signature Verification:
When an individual receives a signed document or transaction, he will initiate the verification process. The public key of the sender is used to decrypt the digital signature and retrieve the message digest. The hash algorithm is applied again to the digital contents to generate another message digest. These two message digests are compared and if they match verification is successful.
If there were any changes in the digital contents the resultant message digest would differ from the original one and the verification would fail.
Reject the signature
if or is not satisfied.
Calculate
Calculate
Calculate
Calculate
The signature is valid if
3.2 PESUDO CODE RANDOM NUMBER GENERATOR: A pseudorandom number generator (PRNG), also known as a deterministic random bit generator (DRBG), is an algorithm for generating a sequence of numbers that approximates the properties of random numbers. The sequence is not truly random in that it is completely determined by a relatively small set of initial values, called the PRNG's state, which includes a truly random seed. Although sequences that are closer to truly random can be generated using hardware random number generators, pseudorandom numbers are important in practice for their speed in number generation and their reproducibility, and they are thus central in applications such as simulations (e.g., of physical systems with the Monte Carlo method), in cryptography, and in procedural generation. Good statistical properties are a central requirement for the output of a PRNG, and common classes of suitable algorithms include linear congruential generators, lagged Fibonacci
generators, and linear feedback shift registers.
[image:3.612.53.267.215.595.2]International Journal of Emerging Technology and Advanced Engineering
Website: www.ijetae.com (ISSN 2250-2459,ISO 9001:2008 Certified Journal, Volume 3, Issue 3, March 2013)
303
For example, an efficiency consultant might model retail operations, by designing a system that, for example, anticipates an average of 100 unique customers a day during the course of a week, using a nonrandom string with a period of 1.0 x 1010. The numbers leading up to the 1.0 x 1010 number in the sequence will appear random.IV. APPLICATIONS
4.1 DIGITAL SIGANTURE:
1. Authentication:
Although messages may usually include information regarding the sender that information is not always precise. Digital signatures are used to authenticate the source of the message. When a proprietor of a secret key for a digital signature is linked to a specific user, a valid signature shows that the message was sent by that specific user. The importance of high confidence regarding authenticity of the message sender is reinforced specially in a financial context.
2. Integrity:
When both the sender and recipient of a message need to be assured that the communication has remained unaltered during delivery, this benefit becomes crucial. Although encryption hides the contents of the message, it is possible to change the encryption of a message without understanding it (some algorithms prevent this, others don’t). Nevertheless, if a message is digitally signed any alteration thereafter would turn the signature invalid. Even more, there aren’t any efficient ways of modifying a message and its signature to produce a new one with a valid signature, since this is considered computationally impossible by many cryptographic functions, known as Hash.
4.2 MESSAGE DIGEST ALGORITHM (MD5):
MD5 is widely used as cryptographic hash function. As an internet standard RFC1321, MD5 has been employed in wide variety of security applications, commonly used to check the integrity of files.
4.3 PSEUDO CODE RANDOM GENERATOR (PRNG):
The major advantage of using PRNGs is the cost of implementing the algorithm: the basic mathematical formula of the algorithm can be translated into relatively simple bits of code in C or any of a number of programming languages. Other advantages include the speed and the ability to replicate results if necessary, by simply re-entering the seed and the algorithm.
4.4 IMPLEMENTATION
In the proposed system we are using the MD5, DSA and PRNG algorithms. Whenever the sender sends the message to the receiver in the network the message is not secure as there is the probability of others watching our message. In-order to provide the security we are using different algorithms to provide security. When the user sends the message the message will be Digested and the size of the message will be reduced by using the MD5 algorithm ,then the message in the network will be in encrypted form which cannot be understand by the others. The Digital signature is generated by taking two different inputs, the signature will be unique for the different sets of inputs.
We will use the PRNG algorithm in order to provide produce the pair of keys which will use as the public and private keys. The public and private keys are used to encrypt and decrypt the message. The message will be decrypted when we given the Signature public key and sender name in addition with the receiver name accurately.
V. SAMPLE OUTPUTS
[image:4.612.348.537.373.710.2]Fig 4.1: Sender login
International Journal of Emerging Technology and Advanced Engineering
Website: www.ijetae.com (ISSN 2250-2459,ISO 9001:2008 Certified Journal, Volume 3, Issue 3, March 2013)
[image:5.612.75.561.127.695.2]304
Fig 4.3: Verification at the server [image:5.612.364.530.128.373.2]Fig 4.4: Verifying at the domain2
Fig 4.5: Receiver receiving the message
VI. CONCLUSION
The goal of our system is to provide security for the message from the third party. So we are using the Digital signature, PRNG (Pseudo Random Number Generator), Message Digest algorithms for encryption of the message and sending to the receiver.
REFERENCES
[1 ] Computer Networks 5th Edition by Andrew S. Tanenbaum.
[2 ] Handbook of Security, Cryptography And Digital Signature by
S. M.Bhaskar, P Ramachandran
[3 ] http://searchsecurity.techtarget.com/definition/RSA.
[4 ] http://en.wikibooks.org/wiki/Cryptography/RSA
[5 ] http://en.wikipedia.org/wiki/ Digital_Signature_Algorithm.
[6 ] http://www.cgi.com/files/whitepapers/cgi_whpr_35_pki_e.pdf.
[7 ] http://www.library.yale.edu/iac/DPC/AN_DPC_FixityChecksFinal1
1.pdf.
[8 ] http://airccse.org/journal/ijcis/papers/2112ijcis01.pdf
[9 ] http://research.ijcaonline.org/volume38/number5/pxc3876809.pdf.
[10 ] http://cran.rproject.org/web/packages/randtoolbox/vignettes/fullpres. pdf
[11 ] http://en.wikipedia.org/wiki/MD5
[12 ] http://en.wikipedia.org/wiki/Pseudorandom_number_generator [13 ] http://www.cs.colostate.edu/~massey/pubs/conf/massey_discex01.
[image:5.612.75.260.146.676.2]