公钥算法

https原理通俗了解

我与影子孤独终老i 提交于 2020-03-02 09:06:19
摘要:本文尝试一步步 还原 HTTPS的设计过程,以理解为什么HTTPS最终会是这副模样。但是这并不代表HTTPS的真实设计过程。在阅读本文时,你可以尝试放下已有的对HTTPS的理解,这样更利于“还原”过程。 我们先不了聊HTTP,HTTPS,我们先从一个聊天软件说起,我们要实现A能发一个hello消息给B: 如果我们要实现这个聊天软件,本文只考虑安全性问题,要实现 A发给B的hello消息包,即使被中间人拦截到了,也无法得知消息的内容 如何做到真正的安全? 这个问题,很多人马上就想到了各种加密算法,什么对称加密、非对称加密、DES、RSA、XX、噼里啪啦~ 而我想说,加密算法只是 解决方案 ,我们首先要做的是理解我们的 问题域 —— 什么是安全? 我个人的理解是: A与B通信的内容,有且只有A和B有能力看到通信的真正内容 好,问题域已经定义好了(现实中当然不止这一种定义)。对于解决方案,很容易就想到了对消息进行加密。 题外话,但是只有这一种方法吗?我看未必,说不定在将来会出现一种物质打破当前世界的通信假设,实现真正意义上的保密。 对于A与B这样的简单通信模型,我们很容易做出选择: 这就是 对称加密算法 ,其中图中的 密钥S 同时扮演加密和解密的角色。具体细节不是本文范畴。 只要这个密钥S不公开给第三者,同时密钥S足够安全,我们就解决了我们一开始所定问题域了

使用ssh公钥实现免密码登录

佐手、 提交于 2020-03-01 05:07:44
ssh 无密码登录要使用公钥与私钥。linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例。 有机器A(192.168.1.155),B(192.168.1.181)。现想A通过ssh免密码登录到B。 首先以root账户登陆为例。 1.在A机下生成公钥/私钥对。 [root @A ~ ]# ssh - keygen - t rsa - P '' -P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车。 该命令将在/root/.ssh目录下面产生一对密钥id_rsa和id_rsa.pub。 一般采用的ssh的rsa密钥: id_rsa 私钥 id_rsa.pub 公钥 下述命令产生不同类型的密钥 ssh-keygen -t dsa ssh-keygen -t rsa ssh-keygen -t rsa1 2.把A机下的/root/.ssh/id_rsa.pub 复制到B机的 /root/.ssh/authorized_keys文件里,先要在B机上创建好 /root/.ssh 这个目录,用scp复制。 [root@A ~ ]# scp /root/.ssh/id_rsa.pub root@ 192.168.1.181 :/root/.ssh/authorized_keys root@ 192.168 . 1.181 '

《现代密码学》习题

被刻印的时光 ゝ 提交于 2020-02-29 04:54:56
第一章 1.1949年,Shannon发表题为《保密系统的通信理论》的文章,为密码系统建立了理论基础,从此密码学成为一门科学。 2.一个加密系统至少由明文、密文、加密算法、解密算法和密钥组成,其安全性是用密钥决定的。 3.计算和估计出破译密码系统的计算量下限,利用已有的最好方法破译他的所需要的代价超出了破译者的破译能力(时间、空间、资金等资源),那么该密码系统的安全性是 计算安全。 4.根据密码分析者所掌握的分析资料的不同,密码分析一般可以分为4类:唯密文攻击、已知明文攻击、选择明文攻击,选择密文攻击,其中破译难度最大的是选择密文攻击。 5.1976年,Diffie和Helman在《密码学的新方向》中提出立了公开密钥密码的思想,开创了现代密码学的新领域。 6.密码学发展过程中,两个质的飞跃分别指1949年香农发表的保密系统的通信理论和公钥密码思想。 7.密码学是研究信息寄信息系统安全的科学,密码学又分为密码编码学和密码分析学。 8.一个保密系统一般是明文、密文、密钥、加密算法和解密算法五部分组成的。 9.密码体制是指实现加密和解密功能的密码方案,从使用密钥策略上,可分为对称和非对称。 10.对称密码体制又称为秘密密钥体制,包括分组密密码和序列密码。 第二章 1.字母频率分析法对单表带换密码算法最有效。 2.希尔密码算法抵御频率分析攻击能力最强,而对已知明文攻击最弱。 3

rsa加密解密, 非对称加密

≯℡__Kan透↙ 提交于 2020-02-28 14:45:58
2016年3月17日 17:21:08 星期四 现在越来越懒了.... 参考: http://www.xuebuyuan.com/1399981.html 左边是加密流程, 右边是解密流程 呃...有一个错别字, "摘" ------2018-3-21 11:17:54 星期三 参考 : 所谓非对称加密,其实很简单,就是加密和解密需要两把钥匙:一把公钥和一把私钥 公钥是公开的,任何人都可以获取。 私钥是保密的,只有拥有者才能使用。 他人使用你的公钥加密信息,然后发送给你,你用私钥解密,取出信息。 反过来,你也可以用私钥加密信息,别人用你的公钥解开,从而证明这个信息确实是你发出的,且未被篡改,这叫做数字签名 参考 : 1977年,三位数学家Rivest、Shamir 和 Adleman 设计了一种算法,可以实现非对称加密。这种算法用他们三个人的名字命名,叫做RSA算法 来源: https://www.cnblogs.com/iLoveMyD/p/5288255.html

HTTPS中TLS/SSL的握手过程

半城伤御伤魂 提交于 2020-02-27 09:05:09
1,非对称加密技术 非对称加密算法需要两个密钥,公开密钥(publickey)和私有密钥(privatekey);公钥和私钥是成对出现的。 非对称加密例子:B想把一段信息传给A,步骤:1)A把公钥传给B;2)B拿到A的公钥并利用此密钥给信息加密;3)B把加密的信息传给A;4)A利用私有密钥对加密信息进行解密即可得到B想给自己的信息。 (这个过程叫做密码传输,即B把信息加密后传给A) 问题:如果有个捣乱的冒充B,也用A的公钥给一段信息加密,并传给A,A再私钥解密得到的信息就会误认为是B的。 要解决此问题,B需要给A传个验证信息,让A可以验证自己受到的信息是B传的。该验证信息即下面的数字摘要(数字指纹) 2,数字摘要技术 该技术主要利用了哈希函数的两个特性:1)单向性;2)计算结果位数固定 数字摘要是采用单向Hash函数将需要加密的明文“摘要”成一串固定长度(128位)的密文,这一串密文又称为数字指纹,它有固定的长度,而且不同的明文摘要成密文,其结果总是不同的,而同样的明文其摘要必定一致。“数字摘要“是https能确保数据完整性和防篡改的根本原因。 3,数字签名技术 数字签名技术既利用了数字摘要(数字指纹)技术也利用了非对称加解密技术 。 数字签名过程 :1)B利用哈希函数得到上面传输信息的哈希值;2)B利用私钥给哈希值加密(注意:这里的非对称加密(私钥加密,公钥解密

区块链学习(2)钱包

天涯浪子 提交于 2020-02-26 07:26:53
比特币中的钱包并不包含比特币,只包含私钥,每一个用户有一个包含多个私钥的钱包。钱包中包含成对的私钥和公钥。用户用这些私钥来签名交易。可以说钱包是私钥的容器。 最开始的钱包只储存随机生成的私钥。这种类型的钱包被称作零型非确定钱包。从名字中就可以看出,这种钱包从最开始就生成足够多的私钥,私钥都是随机产生的。但这种钱包的缺点很明显,为了增加安全性,每次交易都使用不同的地址,而一个私钥对应一个地址,可以看下图。 就是如果你生成很多私钥,你必须保存它们所有的副本。钱包中的每一把钥匙都必须备份。非确定性的钱包私钥之间是没有任何关系的,所以你需要备份所有不同的私钥,十分麻烦。而确定性钱包就很好的解决了这个问题,确定性钱包也称为种子钱包。这个钱包的特点就是随机生成一个的种子数,这个种子便可以通过哈希方程计算出很多私钥,于是只要备份一个种子就行了。 助记码词汇对应确定性钱包的种子。一般由12、15、18、21个单词构成,这些单词都取自一个固定词库,其生成顺序也是按照一定算法而来。也可以被用来恢复以及重新创造应用程序相同或者兼容的钱包的钥匙。助记码代码可以让使用者复制钱包更容易一些, 因为助记词比私钥更容易记忆。PBKDF2 (Password-Based Key Derivation Function 2) 的基本原理是通过一个为随机函数(例如 HMAC 函数),把明文和盐值作为输入参数

一节课详解SSH协议

蓝咒 提交于 2020-02-25 19:00:44
SSH介绍  Telnet缺少安全的认证方式,而且传输过程采用TCP进行明文传输,存在很大的安全隐患。单纯提供Telnet服务容易招致DoS(Deny of Service)、主机IP地址欺骗、路由欺骗等恶意***。  随着人们对网络安全的重视,传统的Telnet和FTP通过明文传送密码和数据的方式,已经慢慢不被人接受。SSH(Secure Shell)是一个网络安全协议,通过对网络数据的加密,解决了这个问题。它在一个不安全的网络环境中,提供了安全的远程登录和其他安全网络服务。  SSH通过TCP进行数据交互,它在TCP之上构建了一个安全的通道。另外SSH服务除了支持标准端口22外,还支持其他服务端口,以防止受到非法***。 注意: SSH协议包括SSH1.0,SSH1.5,SSH2.0 SSH的功能 SSH支持的客户端功能  SSH客户端功能允许用户与支持SSH Server的路由器、UNIX主机等建立SSH连接 SFTP  SFTP(SSH File Transfer Protocol)是SSH FTP的简称,是一种安全的FTP。SFTP建立在SSH连接的基础之上,远程用户可以安全地登录设备,进行文件管理和文件传送等操作,为数据传输提供了更高的安全保障。同时,由于设备提供了SFTP客户端功能,可以从本设备安全登录到远程SSH服务器上,进行文件的安全传输。

漫谈iOS程序的证书和签名机制

允我心安 提交于 2020-02-25 12:28:08
漫谈iOS程序的证书和签名机制 P_Chou 6 天前 发布 推荐 4 推荐 收藏 42 收藏, 2.9k 浏览 原文: 漫谈iOS程序的证书和签名机制 接触iOS开发半年,曾经也被这个主题坑的摸不着头脑,也在淘宝上买过企业证书签名这些服务,有大神都做了一个全自动的发布打包(不过此大神现在不卖企业证书了),甚是羡慕和崇拜。于是,花了一点时间去研究了一下iOS这套证书和签名机制,并撰文分享给需要的朋友。由于本人才疏学浅,多有遗漏或错误之处,还请大神多多指教。 非对称加密和摘要 非对称加密的特性和用法 非对称加密算法可能是世界上最重要的算法,它是当今电子商务等领域的基石。简而言之,非对称加密就是指加密密钥和解密密钥是不同的,而且加密密钥和解密密钥是成对出现。非对称加密又叫公钥加密,也就是说成对的密钥,其中一个是对外公开的,所有人都可以获得,称为公钥,而与之相对应的称为私钥,只有这对密钥的生成者才能拥有。公私钥具有以下重要特性: 对于一个私钥,有且只有一个与之对应的公钥。生成者负责生成私钥和公钥,并保存私钥,公开公钥 公钥是公开的,但不可能通过公钥反推出私钥,或者说极难反推,只能穷举,所以只要密钥足够长度,要通过穷举而得到私钥,几乎是不可能的 通过私钥加密的密文只能通过公钥解密,公钥加密的密文只有通过私钥解密 由于上述特性,非对称加密具有以下的典型用法: 对信息保密,防止中间人攻击

DRF知识点与公钥私钥

落爺英雄遲暮 提交于 2020-02-19 00:55:39
1.等价 User . objects . get ( id = 1 ) == User . objects . filter ( id = 1 ) . first ( ) Token . objects . update_or_create ( user = user_obj , defaults = { 'key' : random_str } 更新或生成 Token 对象并修改 key字段,参数 有则更新,没有则创建 2.django的缓存与时效 应用 django的 cache 模块进行缓存 cache.set() cache.get()、 计算时间差设计逻辑 3.公钥与私钥 满足彼此互解 公钥 < -- -- -- - > 私钥 通过 RSA算法 公钥加密后私钥能解密,反之亦然 公钥加密保护数据 私钥加密数字签名即确认身份 来源: CSDN 作者: 似水灬流年 链接: https://blog.csdn.net/weixin_42719822/article/details/102921898

有趣的椭圆曲线加密

六眼飞鱼酱① 提交于 2020-02-14 04:11:06
一、概述 椭圆曲线加密算法依赖于椭圆曲线理论,后者理论涵盖的知识比较深广,而且涉及数论中比较深奥的问题。经过数学家几百年的研究积累,已经有很多重要的成果,一些很棘手的数学难题依赖椭圆曲线理论得以解决(比如费马大定理)。 本文涉及的椭圆曲线知识只是抽取与密码学相关的很小的一个角落,涉及到很浅的理论的知识,同时也是一点比较肤浅的总结和认识,重点是利用椭圆曲线结合数学技巧阐述加密算法的过程和原理。 本文特意构造有比较多的实例方便理解其过程和原理。 二、椭圆曲线 椭圆曲线方程来源于椭圆积分,后者来最初来源于计算椭圆周长的问题,有一段时间的历史了,在欧拉时期就开始研究。椭圆周长没有精确的初等函数的公式表示,只有近似的公式表示,精确的椭圆周长可以用不定积分表示。 现在一般将形如如下形式的积分定义为椭圆积分: $f(x)=\int_{c}^{x}R\left [ t,\sqrt{P(t)} \right ]d_{t}$ 其中$R$是其两个参数的有理函数,$P$是一个无重根的3或4阶多项式,而$c$是一个常数。椭圆曲线方程与$P(t)$表现形式比较相像。 数学上的椭圆曲线一般由如下形式给出: $E:y^{2}=x^{3}+ax^{2}+bx+c$,其中判别式$\Delta (E)=-4a^{3}c+a^{2}b^{2}-4b^{3}-27c^{2}+18abc\neq 0$