密码学
码农小明
openHarmony多媒体领域开发者。
展开
-
图解分组密码五大工作模式
在密码学中,分组密码操作模式是使用分组密码来提供诸如机密性或真实性的信息服务的算法。基于分组的对称密码算法比如DES/AES算法只是描述如何根据秘钥对一段固定长度(分组块)的数据进行加密,对于比较长的数据,分组密码工作模式描述了如何重复应用某种算法加密分组操作来安全地转换大于块的数据量。 简单的说就是,AES算法描述怎么加密一个数据块,分组密码工作模式模式了如果重复加密比较长的多个数据块。 常...原创 2018-04-22 00:18:43 · 20136 阅读 · 2 评论 -
伽罗华域运算及C语言实现
伽罗华域(Galois Field)简介在数学中,有限域(或称伽罗华域)是一个包含有限元素的域。与其他域一样,有限域是进行加减乘除运算都有定义并且满足特定规则的集合。其中加法和乘法必须满足交换、结合和分配的规律。加法和乘法具有封闭性,即加法和乘法结果仍然是域中的元素。伽罗华域一般用GF(2M)GF(2M)GF(2^M)表示,这个域中含有2M2M2^M个元素。GF(2M)GF(2M)GF(2...原创 2018-05-03 00:36:42 · 6600 阅读 · 6 评论 -
AES算法描述及C语言实现
前言AES算法是当前最流行的对称加密算法,也是一种分组加密算法,分组密码就是把明文分为固定长度的一组一组,每次加密一组数据,直到加密完整个明文数据。AES算法根据分组长度可以分为AES128, AES192,AES256,其所要求的秘钥长度和加密轮数也各不相同。鉴于这三种模式的算法在本质上没有区别,所以本文主要介绍AES-128(数据分组为16字节,秘钥长度为16字节,加密轮数为10轮),并给...原创 2018-05-06 23:16:25 · 82386 阅读 · 67 评论 -
RSA算法原理
RSA算法原理RSA加密算法是一种非对称加密算法。对称加密算法中加密和解密都得用同一个秘钥,必须保证秘钥不泄露才能保证数据的安全,加解密两方之间密钥的传递是存在安全隐患的。非对称加密算法中加密和解密使用不同的秘钥(公钥和私钥)。比如:甲方可以使用乙方给的公钥进行加密,乙方收到密文后使用自己的私钥进行解密。RSA算法是一种基于大数分解的非对称加密算法,由已知加密密钥推导出解密密钥在计算上是不...原创 2018-07-05 15:52:58 · 707 阅读 · 0 评论 -
通过OpenSSL生成自签名证书,认识RSA算法
前言OpenSSL是一个安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。OpenSSL本身是一个基于C语言的库,但是它也提供一个名为openssl的可执行程序来实现它所具有的功能。 可以通过OpenSSL官网下载源码,Linux和MacOS系统configure一下,make一下就OK了,相信你会编译了。编译后源码根...原创 2018-07-06 15:50:45 · 2665 阅读 · 0 评论