- 博客(15)
- 资源 (9)
- 收藏
- 关注
原创 Cryptography API: Next Generation(CNG)使用梳理——非对称加密算法应用(五)与OpenSSL数字签名认证的互通(ECDSA)
CNG中的数字签名算法主要包括RSA、DSA和ECDSA,其中RSA算法所得的签名值是可以直接与OpenSSL相互验证的,而DSA和ECDSA则不行,这是因为输出的格式不同OpenSSL采用DER,而ECDSA在OpenSSL3之前可以使用ECDSA_do_sign获得ECDSA_SIG格式,但penSSL3以后的版本因为隐藏了底部实现,所以其数字签名函数只能使用EVP_SignXXXXX、EVP_Digest和EVP_PKEY_sign这些函数了,其输出的签名格式为DER。
2023-07-17 15:40:39
985
1
原创 Cryptography API: Next Generation(CNG)使用梳理——非对称加密算法应用(四)与OpenSSL3之间的非对称密钥转换(RSA)
至于完整密钥的转换,可以参照私钥部分,但这里就不写了,同时考虑到CNG有密钥对校验机制,且不同版本的对私钥指数的实现方式不同,应此不建议导入第三方转换的BCRYPT_RSAFULLPRIVATE_BLOB(两种算法的d值可能不同,但在RSA中的数学特性是完全相同的,仅因为不确定CNG校验机制在当前版本或者后续版本中原理,考虑到兼容和稳定,所以不推荐,如果有实际需要,则推荐采用算法2的计算值作为PrivateExponent的结果)cbPrime1 键的第一个质数(p)的大小(以字节为单位)。
2023-07-14 14:56:23
570
3
原创 Cryptography API: Next Generation(CNG)使用梳理——非对称加密算法应用(三)与OpenSSL3之间的非对称密钥转换(ECC)
备注:当然也可以直接定义一个辅助函数将EVP_PKEY_get_group_name获取椭圆曲线的名字(SN)直接转换为BCRYPT_ECCKEY_BLOB中的Magic。3、通过辅助函数ECDH_NID_to_CNG_Magic或者ECDSA_NID_to_CNG_Magic转换为BCRYPT_ECCKEY_BLOB中的Magic。一、将CNG导出的BCRYPT_ECCPUBLIC_BLOB中的X和Y坐标格式转换为OpenSSL中的pub的点格式,也就是"pub" (备注:虽说内部有独立的"qx" (
2023-07-12 00:42:23
751
1
原创 Cryptography API: Next Generation(CNG)使用梳理——非对称加密算法应用(二)非对称密钥导入并保存及公钥加密私钥解密
此篇主要聊一下,如果保存BCrypt创建的密钥,及导出(备份)NCrypt创建的密钥(私钥)CNG中NCrypt创建的密钥对会默认会保存在本地,而BCrypt创建的密钥对并不会保存。NCrypt创建的密钥默认不能导出私钥。
2023-07-11 13:56:01
785
原创 Cryptography API: Next Generation(CNG)使用梳理——非对称加密算法应用(一)数字验证及非对称密钥的导出与导入
Cryptography API: Next Generation(CNG)非对称加密,数字验证,非对称密钥的导出与导入,BCrypto到BCrypto,NCrypto到BCrypto
2023-07-10 13:37:58
518
1
原创 Cryptography API: Next Generation(CNG)使用梳理——对称加密算法应用
讲述CNG对称加密中设置操作模式,加密填充方式,密钥导入导出,及添加身份验证
2022-09-17 19:55:02
1189
1
原创 Cryptography API: Next Generation(CNG)使用梳理——Hash及随机数算法应用
演示Cryptography API: Next Generation(CNG)中有关哈希算法使用过程,介绍BCRYPT_HASH_REUSABLE_FLAG参数的作用,及其使用在BCryptOpenAlgorithmProvider和BCryptCreateHash的区别,还有BCRYPT_ALG_HANDLE_HMAC_FLAG参数的作用,及如何在定义后使用BCryptCreateHash的pbSecret和cbSecret参数
2022-09-13 16:15:43
811
2
原创 Cryptography API: Next Generation (CNG)使用梳理——概述
微软新一代加密算法库Cryptography API: Next Generation
2022-09-13 14:45:00
1159
原创 通过WTL自定义CShellFileDialog对话框,即实现IFileDialogControlEvents接口和处理IFileDialogCustomize接口
COM组件的文件对话框的自定义实现,FileDialogControlEvents接口和IFileDialogCustomize接口
2022-08-22 16:14:47
651
1
原创 Boost的fast_pool_allocator(pool_allocator)没有右值引用版的construct函数
Boost中的fast_pool_allocator和pool_allocator 没有定义右值引用版的construct函数,造成VS自带的STL容器构造异常
2013-11-19 15:17:50
1775
原创 关于map、hash_map 和 unordered_map 的简单性能测试
测试环境:DELL Latitude D610CPU:Pentium-M 1.73 GHz内存:2.00GBOS:Windows 2003开发环境: Visual Studio 2010编译参数:/MD /Ox /Ot /W3 /D "_CRT_SECUR
2011-09-13 12:00:55
2542
原创 实现日期到农历五行八字转换
这个程序是根据一个C版的公历转农历的程序改的,当初改成了VB版的,昨天被我翻出来又改成了伪C++版,因为时间久了,又是几经“转译”,程序未必完美,权当娱乐吧#include #include #include using namespace std;int main(){//////////////////////////////////////////////////
2010-02-12 16:12:00
1183
2
原创 算法记录(2010.1.23-1)
课题《字符串提取的函数代码!不准用字符处理函数实现!》要求:给定一个字符串如:“ewewewe,.,,rerere-;;ewewewererrere” 如何将字符串提取出来,打印如下: ewewewe rerere ewewewe rerrere 调用函数 tiqu(char const *p,char *s)不准用字符处理函
2010-01-23 18:43:00
389
原创 Code::Blocks(MinGW)编译资源文件时中文乱码的解决方案及补充
前言今天编译了一个DLL文件,并想为它添加一点版本信息的时候发现,所有输入的中文都变成了乱码~老规矩叫出Google搜寻了一番最后找到了一篇《MinGW 编译资源文件时中文乱码的解决方案》提出了解决办法,但是,完全按照上面的操作后,还是有乱码~ 正文Code::Blocks(MinGW)编译资源(*.rc)时出现中文乱码——准确的说是Windres.exe出现了问题
2009-12-26 18:22:00
2445
原创 在Windows下用MinGW编译OpenSSL,及OpenSSL静态链接库libcrypto.a使用问题
最经我用MinGW编译OpenSSL的过程中发生了很多问题,不过好在已经解决了,现在写出来以备查询 以OpenSSL-0.9.8l为例:前略(下载,解压)注意要安装Perl,如果你只是用来安装OpenSSL的可以下ActivePerl,以后还有其它用的下strawberry-perl (先说问题)使用MinGW编译OpenSSL时我发现有以下问题1、解压目录/ms/mi
2009-12-26 16:24:00
9877
5
WTL可自定义控件和事件的COM组件版文件对话框
2022-08-22
VC6.0 STL补丁
2010-02-02
wxWidgets 2.8.10 part05
2009-12-19
wxWidgets 2.8.10 part04
2009-12-19
wxWidgets 2.8.10 part03
2009-12-19
wxWidgets 2.8.10 part02
2009-12-19
wxWidgets 2.8.10 part01
2009-12-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人