Symmetric encryption or symmetric key or single-key encryption is an encryption system which the encryption and the decryption processes are preforms using the same key.
Symmetric Encryption Model: Plaintext (P) The original message or data, the plaintext is an input to the encryption algorithm. Encryption algorithm (E) This algorithm preforms various substitution and transposition on the plaintext and produces the ciphertext. Ciphertext (C) Is the output produced by the encryption algorithm , the ciphertext is scrambled message and it is appears like a random stream of data.

As we mentioned earlier, the basic of all encryption techniques are based on 2 techniques Substitution and Transposition and we can also use a combination of both of them.
Substitution Encryption techniques Substitution is an encryption technique which elements in the plaintext are replaced or mapped with another elements.
There are many types of the substitution techniques such as Monoalphabetic Cipher and Polyalphabetic Cipher
Monoalphabetic Cipher We will drive an example of monoalphabetic cipher called (Caesar cipher) Caesar Cipher :

RSA is a block cipher, the block size must be less than or equal \(\log_{2}(n)+1\), if block size =i bits \(2^{i}<n<2^{i}+1\)
The encryption and decryption are on the following form \(C = M^{e} mod(n)\)
\(M = C^{d} mod(n) = (M^{e})^d mod(n) = M^{ed} mod(n)\)
The relationship between e and d are multiplicative inverse modulo Q(n) as in Euler Totient Function ed mod(Q(n))=1 which d is relatively prime to Q(n) and e also.

Diffie-Hellman is a key exchange algorithm based on public key cryptography written by Diffie and Hellman
Diffie-Hellman Algorithm First we have to know the concept “Primitive root of a prime number” ,a primitive root x of a prime number p means : \(x \ mod(p), x^{2} mod(p), x^{3} mod(p),…, x^{p-1}mod(p)\) generates numbers from 1 to p-1.
In Diffie-Hellman algorithm there are two numbers
1- Prime number \(q\).
2- Primitive root of \(q = a\).

Elgamal cryptographic system is a public-key algorithm based on discrete logarithm.
Elgamal cryptographic system is used in digital signature standard (DSS).
Elgamal Cryptographic algorithm There are prime number q and primitive root of \(q = a\).
User A want to generate private and public keys as the following:
1- Generate a random integer \({X}_ {a}\) such that 1 < \({X}_{a}\) < \(q-1\).
2- Compute \({Y}_{a}=a^{{X}_{a}} mod(q)\).
\({X}_{a}\) is A’s private key and (q,a,\({Y}_{a}\)) is A’s public key.

Elliptic curve is an equation with two variables and coefficients and it is a cubic equation like the following form:
\(y^{2}+axy+by=x^{3}+cx^{2}+dx+e\)
\(y^{2}=x^{3}\)
Let’s plot \(y^{2}=x^{3}+ax+b\) with set of points E(a,b) = E(1,1)
Addition Over Elliptic curve First we have element called O (zero point or point of infinity) and we have a rule in geometric tearm “If 3 points on an elliptic curve lie on a straight line, their sum is O.