
信息安全
文章平均质量分 93
介绍信息安全加解密相关技术,分享加解密算法C++和OpenSSL实现
mickey0380
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
国密算法SM2的GmSSL代码Android实现Demo
SM2国密算法是一种非对称加密算法,基于 ECC(椭圆加密算法),SM2算法对标我们常用的国际算法 RSA。 另外SM2采用ECC 256位,安全强度比RSA 2048位更高,且运算速度同样也高于ESA。原创 2024-12-30 06:30:00 · 1255 阅读 · 0 评论 -
国密算法SM4的GmSSL代码Android实现Demo
SM4.0(原名SMS4.0)是中华人民共和国政府采用的一种分组密码标准,由国家密码管理局于2012年3月21日发布。相关标准为“GM/T 0002-2012《SM4分组密码算法》(原SMS4分组密码算法)”。 在商用密码体系中,SM4主要用于数据加密,其算法公开,分组长度与密钥长度均为128bit,加密算法与密钥扩展算法都采用32轮非线性迭代结构,S盒为固定的8比特输入8比特输出。 SM4.0中的指令长度被提升到大于64K(即64×1024)的水平,这是SM 3.0规格(渲染指令长度允许大于512)的1原创 2024-12-30 00:30:00 · 828 阅读 · 0 评论 -
国密算法SM3的GmSSL代码Android实现Demo
SM3是中华人民共和国政府采用的一种密码散列函数标准,由国家密码管理局于2010年12月17日发布。相关标准为“GM/T 0004-2012 《SM3密码杂凑算法》”。 在商用密码体系中,SM3主要用于数字签名及验证、消息认证码生成及验证、随机数生成等,其算法公开。据国家密码管理局表示,其安全性及效率与SHA-256相当。原创 2024-12-25 13:00:00 · 1145 阅读 · 0 评论 -
Andriod下编译GmSSL源码
GmSSL是一个开源的密码工具箱,支持SM2/SM3/SM4/SM9/ZUC等国密(国家商用密码)算法、SM2国密数字证书及基于SM2证书的SSL/TLS安全通信协议,支持国密硬件密码设备,提供符合国密规范的编程接口与命令行工具,可以用于构建PKI/CA、安全通信、数据加密等符合国密标准的安全应用。原创 2024-12-25 08:24:13 · 893 阅读 · 0 评论 -
数字证书X.509解析的MbedTLS代码实现Demo
公钥证书(Public-Key Certificate,PKC)其实和驾照很相似,里面记有姓名、组织、邮箱地址等个人信息,以及属于此人的公钥,并由认证机构(Certification Authority、Certifying Authority,CA)施加数字签名。只要看到公钥证书,我们就可以知道认证机构认定该公钥的确属于此人。公钥证书也简称为证书(certificate)。原创 2024-12-17 06:30:00 · 2215 阅读 · 0 评论 -
数字签名验签的MbedTLS代码实现Demo
在信息传输过程中,为了确保数据的完整性和真实性,常常需要使用数字签名这一技术手段。数字签名结合了公钥加密和私钥解密的过程,使得数据在传输过程中能够得到有效的保护。本文将通过图文并茂的方式,详细解释数字签名的原理、生成过程以及验签的步骤;并且提供代码实现Demo工程。原创 2024-12-17 00:30:00 · 1081 阅读 · 0 评论 -
非对称加密算法RSA的MbedTLS代码实现Demo
RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。RSA加密算法是一种可逆的非对称加密算法,即RSA加密时候用的密钥(公钥)和RSA解密时用的密钥(私钥)不是同一把。基本原理是将两个很大的质数相乘很容易得到乘积,但是该乘积分解质因数却很困难。RSA算法被广泛的用于加密解密和RSA签名/验证等领域。原创 2024-12-09 06:30:00 · 1506 阅读 · 0 评论 -
对称加密算法AES的MbedTLS代码实现Demo
AES (Advanced Encryption Standard) 加密算法就是一种广泛使用的对称加密算法。该算法用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,AES由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,AES已然成为对称密钥加密中最流行的算法之一。原创 2024-12-09 00:30:00 · 954 阅读 · 0 评论 -
消息认证码HMAC算法的MbedTLS代码实现Demo
消息认证码(Message Authentication Code)是一种确认完整性并进行认证的技术,取三个单词的首字母,简称为MAC。原创 2024-12-02 06:30:00 · 835 阅读 · 0 评论 -
单向散列算法的MbedTLS代码实现Demo
单向散列函数(one-way hash function)有一个输入和一个输出,其中输入称为消息(message),输出称为散列值(hash value)。单向散列函数可以根据消息的内容计算出散列值,而散列值就可以被用来检查消息的完整性。原创 2024-12-02 00:30:00 · 1078 阅读 · 0 评论 -
开源加密库mbedtls及其Windows编译库
Mbed TLS是一个由ARM Maintained的开源项目,它提供了一个轻量级的加密库,适用于嵌入式系统和物联网设备。这个项目包含了SSL/TLS协议、X.509证书解析、密码算法和各种实用工具,是开发安全网络应用的得力助手。原创 2024-11-25 06:30:00 · 1892 阅读 · 0 评论 -
BP-Tools密码工具简介
BP-Tools是一套通用的、功能强大的加解密工具,是EFTlab 公司开发的主要面向金融和智能卡的数据加解密和数据转换工具。原创 2024-11-25 00:30:00 · 813 阅读 · 0 评论 -
SSL/TLS协议简介
SSL(Secure Sockets Layer) 是一种网络安全协议,用于在互联网中保护数据的传输。SSL 协议最初由网景公司(Netscape)开发,旨在为通过互联网传输的数据提供加密保护。由于 SSL 协议存在一些安全问题,它在 1999 年被其继任者 TLS(Transport Layer Security) 取代。尽管 TLS 是 SSL 的继任者,但 SSL 和 TLS 常常被统称为 SSL/TLS,尤其在日常用语中。原创 2024-11-18 06:30:00 · 3347 阅读 · 1 评论 -
密钥管理方法AES-DUKPT的Python代码Demo
DUKPT(Derived Unique Key Per Transaction)是被ANSI定义的一套密钥管理体系和算法,用于解决金融支付领域的信息安全传输中的密钥管理问题,应用于对称密钥加密MAC、PIN等数据安全方面。保证每一次交易流程使用唯一的密钥,采用一种不可逆的密钥转换算法,使得无法从当前交易数据信息破解上一次交易密钥。要求收单行与终端必须同步支持该项密钥管理技术。由交易发起端点(S-TRSM,如POS、ATM)与交易接收端点(R-TRSM,如收单行)两部分组成。原创 2024-11-11 06:00:00 · 1062 阅读 · 0 评论 -
[翻译]ANSI X9.24-3-2017
美国金融服务国家标准 ANIS X9.24-3-2017零售金融服务 对称秘钥管理 第3部分 每笔交易导出的唯一秘钥批准日期:2017年10月11日对称密钥管理第3部分:每次交易的派生唯一密钥原创 2024-11-11 01:00:00 · 1149 阅读 · 0 评论 -
密钥管理方法DUKPT的OpenSSL代码实现Demo
DUKPT(Derived Unique Key Per Transaction)是被ANSI定义的一套密钥管理体系和算法,用于解决金融支付领域的信息安全传输中的密钥管理问题,应用于对称密钥加密MAC、PIN等数据安全方面。保证每一次交易流程使用唯一的密钥,采用一种不可逆的密钥转换算法,使得无法从当前交易数据信息破解上一次交易密钥。要求收单行与终端必须同步支持该项密钥管理技术。由交易发起端点(S-TRSM,如POS、ATM)与交易接收端点(R-TRSM,如收单行)两部分组成。原创 2024-10-24 00:00:00 · 1990 阅读 · 0 评论 -
[翻译]MOSIP Blue Book
基础身份证系统是指个人从政府获得唯一标识符,用于各种目的的身份断言和验证。模块化开源身份识别平台(MOSIP)将有助于建立一个基本的身份识别系统,维护包容性、稳健性、隐私性和信任性原则。原创 2024-10-14 06:30:00 · 1687 阅读 · 0 评论 -
[翻译]MOSIP 101
模块化开源身份识别平台(MOSIP)是一个强大而安全的开源平台,用于构建基础身份识别系统。它使一个国家能够为个人提供独特的数字身份,并以安全的方式对他们进行身份验证。原创 2024-10-14 00:30:00 · 1818 阅读 · 0 评论 -
[翻译]ANSI X9.24-1-2009
该密钥管理标准与美国国家标准三重数据加密算法(TDEA)(见参考文献2)结合使用,用于管理对称密钥,这些密钥可用于保护金融服务环境中的消息和其他敏感信息。基于TDEA的任何过程的安全性和可靠性直接取决于对称加密密钥的保护本标准规定了密钥操作的安全管理和应用程序级互操作性的要求和条件。这些密钥可用于验证消息(见参考文献5)、加密个人识别号(PlN)(见参考资料4)、加密其他数据和加密其他密钥。原创 2024-10-07 06:15:00 · 900 阅读 · 0 评论 -
数字签名验签的OpenSSL代码实现Demo
在信息传输过程中,为了确保数据的完整性和真实性,常常需要使用数字签名这一技术手段。数字签名结合了公钥加密和私钥解密的过程,使得数据在传输过程中能够得到有效的保护。本文将通过图文并茂的方式,详细解释数字签名的原理、生成过程以及验签的步骤;并且提供代码实现Demo工程。原创 2024-09-23 06:15:00 · 1162 阅读 · 0 评论 -
国密算法SM2的GmSSL代码实现Demo
SM2国密算法是一种非对称加密算法,基于 ECC(椭圆加密算法),SM2算法对标我们常用的国际算法 RSA。原创 2024-08-18 06:12:34 · 1005 阅读 · 0 评论 -
国密算法SM4的GmSSL代码实现Demo
SM4.0(原名SMS4.0)是中华人民共和国政府采用的一种分组密码标准,由国家密码管理局于2012年3月21日发布。相关标准为“GM/T 0002-2012《SM4分组密码算法》(原SMS4分组密码算法)”。 在商用密码体系中,SM4主要用于数据加密,其算法公开,分组长度与密钥长度均为128bit,加密算法与密钥扩展算法都采用32轮非线性迭代结构,S盒为固定的8比特输入8比特输出。原创 2024-08-13 12:00:00 · 1520 阅读 · 0 评论 -
国密算法SM3的GmSSL代码实现Demo
SM3是中华人民共和国政府采用的一种密码散列函数标准,由国家密码管理局于2010年12月17日发布。相关标准为“GM/T 0004-2012 《SM3密码杂凑算法》”。 在商用密码体系中,SM3主要用于数字签名及验证、消息认证码生成及验证、随机数生成等,其算法公开。据国家密码管理局表示,其安全性及效率与SHA-256相当。原创 2024-08-13 06:43:38 · 1241 阅读 · 0 评论 -
Windows下编译GmSSL源码
GmSSL是一个开源的密码工具箱,支持SM2/SM3/SM4/SM9/ZUC等国密(国家商用密码)算法、SM2国密数字证书及基于SM2证书的SSL/TLS安全通信协议,支持国密硬件密码设备,提供符合国密规范的编程接口与命令行工具,可以用于构建PKI/CA、安全通信、数据加密等符合国密标准的安全应用。原创 2024-08-12 11:34:09 · 1453 阅读 · 2 评论 -
数字证书X.509的OpenSSL代码实现Demo
公钥证书(Public-Key Certificate,PKC)其实和驾照很相似,里面记有姓名、组织、邮箱地址等个人信息,以及属于此人的公钥,并由认证机构(Certification Authority、Certifying Authority,CA)施加数字签名。只要看到公钥证书,我们就可以知道认证机构认定该公钥的确属于此人。公钥证书也简称为证书(certificate)。原创 2024-08-12 11:21:55 · 1057 阅读 · 0 评论 -
非对称加密算法RSA的OpenSSL代码实现Demo
RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。RSA加密算法是一种可逆的非对称加密算法,即RSA加密时候用的密钥(公钥)和RSA解密时用的密钥(私钥)不是同一把。基本原理是将两个很大的质数相乘很容易得到乘积,但是该乘积分解质因数却很困难。RSA算法被广泛的用于加密解密和RSA签名/验证等领域。原创 2024-07-22 22:00:00 · 987 阅读 · 0 评论 -
对称加密算法AES的OpenSSL代码实现Demo
AES (Advanced Encryption Standard) 加密算法就是一种广泛使用的对称加密算法。该算法用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,AES由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,AES已然成为对称密钥加密中最流行的算法之一。原创 2024-07-22 17:41:05 · 789 阅读 · 0 评论 -
消息认证码HMAC算法的OpenSSL代码实现Demo
消息认证码(Message Authentication Code)是一种确认完整性并进行认证的技术,取三个单词的首字母,简称为MAC。消息认证码的输入包括任意长度的消息和一个发送者与接收者之间共享的密钥,它可以输出固定长度的数据,这个数据称为MAC值。原创 2024-07-15 06:15:00 · 1028 阅读 · 0 评论 -
单向散列算法的OpenSSL代码实现Demo
单向散列函数(one-way hash function)有一个输入和一个输出,其中输入称为消息(message),输出称为散列值(hash value)。单向散列函数可以根据消息的内容计算出散列值,而散列值就可以被用来检查消息的完整性。原创 2024-07-15 00:15:00 · 1021 阅读 · 0 评论 -
Windows下编译OpenSSL静态库
OpenSSL是一个功能丰富且开源的安全工具箱,它提供的主要功能有:SSL协议实现(包括SSLv2、SSLv3和TLSv1)、大量软算法(对称/非对称/摘要)、大数运算、非对称算法密钥生成、ASN.1编解码库、证书请求(PKCS10)编解码、数字证书编解码、CRL编解码、OCSP协议、数字证书验证、PKCS7标准实现和PKCS12个人数字证书格式实现等功能。原创 2024-07-08 06:46:21 · 4253 阅读 · 0 评论 -
密码技术中分组模式解析
DES、3DES、AES等大多数对称密码算法都属于分组密码,它们只能加密固定长度的明文。如果需要加密任意长度的明文,就需要对分组密码进行迭代,而分组密码的迭代方法就称为分组密码的“模式”。原创 2024-07-08 00:30:00 · 1082 阅读 · 0 评论 -
密码技术中填充模式解析
分组密码算法中需要将明文按指定大小进行分组,由于明文并非指定大小的整数倍,因此在明文的最后一个分组需要将其填充至加密算法所要求的分组大小后进行加密。原创 2024-07-01 05:28:15 · 2125 阅读 · 0 评论 -
数字证书与PKI解析
公钥证书(Public-Key Certificate,PKC)其实和驾照很相似,里面记有姓名、组织、邮箱地址等个人信息,以及属于此人的公钥,并由认证机构(Certification Authority、Certifying Authority,CA)施加数字签名。只要看到公钥证书,我们就可以知道认证机构认定该公钥的确属于此人。公钥证书也简称为证书(certificate)。原创 2024-07-01 00:30:00 · 1412 阅读 · 0 评论 -
数字签名解析
数字签名不是手写签名的数字图像数字签名是一种可以提供认证的加密形式,是转向完全无纸环境的一个途径;数字签名机制用以解决伪造、抵赖、冒充和篡改、完整性保护等安全问题。原创 2024-06-29 07:17:26 · 506 阅读 · 0 评论 -
消息认证码解析
消息认证码(Message Authentication Code)是一种确认完整性并进行认证的技术,取三个单词的首字母,简称为MAC。原创 2024-06-24 06:38:30 · 866 阅读 · 0 评论 -
混合密码系统解析
混合密码系统中会先用快速的对称密码来对消息进行加密,这样消息就被转换为了密文从而也就保证了消息的机密性。然后我们只要保证对称密码的密钥的机密性就可以了。这里就轮到非对称密码出场了,我们可以用非对称密码对加密消息时使用的对称密码的密钥进行加密。由于对称密码的密钥一般比消息本身要短,因此非对称密码速度慢的问题就可以忽略了。原创 2024-06-24 00:30:00 · 1795 阅读 · 0 评论 -
单向散列函数解析
单向散列函数(one-way hash function)有一个输入和一个输出,其中输入称为消息(message),输出称为散列值(hash value)。单向散列函数可以根据消息的内容计算出散列值,而散列值就可以被用来检查消息的完整性。原创 2024-06-17 06:00:00 · 735 阅读 · 0 评论 -
对称加密系统解析
对称加密,是指在加密和解密时使用同一秘钥的方式。秘钥的传送和保存的保护非常重要,务必不要让秘钥被他人窃取。原创 2024-06-10 06:00:00 · 2469 阅读 · 0 评论 -
信息安全与密码技术概述
《网络安全法》、《密码法》、《数据安全法》、《个人信息保护法》共同构建了我国数据治理法律框架,是我国数字经济时代重要法律基石。原创 2024-06-09 06:00:00 · 1568 阅读 · 0 评论 -
Base64编解码及C++代码实现
Base64是一种二进制到文本的编码方式。如果要更具体一点的话,可以认为它是一种将byte数组编码为字符串的方法,而且编码出的字符串只包含ASCII基础字符。例如字符串 mickey0380 对应的Base64为 bWlja2V5MDM4MA==。其中那个 = 比较特殊,是填充符。值得注意的是Base64不是加密算法,其仅仅是一种编码方式,算法也是公开的,所以不能依赖它进行加密。原创 2024-03-25 11:25:07 · 5877 阅读 · 1 评论