0xC6} (RFC 8998) 2 GmSSL编译 下载代码https://github.com/guanzhi/Gm

gmssl_memxor sm4_encryptsm4_set_decrypt_keysm4_cbc_decrypt sm4_encrypt memxor 3.4 gmssl证书 使用gmssl命令:生成密钥、生成证书、验证证书,0x11} (GB/T 38636-2020、GM/T 0024-2014) TLS 1.3, 密码算法 分组密码:SM4 (CBC/CTR/GCM/ECB/CFB/OFB/CCM/XTS), GmSSL支持SM2/SM3/SM4/SM9/ZUC等国密算法, SHA-224/256/384/512 公钥密码:SM2加密/签名, gmssl sm2keygen -pass P@ssw0rd - out rootcakey.pemgmssl certgen -C CN -ST Beijing -L Haidian -O PKU -OU CS -CN ROOTCA -days 3650 \ -key rootcakey.pem - pass P@ssw0rd \ -ca -path_len_constraint 6 \ -key_usage keyCertSign - key_usage cRLSign \ -crl_http_uri http: // pku.edu.cn/ca.crl \ -ca_issuers_uri http: // pku.edu.cn/ca.crt -ocsp_uri \ - out rootcacert.pem. /gmssl certparse - in rootcacert.pem. /gmssl certverify - in rootcacert.pem -cacert rootcacert.pem 4 gmssl-python gmssl-python基于GmSSL提供Python接口API, 3.3 SM43.3.1 gmssl命令行测试 修改SM4 CBC测试: 测试结果如下: ./demo_sm4_cbc 3.3.2 openssl测试 echo -n " AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDDEEEEEEEEFFFFFFFFAAAAAAAABBBBBBBBAAAAAAAABBBBBBBBCCCCCCCCDDDDDDDDEEEEEEEEFFFFFFFFAAAAAAAABBBBBBBB " | xxd -r -p input.dataopenssl enc - in input.data - out encrypted.data -e -sm4-cbc -K 0123456789ABCDEFFEDCBA9876543210 - iv 000102030405060708090A0B0C0D0E0Fopenssl enc - in encrypted.dat - out replaintext.data -d -sm4-cbc -K 0123456789ABCDEFFEDCBA9876543210 - iv 000102030405060708090A0B0C0D0E0F 执行hexdump input.data encrypted.data replaintext.data,提升了密码算法的抗侧信道攻击能力, ChaCha20 哈希函数: SM3, GHASH, 更合规:GmSSL 3 可以配置为仅包含国密算法和国密协议(TLCP协议),。

3.1.3 代码流程 sm3_digestformat_bytessm2_key_generateformat_bytessm2_signsm2_verify 3.2 SM33.2.1 gmssl命令行测试 echo -n " helloworld " | ./demo_sm3 结果如下: 3.2.2 openssl测试 echo -n " helloworld " | openssl dgst - sm3结果:SM3(stdin) = c70c5f73da4e8b8b73478af54241469566f6497e16c053a03a0170fa00078283 3.2.3 网站测试 验证网址:《Hash在线计算工具 Hash online tool》, 安装gmssl-python:pip install gmssl-python,默认的CMake构建系统可以容易地和Visual Studio、Android NDK等默认编译工具配合使用, CSR (PKCS #10) 证书签名请求 私钥加密:基于SM4/SM3口令加密的PEM格式私钥 (PKCS #8) 数字信封:SM2密码消息 (GM/T 0010-2012) SSL协议 TLCP 1.1,编译: git checkout v3.1.1--切换到Tag v3.1.1, make build cd buildcmake ..make 3 GmSSL主要功能解析3.1 SM2 使用固定的SM2秘钥进行签名和验签: 3.1.1 gmssl命令行测试 ./demo_sm2_sign 数据:44F0061E69FA6FDFC290C494654A05DC0C053DA7E5C52B84EF93A9D67D3FFF88 私钥:BC69045CA71674F5005C0B9D33E9AD5141369DE98F4986AFBA8999268939C595 公钥:F3 33 E0 06 7A 22 40 AB 7B CC 2B 61 D8 62 F5 62 54 F5 28 07 8A AB 0E 3C 3B 6E 71 08 89 72 1E 95 DA 9A 7A 14 D6 97 34 60 E7 BB E3 5C 07 D4 8B 6C 23 E0 50 C8 C4 66 84 42 CD D5 7A 26 6A 2E 2B EA 签名-R(动态变化):15 85 D8 A3 88 A6 8A 71 6F E9 CF 8A 41 B3 E5 10 EF 3D 25 BA 74 DC D3 97 5F D2 17 F2 62 CA 50 5D 签名-S(动态变化):BA 6C A7 BE 7A 97 7E 23 DB 12 89 71 4B B4 91 6A FA 39 7E F6 1E B3 9B 7B 87 E0 90 11 6E C3 78 02 结果如下: 3.1.2 网站验证 通过如下网站验证:SM2 在线签名生成工具 SM2 Sign With SM3和SM2 在线验签工具 SM2 Verify Sign With SM3。

跨平台:GmSSL 3 更容易跨平台,进行加密操作, HASH_DRBG (NIST.SP.800-90A) 证书和数字信封 数字证书:X.509证书,构建系统不再依赖Perl,sm4_cbc_encrypt -- 使用异或后的密钥,0xC6} (RFC 8998) 2 GmSSL编译 下载代码https://github.com/guanzhi/GmSSL.git, CBC-MAC 密钥导出函数:PBKDF2、HKDF 随机数生成器:Intel RDRAND,可以用于无操作系统的低功耗嵌入式环境(MCU、SOC等),开发者也可以更容易地将国密算法和SSL协议嵌入到现有的项目中, SHA-1, CRL证书注销列表,支持密码套件TLS_ECDHE_SM4_CBC_SM3 {0xE0。

进行32轮异或运算, 主要特性 超轻量:GmSSL 3 大幅度降低了内存需求和二进制代码体积, 3.3.4 代码流程 rand_bytessm4_set_encrypt_key -- 根据输入的密钥,开发者也可以手工编写Makefile在特殊环境中编译、剪裁,避免由于混杂非国密算法、不安全算法等导致的安全问题和合规问题,0x13} (GB/T 38636-2020、GM/T 0024-2014) TLS 1.2,参考《GitHub - GmSSL/GmSSL-Python: Python binding to the GmSSL library》,结果如下: 3.3.3 网站测试 验证网址:《SM4 CBC 在线加密工具》和《SM4 CBC 在线解密工具》,不依赖动态内存, AES (CBC/CTR/GCM) 序列密码:ZUC/ZUC-256,SM2国密数字证书及基于SM2证书的SSL/TLS安全通信协议,GmSSL 3 默认支持密钥的加密保护, SM9加密/签名 MAC算法:HMAC, 更安全:TLS 1.3在安全性和通信延迟上相对之前的TLS协议有巨大的提升,GmSSL 3 支持TLS 1.3协议和RFC 8998的国密套件,支持密码套TLS_ECC_SM4_CBC_SM3 {0xE0, ,支持密码套件TLS_SM4_GCM_SM3 {0x00,依赖GmSSL 的密码应用更容易满足密码产品型号检测的要求。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://acg.inmoke.com/zixun/Jk/16439.html