Category: Cryptography

Extended Euclidean algorithm Implementation

The extended Euclidean algorithm is an extension to the Euclidean algorithm, which computes, besides the greatest common divisor of integers a and b, the coefficients of Bézout’s identity, that is integers x and y such that ax + by = gcd(a,b)  

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.   The Chinese remainder theorem is a theorem which gives a unique solution to simultaneous linear congruences with coprime moduli. In its basic form, the Chinese remainder theorem will determine a number p that, when divided by some …

Vigenère Cipher Implementation

The Vigenère cipher is a form of polyalphabetic substitution to encrypt alphabetic text by using a keyword. The Vigenère cipher is easy to understand and implement. It consists of several Caesar ciphers in sequence with different shift values.  

Euclid’s Algorithm to find GCD of two numbers

The Euclid’s algorithm (or Euclidean Algorithm) is a method for efficiently finding the greatest common divisor (GCD) of two numbers. The GCD of two integers X and Y is the largest number that divides both of X and Y (without leaving a remainder).