Skip to content

balaji345-max/Cryptosystems

Repository files navigation

Blockciphers_cryptography

A Block cipher is a symmetric cryptographic algorithm consisting of two paired functions: 1. Encryption Function (E): Converts plaintext into ciphertext. 2. Decryption Function (D): Converts ciphertext back into plaintext.

Core Concepts: • Input Block: Fixed size n -bit block of plaintext ( P ). • Key: A secret key K of size k -bits that controls the encryption and decryption processes. • Output Block: An n -bit block of ciphertext ( C ).

The encryption function is represented as:

E_K(P) = E(K, P): {0,1}^k × {0,1}^n → {0,1}^n

Here, E_K(P) maps a plaintext block P and key K to a ciphertext block C .

The decryption function is the inverse of encryption:

E_K^{-1}(C) = D_K(C) = D(K, C): {0,1}^k × {0,1}^n → {0,1}^n

Decryption satisfies the property:

D_K(E_K(P)) = P

for all plaintexts P .

Properties: • Each key K defines a unique permutation (bijection) over the set of 2^n -bit blocks. • The set of all possible permutations is (2^n)! , but the key space is limited by k , allowing 2^k permutations.

Releases

No releases published

Packages

No packages published