Skip to content

This project provides a Java implementation of AES (Advanced Encryption Standard) encryption algorithm. AES is a symmetric key encryption algorithm widely used for securing sensitive data.

License

Notifications You must be signed in to change notification settings

Nelson-PROIA/network-security-aes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AES Encryption Algorithm Implementation

This project provides a Java implementation of AES (Advanced Encryption Standard) encryption algorithm. AES is a symmetric key encryption algorithm widely used for securing sensitive data.

Overview

The project consists of several classes:

  • AES: Implements the AES encryption algorithm, including methods for encryption and decryption, as well as definitions for S-box, inverse S-box, mix matrix, and inverse mix matrix.
  • Block: Represents a block of binary data and provides methods for various operations like XOR, left shift, modular multiplication, and segment extraction.
  • Key: Represents a cryptographic key for AES encryption, supporting key expansion and sub-key generation.
  • SBox: Represents an S-box (Substitution-box) used in AES encryption, providing a method for applying the S-box transformation to a block.
  • State: Represents the state in the AES encryption process, providing methods for creating, manipulating, and converting the state.

Usage

To use the AES encryption algorithm:

  1. Create an instance of the AES class with a key represented by a Block.
  2. Use the cipher method to encrypt plain text and the decipher method to decrypt cipher text.

Example:

String plain="0110111101101011";
String key="0010110101010101";

Block plainBlock=new Block(plain);
Block keyBlock=new Block(key);

AES aes=new AES(keyBlock);

Block cipherBlock=aes.cipher(plainBlock);
Block decipherBlock=aes.decipher(cipherBlock);

System.out.println("Plain: "+plainBlock);
System.out.println("Cipher: "+cipherBlock);
System.out.println("Decipher: "+decipherBlock);

Contributors

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

This project provides a Java implementation of AES (Advanced Encryption Standard) encryption algorithm. AES is a symmetric key encryption algorithm widely used for securing sensitive data.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages