Cryptography | DES implementation in C

The Data Encryption Standard (DES) is a symmetric-key algorithm for the encryption of electronic data. Although now considered insecure, it was highly influential in the advancement of modern cryptography.

ElGamal Encryption Algorithm Program in C

The ElGamal encryption is a symmetric key encryption algorithm for private-key cryptography which is based on the public key exchange and provides an additional layer of security by asymmetrically encrypting keys previously used for asymmetric message encryption. It can be defined over any cyclic group G. Its security depends upon the difficulty of a certain …

Hill Cipher Implementation

The Hill cipher is a polygraphic substitution cipher based on linear algebra. It was the first polygraphic cipher in which it was practical to operate on more than three symbols at once.

Playfair Cipher Implementation in C

The Playfair cipher is a manual symmetric encryption technique and was the first literal digram substitution cipher. The technique encrypts pairs of letters, instead of single letters as in the simple substitution cipher and rather more complex Vigenère cipher systems then in use. The Playfair is thus significantly harder to break since the frequency analysis …

Rabin Cryptosystem Technique Implementation in C

The Rabin cryptosystem is an asymmetric cryptographic technique, whose security, like that of RSA, is related to the difficulty of factorization. However the Rabin cryptosystem has the advantage that the problem on which it relies has been proved to be as hard as integer factorization, which is not currently known to be true of the …

RSA Algorithm Implementation in C

RSA is an asymmetric cryptographic algorithm used by modern computers to encrypt and decrypt messages. Asymmetric means that there are two different keys. This is also called public key cryptography, because one of the keys can be given to anyone. The other key must be kept private.

Program to find generators of cyclic group

Write a C/C++ program to find generators of cyclic group.   A cyclic group is a group that is generated by a single element. That means that there exists an element g, say, such that every other element of the group can be written as a power of g. This element g is the generator …

Chinese Remainder Theorem

Write a C/C++ program to solve given simultaneous pairs of Linear Congruence Equations using Chinese remainder theorem.