Skip to content

Latest commit

Β 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Crypto Library

Introduction

This project implements core cryptographic primitives from scratch in C++ for educational purposes, with a focus on understanding the underlying mathematical and algorithmic foundations of cryptography.

Current implementations

Hash: MD5, SHA1, SHA256, SHA384, SHA256.
AES: ECB, CBC.

Project Structure

crypto-lib/
β”œβ”€β”€ build
β”œβ”€β”€ include
β”‚Β Β  └── crypto
β”‚Β Β      β”œβ”€β”€ aes
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ aes.hpp
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ cbc.hpp
β”‚Β Β      β”‚Β Β  └── ecb.hpp
β”‚Β Β      β”œβ”€β”€ hash
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ md5.hpp
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ sha1.hpp
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ sha256.hpp
β”‚Β Β      β”‚Β Β  β”œβ”€β”€ sha384.hpp
β”‚Β Β      β”‚Β Β  └── sha512.hpp
β”‚Β Β      └── internal
β”‚Β Β          └── bitops.hpp
β”œβ”€β”€ src
β”‚Β Β  β”œβ”€β”€ aes
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ aes.cpp
β”‚Β Β  β”‚Β Β  β”œβ”€β”€ cbc.cpp
β”‚Β Β  β”‚Β Β  └── ecb.cpp
β”‚Β Β  └── hash
β”‚Β Β      β”œβ”€β”€ md5.cpp
β”‚Β Β      β”œβ”€β”€ sha1.cpp
β”‚Β Β      β”œβ”€β”€ sha256.cpp
β”‚Β Β      β”œβ”€β”€ sha384.cpp
β”‚Β Β      └── sha512.cpp
└── tests
    β”œβ”€β”€ aes
    β”‚Β Β  └── tests_aes.cpp
    β”œβ”€β”€ hash
    β”‚Β Β  └── tests_hash.cpp
    β”œβ”€β”€ tests_main.cpp
    └── test_utils.hpp

About

Cryptography library in C++

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages