Report
Report
Report
So within this project We will Develop a real-time secure chat application from
scratch like Whats-App with end-to-end encryption. The project will cover:
Intrinsic Socket Programming
Real-Time System
End-to-end Encryption
1) An initial Permutation (IP) function is used with the 64-bit plain text.
3) The initial permutation (IP) then produces the Left Plain Text and Right Plain Text, which are
the two parts of the permuted block.
4) There are now 16 rounds of encryption for both the right and left sides.
RSA – (Rivest-Shamir-Adleman):
R.S.A algorithm is asymmetric cryptography algorithm. Asymmetric actually
means that it works on two different keys i.e., Public Key and Private Key. As the
name describes that the Public Key is given to everyone and Private key is kept
private.
Let’s discuss the algorithm steps:
1) Key generation:
1.1) Choose two prime numbers p and q
1.2) Calculate n=p*q
1.3) Calculate φn=( p−1)(q−1)
1.4) Select an integer where 1<e< φn and GCD (e, φn )=1 and they co
primes (public key with n)
1.5) d=e−1 (mod φn) where d is modular multiplicative inverse of e mod φn
(private key with n)
2) Encryption:
Turn the message into cipher text by using modular exponentiation
C=me (mod n)
3) Decryption:
Turn the cipher text back into plain text by using private key exponent
m=c d (mod n)
4)
El Gamal Cryptography:
The Diffie-Hellman key exchange serves as the foundation for the El-Gamal encryption system,
an asymmetric key encryption mechanism in public-key cryptography. It was initially described
by Taher Elgamal in 1985. ElGamal encryption is used in the most recent PGP versions, the free
GNU Privacy Guard program, and other cryptograms.
6) Encryption:
Turn the message into two different ciphertext (C1,C2) by using M as
a pair of integers where
• C1 = ak mod q ; C2 = KM mod q
7) Decryption:
Changing the cipher key(C1, C2) to plain text by finding the
recovering key where
recovering key K as K = C1xA mod q
Then using the key to get the plain text M
computing M as M = C2 K-1 mod q
ElGamal Cryptography run:
Lecture12.pdf (purdue.edu)
http://paper.ijcsns.org/07_2013/20130702.pdf