Skip to content

gboucett/libcrypto42

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

115 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

libcrypto42

Badge workflow

Description

This is a small library designed to work with the 42 projects that would need to use some cryptographic functions.

Dependencies

  • make (version 4.3 or greater)
  • gcc (version 13.1.1 or greater)
  • The bundled libft (another library that I created in the context of 42)
  • libm

And the following libraries (to build and run tests):

  • Google test which is declared as a submodule of this repos (it will be pulled and built by the Makefile)
  • openssl itself to use its library

How to use it

$ make # compile only libcrypto42
$ make check # run tests

To compile an executable using this library, you need to add the following libraries:

  • libcrypto42.a (-L<path to libcrypto42> -lcrypto42)
  • libft.a (-L<path to libft> -lft)
  • The system math library (-lm)

Progress

  • MD5
  • SHA2 suite (sha224, sha256, sha384, sha512, sha512/224, sha512/256)
  • SHA3 suite
  • PBKDF
  • HMAC
  • DES
  • AES
    • AES128
    • AES192
    • AES256
  • 3DES (EDE only)
    • 2 Keys option
    • 3 Keys option
  • Operation modes for symmetric encryption
    • ECB
    • CBC
    • CFB
    • OFB
    • CTR
  • Base64
  • Use of the Kernel CSPRNG

About

A small library coded in C which gives some functions about cryptography. This lib has been coded for learning purposes and should not be used in security critical environments.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors