登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
模力方舟
AI 队友
登录
注册
Gitee 2025年度个人数据报告已发布,快来看看你的成长👉
代码拉取完成,页面将自动刷新
开源项目
>
程序开发
>
安全开发相关
&&
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
76
Star
320
Fork
67
CnPack
/
CnPack密码算法库
代码
Issues
0
Pull Requests
0
Wiki
统计
流水线
服务
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
SBOM
我知道了,不再自动展开
标签
标签名
描述
提交信息
操作
CNCRYPTO_20260101
## 20260101版本更新内容 * 增加DLL输出函数封装机制供其他语言调用。 * 增加历法单元CnCalender。 * RSA签名增加SHA512的支持,ECC增加几根新曲线OID的支持。 * 更改Buffer系列函数的语义以符合Delphi常规风格。 ## 概述 CnPack 密码算法库(CnPack Crypto Library)源于 CnPack 开发组的开源项目 CnVcl 组件包(CnVcl Component Package),是一套以纯 Object Pascal 语言编写的开源加解密源码库,支持 Delphi 5 至最新版本的 RAD Studio,支持 C++Builder 5/6 及 Lazarus/FPC,并支持 32 位与 64 位的 Windows、MacOS、Linux 等操作系统。 CnPack 密码算法库致力于提供强大的加解密算法支持与数据安全保障。它覆盖了国内外常见的加解密算法及中国国家商用密码算法,包括对称加密、非对称加密、杂凑(或名散列、摘要、哈希)等大类算法、部分抗量子算法及众多其他基础与辅助功能。 ## 许可协议 CnPack 开发包以开放源码(Open Source)的形式发布,遵守 CnPack 的许可协议,受 CnPack 许可协议的保护。License 文件中有该协议的详细描述,具体内容可参考协议文件。 ## 主要内容 - **对称加密**:SM4、AES、DES、3DES、RC4、ChaCha20、TEA、ZUC - **非对称加密**:RSA、ECC 椭圆曲线(魏尔斯特拉斯曲线,包括 SM2)、25519/448 椭圆曲线(蒙哥马利及扭曲爱德华曲线) - **杂凑**:SM3、MD5、SHA1、SHA2/SHA3/BLAKE 系列(224、256、384、512)SHAKE、BLAKE2(2S/2B)、XXHash(32/64)、CRC8/16/32/64、Poly1305、FNV、一次性杂凑签名算法 OTS - **其他密码学领域**:SM9、同态加密、协同加密、格密码、NTRU - **编码解码**:Base64、ASN.1(DER/BER)、Hamming 校验、Reed Solomon 纠错 - **CA证书**:RSA/ECC 证书申请、签发与校验 - **大数支持**:大整数、大有理数、大浮点数、一元大数多项式、二元大数多项式、一元大有理数分式 - **运算支持**:素数运算与判定、浮点复数运算、位运算、矩阵运算、离散傅立叶变换、128 位整型支持 - **数论计算**:中国剩余定理、Lucas 序列、PollardRho 因数分解、模素数二次剩余、勒让德/雅可比符号 - **抗量子计算**:基于模块化格的密钥封装机制 MLKEM、基于模块化格的数字签名算法 MLDSA - **其他**:DSA 签名验证、关联数据认证加密 AEAD、动态口令 OTP、密钥派生 KDF、秘密共享的 Shamir 门限方案及 Feldman VSS 方案、历法计算 ## 国密支持 CnPack 密码算法库对中国国家商用密码算法标准有着完整而强大的支持: - **SM2**:GM/T 0003.x-2012《SM2椭圆曲线公钥密码算法》,1~5 - **SM3**:GM/T 0004-2012《SM3密码杂凑算法》 - **SM4**:GM/T 0002-2012《SM4分组密码算法》 - **SM9**:GM/T 0044-2016《SM9 标识密码算法》 - **ZUC**:GM/T 0001.x-2012《祖冲之序列密码算法》,1~3 另外也包括 **OTP**:《GB/T 38556-2020 信息安全技术动态口令密码应用技术规范》。 ## 安装与使用 ### 获取源码 有两种途径可获取最新版的 CnPack 密码算法库。第一种途径是 CnPack 网站上下载或 gitee 上直接拉取。第二种途径是 CnPack 网站上下载或 github 上拉取下载最新的 CnVcl 源码包,在 Windows 系统中解压后运行 `cnvcl\GenCrypto.bat`,即可在 `cnvcl` 的同级目录下生成 `cncrypto` 目录,内有 CnPack 密码算法库所有源码。日常 CnPack 密码算法库也是自 CnVcl 中维护再同步的。 ### 编译引入 CnPack 密码算法库不涉及 VCL/FMX 界面组件,仅是基础库的形式提供,因而可直接将 `cncrypto\Source` 目录加入 Delphi 或 Lazarus 的工程搜索路径,便可直接在工程中 `uses` 相应单元并调用。 另外 CnPack 密码算法库也提供了运行期包的形式,在任一版本 Delphi 中打开 `cncrypto\Package\CnCrypto.dpk`,即可编译成 BPL 使用。注意如果已经编译安装了 CnPack 组件包,则无需也不应编译使用 CnPack 密码算法库的包,会出现单元命名冲突。 注:如果在 Delphi 5 下编译该 BPL,需手工将 `requires` 语句中的 `vcl` 改为 `vcl50`,但 Delphi 5 由于其内存管理机制老旧,已不推荐使用。 ## 测试用例 `cncrypto\Test` 目录下有一完整的命令行测试用例 `CryptoTest.dpr`,使用任一版本 Delphi 打开运行即可覆盖验证 CnPack 密码算法库的绝大多数功能,或用 C++Builder 5/6 打开 `Crypto.bpr`、或用 Lazarus 打开 `Crypto.lpi`,均同样可以运行。在没有 Lazarus 仅有 FPC 时,也可用 `fpc` 命令行编译 `Crypto.lpr` 以运行。尾部两个用例耗时较长以小时计,跑时需有耐心。 另外,本加解密库仅在小端 CPU 上运行测试过,大端 CPU 暂不保证支持。 ## 动态加载 对于非源码集成方式的使用方,我们也提供将 CnPack 密码算法库编译成 DLL/SO/DYLIB 再动态加载使用的方式,以达到跨语言使用的目的。`cncrypto\Package` 目录下有 `CnCrypto.dpr` 和 `CnCrypto.lpr` 两个工程,允许用户用 Delphi 及 FPC 将 CnPack 密码算法库先行按需编译成动态库,如 Windows 的 DLL、Linux 上的 SO、MacOS 上的 DYLIB 等。`cncrypto\Include` 目录下的 `CnCryptoIntf.h` 头文件及 `CnCryptoIntf.pas` 接口文件则提供了对应 DLL/SO/DYLIB 的输出函数说明,供调用者链接、调用参考。 注:输出函数中与字符串有关的参数可支持双字节字符串或单字节字符串,取决于编译动态库的编译器是否是 Unicode 版本,调用时需注意其说明。 ## 演示例子 `cncrypto\Example` 目录下有 Delphi 和 Lazarus 两个目录,其中各个子目录下分别是 Delphi 下以及 Lazarus 下的各类算法的演示示例,可使用对应 IDE 打开以了解各类算法库的调用方式。注意例子工程本身不保证能够跨平台,一般仅能在 Win32 及 Win64 平台下运行。 ## 关于我们 CnPack 开发组由互联网上热爱 Delphi/C++Builder 程序开发的一群中国程序员自愿者自发组成,其目标是开发中国人自己的真正优秀的第三方免费开源产品。 - **网站**:https://www.cnpack.org - **邮件**:master@cnpack.org - **微信公众号**:CnPack开发组
20f9c42
2025-12-31 19:05
下载
查看发行版
CNCRYPTO_20251201
# CnPack 密码算法库 ## 20251201版本更新内容 - 增加基于模块化格的密钥封装机制MLKEM - 增加基于模块化格的数字签名算法MLDSA - 增加独立的一次性杂凑签名WOTS+ - 增加SHA512-224/SHA512-256杂凑算法的实现 ## 概述 CnPack 密码算法库(CnPack Crypto Library)源于 CnPack 开发组的开源项目 CnVcl 组件包(CnVcl Component Package),是一套以纯 Object Pascal 语言编写的开源加解密源码库,支持 Delphi 5 至最新版本的 RAD Studio,支持 C++Builder 5/6 及 Lazarus/FPC,并支持 32 位与 64 位的 Windows、MacOS、Linux 等操作系统。 CnPack 密码算法库致力于提供强大的加解密算法支持与数据安全保障。它覆盖了国内外常见的加解密算法及中国国家商用密码算法,包括对称加密、非对称加密、杂凑(或名散列、摘要、哈希)等大类及众多其他基础与辅助功能。 ## 许可协议 CnPack 开发包以开放源码(Open Source)的形式发布,遵守 CnPack 的许可协议,受 CnPack 许可协议的保护。License 文件中有该协议的详细描述,具体内容可参考协议文件。 ## 主要内容 - **对称加密**:SM4、AES、DES、3DES、RC4、ChaCha20、TEA、ZUC - **非对称加密**:RSA、ECC 椭圆曲线(魏尔斯特拉斯曲线,包括 SM2)、25519/448 椭圆曲线(蒙哥马利及扭曲爱德华曲线) - **杂凑**:SM3、MD5、SHA1、SHA2/SHA3/BLAKE 系列(224、256、384、512)SHAKE、BLAKE2(2S/2B)、XXHash(32/64)、CRC8/16/32/64、Poly1305、FNV、一次性杂凑签名算法 OTS - **其他密码学领域**:SM9、同态加密、协同加密、格密码、NTRU - **编码解码**:Base64、ASN.1(DER/BER)、Hamming 校验 - **CA证书**:RSA/ECC 证书申请、签发与校验 - **大数支持**:大整数、大有理数、大浮点数、一元大数多项式、二元大数多项式、一元大有理数分式 - **运算支持**:素数运算与判定、浮点复数运算、位运算、矩阵运算、离散傅立叶变换、128 位整型支持 - **数论计算**:中国剩余定理、Lucas 序列、PollardRho 因数分解、模素数二次剩余、勒让德/雅可比符号 - **抗量子计算**:基于模块化格的密钥封装机制 MLKEM、基于模块化格的数字签名算法 MLDSA - **其他**:DSA 签名验证、关联数据认证加密 AEAD、动态口令 OTP、密钥派生 KDF、秘密共享的 Shamir 门限方案及 Feldman VSS 方案 ## 国密支持 CnPack 密码算法库对中国国家商用密码算法标准有着完整而强大的支持: - **SM2**:GM/T 0003.x-2012《SM2椭圆曲线公钥密码算法》,1~5 - **SM3**:GM/T 0004-2012《SM3密码杂凑算法》 - **SM4**:GM/T 0002-2012《SM4分组密码算法》 - **SM9**:GM/T 0044-2016《SM9 标识密码算法》 - **ZUC**:GM/T 0001.x-2012《祖冲之序列密码算法》,1~3 另外也包括 **OTP**:《GB/T 38556-2020 信息安全技术动态口令密码应用技术规范》。 ## 安装与使用 ### 获取源码 有两种途径可获取最新版的 CnPack 密码算法库。第一种途径是 CnPack 网站上下载或 gitee 上直接拉取。第二种途径是 CnPack 网站上下载或 github 上拉取下载最新的 CnVcl 源码包,在 Windows 系统中解压后运行 `cnvcl\GenCrypto.bat`,即可在 `cnvcl` 的同级目录下生成 `cncrypto` 目录,内有 CnPack 密码算法库所有源码。日常 CnPack 密码算法库也是自 CnVcl 中维护再同步的。 ### 编译引入 CnPack 密码算法库不涉及 VCL/FMX 界面组件,仅是基础库的形式提供,因而可直接将 `cncrypto\Source` 目录加入 Delphi 或 Lazarus 的工程搜索路径,便可直接在工程中 `uses` 相应单元并调用。 另外 CnPack 密码算法库也提供了运行期包的形式,在任一版本 Delphi 中打开 `cncrypto\Package\CnCrypto.dpk`,即可编译成 BPL 使用。注意如果已经编译安装了 CnPack 组件包,则无需也不应编译使用 CnPack 密码算法库的包,会出现单元命名冲突。 注:如果在 Delphi 5 下编译该 BPL,需手工将 `requires` 语句中的 `vcl` 改为 `vcl50`。 ## 测试用例 `cncrypto\Test` 目录下有一完整的命令行测试用例 `CryptoTest.dpr`,使用任一版本 Delphi 打开运行即可覆盖验证 CnPack 密码算法库的绝大多数功能,或用 C++Builder 5/6 打开 `Crypto.bpr`、或用 Lazarus 打开 `Crypto.lpi`,均同样可以运行。在没有 Lazarus 仅有 FPC 时,也可用 `fpc` 命令行编译 `Crypto.lpr` 以运行。尾部两个用例耗时较长以小时计,跑时需有耐心。 另外,本加解密库仅在小端 CPU 上运行测试过,大端 CPU 暂不保证支持。 ## 演示例子 `cncrypto\Example` 目录下有 Delphi 和 Lazarus 两个目录,其中各个子目录下分别是 Delphi 下以及 Lazarus 下的各类算法的演示示例,可使用对应 IDE 打开以了解各类算法库的调用方式。注意例子工程本身不保证能够跨平台,一般仅能在 Win32 及 Win64 平台下运行。 ## 关于我们 CnPack 开发组由互联网上热爱 Delphi/C++Builder 程序开发的一群中国程序员自愿者自发组成,其目标是开发中国人自己的真正优秀的第三方免费开源产品。 - **网站**:https://www.cnpack.org - **邮件**:master@cnpack.org - **微信公众号**:CnPack开发组
63575ff
2025-12-01 14:53
下载
查看发行版
CNCRYPTO_20251024
# CnPack 密码算法库 ## 概述 CnPack 密码算法库(CnPack Crypto Library)源于 CnPack 开发组的开源项目 CnVcl 组件包(CnVcl Component Package),是一套以纯 Object Pascal 语言编写的开源加解密源码库,支持 Delphi 5 至最新版本的 RAD Studio,支持 C++Builder 5/6 及 Lazarus/FPC,并支持 32 位与 64 位的 Windows、MacOS、Linux 等操作系统。 CnPack 密码算法库致力于提供强大的加解密算法支持与数据安全保障。它覆盖了国内外常见的加解密算法及中国国家商用密码算法,包括对称加密、非对称加密、杂凑(或名散列、摘要、哈希)等大类及众多其他基础与辅助功能。 ## 许可协议 CnPack 开发包以开放源码(Open Source)的形式发布,遵守 CnPack 的许可协议,受 CnPack 许可协议的保护。License 文件中有该协议的详细描述,具体内容可参考协议文件。 ## 主要内容 - **对称加密**:SM4、AES、DES、3DES、RC4、ChaCha20、TEA、ZUC - **非对称加密**:RSA、ECC 椭圆曲线(魏尔斯特拉斯曲线,包括 SM2)、25519/448 椭圆曲线(蒙哥马利及扭曲爱德华曲线) - **杂凑**:SM3、MD5、SHA1、SHA2/SHA3/BLAKE 系列(224、256、384、512)SHAKE、BLAKE2(2S/2B)、XXHash(32/64)、CRC8/16/32/64、Poly1305、FNV、一次性杂凑签名算法 OTS - **其他密码学领域**:SM9、同态加密、协同加密、格密码、NTRU - **编码解码**:Base64、ASN.1(DER/BER)、Hamming 校验 - **CA证书**:RSA/ECC 证书申请、签发与校验 - **大数支持**:大整数、大有理数、大浮点数、一元大数多项式、二元大数多项式、一元大有理数分式 - **运算支持**:素数运算与判定、浮点复数运算、位运算、矩阵运算、离散傅立叶变换、128 位整型支持 - **数论计算**:中国剩余定理、Lucas 序列、PollardRho 因数分解、模素数二次剩余、勒让德/雅可比符号 - **其他**:DSA 签名验证、关联数据认证加密、动态口令 OTP、密钥派生 KDF、秘密共享的 Shamir 门限方案及 Feldman VSS 方案 ## 国密支持 CnPack 密码算法库对中国国家商用密码算法标准有着完整而强大的支持: - **SM2**:GM/T 0003.x-2012《SM2椭圆曲线公钥密码算法》,1~5 - **SM3**:GM/T 0004-2012《SM3密码杂凑算法》 - **SM4**:GM/T 0002-2012《SM4分组密码算法》 - **SM9**:GM/T 0044-2016《SM9 标识密码算法》 - **ZUC**:GM/T 0001.x-2012《祖冲之序列密码算法》,1~3 另外也包括 **OTP**:《GB/T 38556-2020 信息安全技术动态口令密码应用技术规范》。 ## 安装与使用 ### 获取源码 有两种途径可获取最新版的 CnPack 密码算法库。第一种途径是 CnPack 网站上下载或 gitee 上直接拉取。第二种途径是 CnPack 网站上下载或 github 上拉取下载最新的 CnVcl 源码包,在 Windows 系统中解压后运行 `cnvcl\GenCrypto.bat`,即可在 `cnvcl` 的同级目录下生成 `cncrypto` 目录,内有 CnPack 密码算法库所有源码。日常 CnPack 密码算法库也是自 CnVcl 中维护再同步的。 ### 编译引入 CnPack 密码算法库不涉及 VCL/FMX 界面组件,仅是基础库的形式提供,因而可直接将 `cncrypto\Source` 目录加入 Delphi 或 Lazarus 的工程搜索路径,便可直接在工程中 `uses` 相应单元并调用。 另外 CnPack 密码算法库也提供了运行期包的形式,在任一版本 Delphi 中打开 `cncrypto\Package\CnCrypto.dpk`,即可编译成 BPL 使用。注意如果已经编译安装了 CnPack 组件包,则无需也不应编译使用 CnPack 密码算法库的包,会出现单元命名冲突。 注:如果在 Delphi 5 下编译该 BPL,需手工将 `requires` 语句中的 `vcl` 改为 `vcl50`。 ## 测试用例 `cncrypto\Test` 目录下有一完整的命令行测试用例 `CryptoTest.dpr`,使用任一版本 Delphi 打开运行即可覆盖验证 CnPack 密码算法库的绝大多数功能,或用 C++Builder 5/6 打开 `Crypto.bpr`、或用 Lazarus 打开 `Crypto.lpi`,均同样可以运行。在没有 Lazarus 仅有 FPC 时,也可用 `fpc` 命令行编译 `Crypto.lpr` 以运行。尾部两个用例耗时较长以小时计,跑时需有耐心。 另外,本加解密库仅在小端 CPU 上运行测试过,大端 CPU 暂不保证支持。 ## 演示例子 `cncrypto\Example` 目录下有 Delphi 和 Lazarus 两个目录,其中各个子目录下分别是 Delphi 下以及 Lazarus 下的各类算法的演示示例,可使用对应 IDE 打开以了解各类算法库的调用方式。 ## 关于我们 CnPack 开发组由互联网上热爱 Delphi/C++Builder 程序开发的一群中国程序员自愿者自发组成,其目标是开发中国人自己的真正优秀的第三方免费开源产品。 - **网站**:https://www.cnpack.org - **邮件**:master@cnpack.org - **微信公众号**:CnPack开发组
845eca1
2025-10-23 09:09
下载
查看发行版
CNCRYPTO_20250918
# CnPack 密码算法库 ## 概述 CnPack 密码算法库(CnPack Crypto Library)源于 CnPack 开发组的开源项目 CnVcl 组件包(CnVcl Component Package),是一套以纯 Object Pascal 语言编写的开源加解密源码库,支持 Delphi 5 至最新版本的 RAD Studio,支持 C++Builder 5/6 及 Lazarus/FPC,并支持 32 位与 64 位的 Windows、MacOS、Linux 等操作系统。 CnPack 密码算法库致力于提供强大的加解密算法支持与数据安全保障。它覆盖了国内外常见的加解密算法及中国国家商用密码算法,包括对称加密、非对称加密、杂凑(或名散列、摘要、哈希)等大类及众多其他基础与辅助功能。 ## 许可协议 CnPack 开发包以开放源码(Open Source)的形式发布,遵守 CnPack 的许可协议,受 CnPack 许可协议的保护。License 文件中有该协议的详细描述,具体内容可参考协议文件。 ## 主要内容 - **对称加密**:SM4、AES、DES、3DES、RC4、ChaCha20、TEA、ZUC - **非对称加密**:RSA、ECC 椭圆曲线(魏尔斯特拉斯曲线,包括 SM2)、25519/448 椭圆曲线(蒙哥马利及扭曲爱德华曲线) - **杂凑**:SM3、MD5、SHA1、SHA2/SHA3/BLAKE 系列(224、256、384、512)SHAKE、BLAKE2(2S/2B)、CRC8/16/32/64、Poly1305、FNV、一次性杂凑签名算法 OTS - **其他密码学领域**:SM9、同态加密、协同加密、格密码、NTRU - **编码解码**:Base64、ASN.1(DER/BER)、Hamming 校验 - **CA证书**:RSA/ECC 证书申请、签发与校验 - **大数支持**:大整数、大有理数、大浮点数、一元大数多项式、二元大数多项式、一元大有理数分式 - **运算支持**:素数运算与判定、浮点复数运算、位运算、矩阵运算、离散傅立叶变换、128 位整型支持 - **数论计算**:中国剩余定理、Lucas 序列、PollardRho 因数分解、模素数二次剩余、勒让德/雅可比符号 - **其他**:DSA 签名验证、关联数据认证加密、动态口令 OTP、密钥派生 KDF、秘密共享的 Shamir 门限方案及 Feldman VSS 方案 ## 国密支持 CnPack 密码算法库对中国国家商用密码算法标准有着完整而强大的支持: - **SM2**:GM/T 0003.x-2012《SM2椭圆曲线公钥密码算法》,1~5 - **SM3**:GM/T 0004-2012《SM3密码杂凑算法》 - **SM4**:GM/T 0002-2012《SM4分组密码算法》 - **SM9**:GM/T 0044-2016《SM9 标识密码算法》 - **ZUC**:GM/T 0001.x-2012《祖冲之序列密码算法》,1~3 另外也包括 **OTP**:《GB/T 38556-2020 信息安全技术动态口令密码应用技术规范》。 ## 安装与使用 ### 获取源码 有两种途径可获取最新版的 CnPack 密码算法库。第一种途径是 CnPack 网站上下载或 gitee 上直接拉取。第二种途径是 CnPack 网站上下载或 github 上拉取下载最新的 CnVcl 源码包,在 Windows 系统中解压后运行 cnvcl\GenCrypto.bat,即可在 cnvcl 的同级目录下生成 cncrypto 目录,内有 CnPack 密码算法库所有源码。日常 CnPack 密码算法库也是自 CnVcl 中维护再同步的。 ### 编译引入 CnPack 密码算法库不涉及 VCL/FMX 界面组件,仅是基础库的形式提供,因而可直接将 cncrypto\Source 目录加入 Delphi 或 Lazarus 的工程搜索路径,便可直接在工程中 uses 相应单元并调用。 另外 CnPack 密码算法库也提供了运行期包的形式,在任一版本 Delphi 中打开 cncrypto\Package\CnCrypto.dpk,即可编译成 BPL 使用。注意如果已经编译安装了 CnPack 组件包,则无需也不应编译使用 CnPack 密码算法库的包,会出现单元命名冲突。 注:如果在 Delphi 5 下编译该 BPL,需手工将 requires 语句中的 vcl 改为 vcl50。 ## 测试用例 cncrypto\Test 目录下有一完整的命令行测试用例 CryptoTest.dpr,使用任一版本 Delphi 打开运行即可覆盖验证 CnPack 密码算法库的绝大多数功能,或用 C++Builder 5/6 打开 Crypto.bpr、或用 Lazarus 打开 Crypto.lpi,均同样可以运行。在没有 Lazarus 仅有 FPC 时,也可用 fpc 命令行编译 Crypto.lpr 以运行。尾部两个用例耗时较长以小时计,跑时需有耐心。 另外,本加解密库仅在小端 CPU 上运行测试过,大端 CPU 暂不保证支持。 ## 演示例子 cncrypto\Example 目录下有 Delphi 和 Lazarus 两个目录,其中各个子目录下分别是 Delphi 下以及 Lazarus 下的各类算法的演示示例,可使用对应 IDE 打开以了解各类算法库的调用方式。 ## 关于我们 CnPack 开发组由互联网上热爱 Delphi/C++Builder 程序开发的一群中国程序员自愿者自发组成,其目标是开发中国人自己的真正优秀的第三方免费开源产品。 - **网站**:https://www.cnpack.org - **邮件**:master@cnpack.org - **微信公众号**:CnPack开发组
5503bfe
2025-09-18 06:57
下载
查看发行版
CNCRYPTO_20250512
# CnPack 密码算法库 ## 概述 CnPack 密码算法库(CnPack Crypto Library)源于 CnPack 开发组的开源项目 CnVcl 组件包(CnVcl Component Package),是一套以纯 Object Pascal 语言编写的开源加解密源码库,支持 Delphi 5 至最新版本的 RAD Studio,支持 C++Builder 5/6 及 Lazarus/FPC,并支持 32 位与 64 位的 Windows、MacOS、Linux 等操作系统。 CnPack 密码算法库致力于提供强大的加解密算法支持与数据安全保障。它覆盖了国内外常见的加解密算法及中国国家商用密码算法,包括对称加密、非对称加密、杂凑(或名散列、摘要、哈希)等大类及众多其他基础与辅助功能。 ## 许可协议 CnPack 开发包以开放源码(Open Source)的形式发布,遵守 CnPack 的许可协议,受 CnPack 许可协议的保护。License 文件中有该协议的详细描述,具体内容可参考协议文件。 ## 主要内容 - **对称加密**:SM4、AES、DES、3DES、RC4、ChaCha20、TEA、ZUC - **非对称加密**:RSA、ECC 椭圆曲线(魏尔斯特拉斯曲线,包括 SM2)、25519/448 椭圆曲线(蒙哥马利及扭曲爱德华曲线) - **杂凑**:SM3、MD5、SHA1、SHA2/SHA3 系列(192、256、384、512)、SHAKE、CRC8/16/32/64、Poly1305、FNV、一次性杂凑签名算法 OTS - **其他密码学领域**:SM9、同态加密、协同加密、格密码、NTRU - **编码解码**:Base64、ASN.1(DER/BER)、Hamming 校验 - **CA证书**:RSA/ECC 证书申请、签发与校验 - **大数支持**:大整数、大有理数、大浮点数、一元大数多项式、二元大数多项式、一元大有理数分式 - **运算支持**:素数运算与判定、浮点复数运算、位运算、矩阵运算、离散傅立叶变换、128 位整型支持 - **数论计算**:中国剩余定理、Lucas 序列、PollardRho 因数分解、模素数二次剩余、勒让德/雅可比符号 - **其他**:DSA 签名验证、关联数据认证加密、动态口令 OTP、密钥派生 KDF、秘密共享的 Shamir 门限方案及 Feldman VSS 方案 ## 国密支持 CnPack 密码算法库对中国国家商用密码算法标准有着完整而强大的支持: - **SM2**:GM/T 0003.x-2012《SM2椭圆曲线公钥密码算法》,1~5 - **SM3**:GM/T 0004-2012《SM3密码杂凑算法》 - **SM4**:GM/T 0002-2012《SM4分组密码算法》 - **SM9**:GM/T 0044-2016《SM9 标识密码算法》 - **ZUC**:GM/T 0001.x-2012《祖冲之序列密码算法》,1~3 另外也包括 **OTP**:《GB/T 38556-2020 信息安全技术动态口令密码应用技术规范》。 ## 安装与使用 ### 获取源码 有两种途径可获取最新版的 CnPack 密码算法库。第一种途径是 CnPack 网站上下载或 gitee 上直接拉取。第二种途径是 CnPack 网站上下载或 github 上拉取下载最新的 CnVcl 源码包,在 Windows 系统中解压后运行 cnvcl\GenCrypto.bat,即可在 cnvcl 的同级目录下生成 cncrypto 目录,内有 CnPack 密码算法库所有源码。日常 CnPack 密码算法库也是自 CnVcl 中维护再同步的。 ### 编译引入 CnPack 密码算法库不涉及 VCL/FMX 界面组件,仅是基础库的形式提供,因而可直接将 cncrypto\Source 目录加入 Delphi 的工程搜索路径,便可直接在工程中 uses 相应单元并调用。 另外 CnPack 密码算法库也提供了运行期包的形式,在任一版本 Delphi 中打开 cncrypto\Package\CnCrypto.dpk,即可编译成 BPL 使用。注意如果已经编译安装了 CnPack 组件包,则无需也不应编译使用 CnPack 密码算法库的包,会出现单元命名冲突。 注:如果在 Delphi 5 下编译该 BPL,需手工将 requires 语句中的 vcl 改为 vcl50。 ## 测试用例 cncrypto\Test 目录下有一完整的命令行测试用例 CryptoTest.dpr,使用任一版本 Delphi 打开运行即可覆盖验证 CnPack 密码算法库的绝大多数功能,或用 C++Builder 5/6 打开 Crypto.bpr、或用 Lazarus 打开 Crypto.lpi,均同样可以运行。尾部两个用例耗时较长以小时计,跑时需有耐心。 ## 演示例子 cncrypto\Example 目录下有 Delphi 和 Lazarus 两个目录,其中各个子目录下分别是 Delphi 下以及 Lazarus 下的各类算法的演示示例,可使用对应 IDE 打开以了解各类算法库的调用方式。 ## 关于我们 CnPack 开发组由互联网上热爱 Delphi/C++Builder 程序开发的一群中国程序员自愿者自发组成,其目标是开发中国人自己的真正优秀的第三方免费开源产品。 - **网站**:https://www.cnpack.org - **邮件**:master@cnpack.org - **微信公众号**:CnPack开发组
42f43f6
2025-05-10 18:56
下载
查看发行版
CNCRYPTO_20250328
CnPack 密码算法库(CnPack Crypto Library)源于 CnPack 开发组的开源项目 CnVcl 组件包(CnVcl Component Package),是一套以纯 Object Pascal 语言编写的开源加解密源码库,支持 Delphi 5 至最新版本的 RAD Studio,支持 C++Builder 5/6 及 Lazarus/FPC,并支持 32 位与 64 位的 Windows、MacOS、Linux 等操作系统。 对称加密:SM4、AES、DES、3DES、RC4、ChaCha20、TEA、ZUC 非对称加密:RSA、ECC 椭圆曲线(魏尔斯特拉斯曲线,包括 SM2)、25519/448 椭圆曲线(蒙哥马利及扭曲爱德华曲线) 杂凑:SM3、MD5、SHA1、SHA2/SHA3 系列(192、256、384、512)、SHAKE、CRC8/16/32/64、Poly1305、FNV、一次性杂凑签名算法 OTS 其他密码学领域:SM9、同态加密、协同加密、格密码、NTRU 编码解码:Base64、ASN.1(DER/BER)、Hamming 校验 CA证书:RSA/ECC 证书申请、签发与校验 大数支持:大整数、大有理数、大浮点数、一元大数多项式、二元大数多项式、一元大有理数分式 运算支持:素数运算、浮点复数运算、位运算、矩阵运算、离散傅立叶变换、128 位整型支持 其他:DSA 签名验证、关联数据认证加密、动态口令 OTP、密钥派生 KDF、秘密共享的 Shamir 门限方案及 Feldman VSS 方案
d7540ee
2025-03-28 08:33
下载
查看发行版
CNCRYPTO_20241221
CnPack 密码算法库(CnPack Crypto Library)源于 CnPack 开发组的开源项目 CnVcl 组件包(CnVcl Component Package),是一套以纯 Object Pascal 语言编写的开源加解密源码库,支持 Delphi 5 至最新版本的 RAD Studio,支持 C++Builder 5/6 及 Lazarus/FPC,并支持 32 位与 64 位的 Windows、MacOS、Linux 等操作系统。 - 对称加密:SM4、AES、DES、3DES、RC4、ChaCha20、TEA、ZUC - 非对称加密:RSA、ECC 椭圆曲线(魏尔斯特拉斯曲线,包括 SM2)、25519/448 椭圆曲线(蒙哥马利及扭曲爱德华曲线) - 杂凑:SM3、MD5、SHA1、SHA2/SHA3 系列(192、256、384、512)、SHAKE、CRC8/16/32/64、Poly1305、FNV、一次性杂凑签名算法 OTS - 其他密码学领域:SM9、同态加密、协同加密、格密码、NTRU - 编码解码:Base64、ASN.1(DER/BER)、Hamming 校验 - CA证书:RSA/ECC 证书申请、签发与校验 - 大数支持:大整数、大有理数、大浮点数、一元大数多项式、二元大数多项式、一元大有理数分式 - 运算支持:素数运算、浮点复数运算、位运算、矩阵运算、离散傅立叶变换、128 位整型支持 - 其他:DSA 签名验证、关联数据认证加密、动态口令 OTP、密钥派生 KDF、秘密共享的 Shamir 门限方案及 Feldman VSS 方案
8e19e59
2024-12-21 13:50
下载
查看发行版
CNCRYPTO_20241103
CnPack 密码算法库 20241103 版 CnPack 密码算法库(CnPack Crypto Library)源于 CnPack 开发组的开源项目 CnVcl 组件包(CnVcl Component Package),是一套以纯 Object Pascal 语言编写的开源加解密源码库,支持 Delphi 5 至最新版本的 RAD Studio,支持 C++Builder 5/6 及 Lazarus/FPC,并支持 32 位与 64 位的 Windows、MacOS、Linux 等操作系统。 * 对称加密:SM4、AES、DES、3DES、RC4、ChaCha20、TEA、ZUC * 非对称加密:RSA、ECC 椭圆曲线(魏尔斯特拉斯曲线,包括 SM2)、25519/448 椭圆曲线(蒙哥马利及扭曲爱德华曲线) * 杂凑:SM3、MD5、SHA1、SHA2/SHA3 系列(192、256、384、512)、SHAKE、CRC8/16/32/64、Poly1305、FNV、一次性杂凑签名算法 OTS * 其他密码学领域:SM9、同态加密、协同加密、格密码、NTRU * 编码解码:Base64、ASN.1(DER/BER)、Hamming 校验 * CA证书:RSA/ECC 证书申请、签发与校验 * 大数支持:大整数、大有理数、大浮点数、一元大数多项式、二元大数多项式、一元大有理数分式 * 运算支持:素数运算、浮点复数运算、位运算、矩阵运算、离散傅立叶变换、128 位整型支持 * 其他:DSA 签名验证、关联数据认证加密、动态口令 OTP、密钥派生 KDF、秘密共享的 Shamir 门限方案及 Feldman VSS 方案
fabda98
2024-11-03 11:39
下载
查看发行版
下载
请输入验证码,防止盗链导致资源被占用
取消
下载
Pascal
1
https://gitee.com/cnpack/cncrypto.git
git@gitee.com:cnpack/cncrypto.git
cnpack
cncrypto
CnPack密码算法库
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册