Skip to content

tpf-concurrent-benchmarks/aes_go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AES in Go

Objective

This is a Go implementation of the Advanced Encryption Standard (AES).

The objective of this project is to analyze the concurrent capabilities of Go, under various workloads, and to compare the performance between different languages.

Deployment

Requirements

  • Docker
  • Go (optional, for running tests locally)

The project is containerized, so you don't need to have Go installed on your machine.

Configuration

The configuration is done through the src/.env file (This file is built into the container). The following variables are available:

  • CORES: Number of threads to be used in the encryption process
  • REPEAT: Number of times the encryption/decryption process will be repeated
  • PLAIN_TEXT: Path to the file with the data to be encrypted
  • ENCRYPTED_TEXT: Path to the file where the encrypted data will be stored
  • DECRYPTED_TEXT: Path to the file where the decrypted data will be stored

Having a PLAIN_TEXT and ENCRYPTED_TEXT will mean encrypting the data, while having a ENCRYPTED_TEXT and DECRYPTED_TEXT will mean decrypting the data. Having all three will mean encrypting and decrypting the data.

Commands

Setup

  • make setup: Creates needed directories and builds the image with the binary
  • make dummy_file: Creates a dummy with data to be encrypted

Run

  • make deploy: Runs the binary and monitoring system in docker
  • make remove: Stops and removes the containers and the image
  • make logs: Shows the logs of the running container

Tests

To run the tests:

cd src
go test ./...

Libraries

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published