|
NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
AES-256对称加密算法实现 更多...
类 | |
| struct | AES256 |
| AES-256加密算法结构体 更多... | |
函数 | |
| NEFORCE_ALWAYS_INLINE_INLINE string | aes256_encrypt (const string_view data, const string_view key_hex) |
| AES-256加密便捷函数 | |
| NEFORCE_ALWAYS_INLINE_INLINE string | aes256_decrypt (const string_view encrypted_hex, const string_view key_hex) |
| AES-256解密便捷函数 | |
AES-256对称加密算法实现
本实现严格遵循以下密码学与信息安全相关标准规范:
AES 算法标准:
工作模式标准:
填充方案标准:
| 特性 | 规范参数 |
|---|---|
| 算法 | AES-256 (密钥长度 256 位,分组大小 128 位) |
| 轮数 | 14 轮 |
| 密钥扩展 | 240 字节扩展密钥 |
| ECB 模式 | 电子密码本,无 IV |
| CBC 模式 | 密码分组链接,需 16 字节 IV |
| GCM 模式 | Galois 计数器模式,认证加密 |
| GCM 标签长度 | 12-16 字节 (推荐 16 字节) |
| GCM IV 推荐长度 | 12 字节 (96 位) |
| 填充方案 | PKCS#7 (RFC 5652) |
| NEFORCE_ALWAYS_INLINE_INLINE string aes256_decrypt | ( | const string_view | encrypted_hex, |
| const string_view | key_hex ) |
| NEFORCE_ALWAYS_INLINE_INLINE string aes256_encrypt | ( | const string_view | data, |
| const string_view | key_hex ) |
AES-256加密便捷函数
| data | 要加密的字符串 |
| key_hex | 十六进制密钥 |
在文件 aes256.hpp 第 206 行定义.
引用了 data() , 以及 AES256::encrypt_ecb_hex().