Skip to content

august295/EnDeCode

Repository files navigation

[TOC]

密码学

实现一些常见的加密算法。

1. 环境

  • Visual Studio 2022
  • CMake3.15
  • vcpkg

2. 下载及编译

使用 GoogleTest 作为测试工具,所以需要下载 submodule

git clone --recursive https://github.com/august295/EnDeCode.git

工程使用 CMake 构建。运行以 test 作为启动项即可,其他编译生成动态库。

对于非对称密码算法通常需要使用大数计算,所以采用 gmp 三方库进行大数计算。

2.1. Windows

Windows 上使用 vcpkg + cmake 导入 gmp

2.1.1. Visual Studio 2022

生成单个动态库

-D"BUILD_SINGLE_LIBRARY=ON"

使用 vcpkg

-D"BUILD_VCPKG=ON"

生成测试工程

-D"BUILD_TEST=ON"
cmake -B"build" -G"Visual Studio 17 2022" -D"BUILD_TEST=ON"

cmake -B"build_single" -G"Visual Studio 17 2022" -D"BUILD_SINGLE_LIBRARY=ON" -D"BUILD_TEST=ON"

3. 分类

3.1. 密码

3.1.1. 对称密码算法(Symmetric-key Algorithm)

  • A5-1
  • RC4
  • SNOW_3GPP
  • ZUC
  • DES
  • AES
  • SM4

3.1.2. 非对称密码算法(Asymmetric-key Algorithm)

  • RSA
  • ECC
  • SM2
  • SM9

3.1.3. 摘要算法(Digest Algorithm)

  • MD5
  • SHA1
  • SHA2(SHA2_256)
  • SHA3(SHA3_256)
  • SM3

3.1.4. 未分类(Unknown Algorithm)

  • BASE64
  • CRC

3.2. 证书

  • ASN1
  • X509

About

C/C++ 常见加密解密

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published