Skip to content

The repository hosts an ongoing project dedicated to the development of an implementation for the Advanced Encryption Standard (AES) 128-bit block cipher in UART communication. Please be advised that this project is currently in progress and subject to updates.

Notifications You must be signed in to change notification settings

Muslim-314/AES_over_UART

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 

Repository files navigation

AES-128 in UART

The repo contains an implementation of Advanced Encryption Standard 128-bit block cipher in UART for serial communication.

Selection

  • UART for serial communication
  • AXI Stream Interface for UART
  • Encryption for secure transmission
    • AES encryption module
    • AES deception module
  • Cyclic Redundancy Check (CRC-16) for data validation

Encryption Module

Takes 128Bit text input and generate cipher text of the same length

Tx State Machine

image1

State hold EnTx tx_start PISO_reset en_crc PISO_load EN_UDR Next State
RESET 1 0 0 1 1 0 0 start ? LOAD : IDEL
LOAD 1 0 0 0 1 1 0 LoadByteToUDR
LoadByteToUDR 0 1 0 0 1 0 1 START_UART_Tx
START_UART_Tx 1 1 1 0 1 0 1 WAIT_DONE
WAIT_DONE 1 1 0 0 1 0 1 Done ? CHECK_EMPTY : WAIT_DONE
CHECK_EMPTY 1 0 0 0 1 0 0 PISO_empty ? IDEL : LoadByteToUDR
IDEL 1 0 0 1 1 0 0 start ? LOAD : IDEL
default - - - - - - - RESET

.

Complete Transmitter Core

image

About

The repository hosts an ongoing project dedicated to the development of an implementation for the Advanced Encryption Standard (AES) 128-bit block cipher in UART communication. Please be advised that this project is currently in progress and subject to updates.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published