密码学与安全
介绍实战中密码学安全相关的经验。
浮云若飞
这个作者很懒,什么都没留下…
展开
-
数字签名:RSA-PSS 实现
前言数字签名是公钥密码学发展过程中最重要的概念之一,它可以提供其他方法难以实现的安全性,是用于鉴别数字信息的方法,它可以实现别人无法伪造的一段字符串,同时这段字符串可以信息发送者发送消息的真实性进行验证。数字签名可以用的算法很多,这里实现了RSA-PSS算法。RSA-PSS 数字签名算法顾名思义,这个算法是基于RSA的,RSA的算法简单论述如下: RSA算首先产生素数p,q,计算n = p * q原创 2017-12-13 16:25:44 · 15586 阅读 · 2 评论 -
keccak算法及实现
前言现在社会中hash算法的应用越来越广泛,因为hash 算法可以用于保证文件不被篡改,可以保证消息正确有效,同时还可以做数字签名,在http协议的开发中,还可以验证某个文件是否被修改过以做到断点续传。而传统的hash函数受到的攻击也越来越多,攻击方法也越来越有效,旧的算法变得不安全,那么就要推行新的标准,而keccak作为SHA- 3算法中的最终的优胜者,当然是有他的优势所在的,所以这里将讨论ke原创 2017-11-25 23:28:16 · 17842 阅读 · 1 评论 -
ElGamal 加密(利用Gmp计算)
公钥密码体制是近现代的一个伟大发明,相对于传统的密码体制而言,公钥密码体制有许多的优点,他能够使得用户能够在公共信道上安全的进行密钥交换,而不必担心由于密钥在公共信道上传输时受到攻击而导致的密钥泄露。 以下部分将介绍公钥密码中的ElGamal密码体制,并有C语言函数实现。ElGamal密码体制1984年,ElGamal提出了一种基于离散对数的公开密钥体制,他的密钥产生基于一个公开的素数,利原创 2017-11-23 21:11:17 · 5463 阅读 · 0 评论 -
Vault: 基础教程之入门及使用介绍
vault介绍vault 是一个强大的密码管理工具,它基于命令行,是开源的。vault是非常强大的,它具有如下特性: 1. 安全密码存储 2. 动态密码生成 3. 数据加密 4. 租期及更新 5. 废弃下面来一步步介绍vault。一、使用入门首先我们使用vault server -dev开启vault的开发服务器,此服务器仅仅用于开发环境,生产环境下使用会导致不安...原创 2018-08-11 16:22:45 · 29340 阅读 · 0 评论 -
Vault: 基础教程之密码引擎及动态密码生成
二、密码引擎在前面看到的所有密码的写入和读出,你可能发现他们都是以secret/开头的,尝试一下不同的前缀: vault write foo/bar a=b会得到一个错误:no handler for route 'foo/bar'。因此,前缀代表的是vault所用的密码引擎,默认为secret/。启动密码引擎使用命令vault secrets enable -p...原创 2018-08-11 16:24:21 · 3159 阅读 · 4 评论 -
Vault: 基础教程之内置帮助及认证
四、内置帮助现在你已经使用过键值对的密码引擎及AWS下的动态密码生成了,在两个例子之中,结构是使用都是不一样的,那么你要如何记住使用什么路径呢,vault里面有内置的帮助系统,可以通过api或者命令行访问,同时生成可读的帮助信息。首先我们还是启用aws,通过vault secrets enable -path=aws aws来启用,然后即可使用vault path-help aws来查看路...原创 2018-08-11 16:49:17 · 2735 阅读 · 0 评论 -
Vault: 基础教程之策略
六、策略策略可以控制用户可以访问的内容,授权和策略都采用相同的格式,所有的认证方法都会将认证映射到策略上。策略格式及编写策略时以HCL编写的,但它与json兼容:# Normal servers have version 1 of KV mounted by default, so will need these# paths:path "secret/*" { c...原创 2018-08-11 16:49:55 · 1538 阅读 · 0 评论 -
Vault: 基础教程之部署
七、部署vault配置vault使用HCL文件配置:storage "consul" { address = "127.0.0.1:8500" path = "vault/"}listener "tcp" { address = "127.0.0.1:8200" tls_disa原创 2018-08-11 17:00:30 · 4790 阅读 · 0 评论