公钥算法

ssh免密码登陆及其原理

≯℡__Kan透↙ 提交于 2019-12-17 13:02:31
ssh 无密码登录要使用公钥与私钥。linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例。 有机器A(192.168.1.155),B(192.168.1.181)。现想A通过ssh免密码登录到B。 1.在A机下生成公钥/私钥对。 [chenlb@A ~]$ ssh-keygen -t rsa -P '' 直接ssh-keygen然后三次回车就可以了。 -P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车。 它在/home/chenlb下生成.ssh目录,.ssh下有id_rsa和id_rsa.pub。 2.把A机下的id_rsa.pub复制到B机下,在B机的.ssh/authorized_keys文件里,我用scp复制。(如果B机器没有.ssh和authorized_keys文件则创建这个文件夹和文件先) [chenlb@A ~]$ scp .ssh/id_rsa.pub chenlb@192.168.1.181:/home/chenlb/id_rsa.pub chenlb@192.168.1.181's password: id_rsa.pub 100% 223 0.2KB/s 00:00 由于还没有免密码登录的,所以要输入密码。 3.B机把从A机复制的id_rsa.pub添加到.ssh

JWT生成私钥和公钥

為{幸葍}努か 提交于 2019-12-15 03:17:51
JWT令牌生成采用非对称加密算法 1、生成密钥证书 下边命令生成密钥证书,采用RSA 算法每个证书包含公钥和私钥 keytool -genkeypair -alias xckey -keyalg RSA -keypass xuecheng -keystore xc.keystore -storepass xuechengkeystore Keytool 是一个java提供的证书管理工具 。 -alias:密钥的别名 -keyalg:使用的hash算法 -keypass:密钥的访问密码 -keystore:密钥库文件名,xc.keystore保存了生成的证书 -storepass:密钥库的访问密码 查询证书信息: keytool -list -keystore xc.keystore 删除别名 keytool -delete -alias xckey -keystore xc.keystore 2、导出公钥 openssl是一个加解密工具包,这里使用openssl来导出公钥信息。 配置openssl的path环境变量,本教程配置在G:\JavaSoft\openssl cmd进入xc.keystore文件所在目录执行如下命令: keytool ‐list ‐rfc ‐‐keystore xc.keystore | openssl x509 ‐inform pem ‐pubkey

密码加密与微服务鉴权JWT详细使用

和自甴很熟 提交于 2019-12-14 12:31:31
[TOC] 1.1、了解微服务状态 微服务集群中的每个服务,对外提供的都是Rest风格的接口,而Rest风格的一个最重要的规范就是:服务的无状态性。 什么是无状态? 1.服务端不保存任何客户端请求者信息 2.客户端的每次请求必须自备描述信息,通过这些信息识别客户端身份 无状态,在微服务开放中,优势是? 1.客户端请求不依赖服务端的信息,任何多次请求不需要必须访问到同一台服务 2.服务端的是否集群对客户端透明 3.服务端可以任意的迁移和伸缩 4.减小服务端储存压力 1.2、无状态登录实现原理 服务器端生产唯一标识(注意:最终需要进行校验) 方案1:UUID,数据单一,不能包含种类过多的信息。 方案2:RAS加密,数据多样,需要使用算法,有一定的理解难度。【使用】 浏览器储存和自动携带数据 方案1:使用cookie,有很多局限性(大小,个数) 方案2:请求参数,get请求URL有长度限制,每一个路径都需要处理比较麻烦。 方案3:浏览器localStroage存储,请求头携带。【使用】 2.1、RAS工具 服务与服务之间共享数据,采用JWT先生成数据,在另一个服务中解析数据,为了保证数据安全性,使用RAS对数据进行加密。 使用RAS加密保证token数据在传输过程中不会被篡改 RAS:非对称加密算法 特点 同时生产一对密钥:公钥和私钥 公钥秘钥:用于加密 私钥秘钥:用于解密

理解 BLS 签名算法

ぃ、小莉子 提交于 2019-12-11 17:34:03
理解 BLS 签名算法 来源 https://medium.com/cryptoadvance/bls-signatures-better-than-schnorr-5a7fe30ea716 原文标题:《干货:理解 BLS 签名算法》 作者:Stepan 翻译 & 校对:wuwei & 阿剑 之前的文章中,我介绍了 Schnorr 签名算法和它的优势。现在,我来介绍下 BLS (Boneh-Lynn-Shacham)签名算法以及它相比 Schnorr 的优胜之处。 长话短说,我们已经知道: ECDSA 签名算法已经足够胜任它的工作,但也仅限于此。它无法做签名聚合或者密钥聚合,因此只能挨个对签名进行验证。在验证多重签名的交易时,此举过于繁琐,我们需要逐个验证所有的签名及其对应的公钥,耗费大量的区块空间和交易费。 Schnorr 签名算法就好多了,它可以把一笔交易中的所有签名和公钥合并成单个签名和公钥,且合并过程不可见(无从追溯这个签名或公钥是否通过合并而来)。另外,可以一次性对合并后的签名做验证,加快了区块验证的速度。当然,该算法也有一些不足 : 多重签名需要多次(签名者之间的)通信,这对冷钱包来说过于麻烦; 聚合签名算法依赖随机数生成器,而不像 ECDSA 那样可以使用指定的随机点(R); m-n 多重签名机制比较取巧,需要构建公钥的默克尔树。当 m 和 n 较大时

知识面扩充

≡放荡痞女 提交于 2019-12-11 15:02:18
1. 自动获取IP地址的命令是什么?您知道在什么情况下,您的Linux才可以自动获取IP地址? 使用命令 dhclient可以自动获取IP地址,只有当我们的Linux所在的网络有dhcp服务器才可以自动获取ip,dhcp服务就是一个分发ip的管理器。 2. 远程连接Linux服务器,需要Linux服务器开启sshd服务,那么sshd服务默认监听哪个端口?这个端口是否可以自定义呢?如果可以,如何自定义? sshd服务默认监听22端口,这个端口是可以自定义的,需要修改/etc/ssh/sshd_config配置文件,把 "#Port 22"修改为"Port 12553" 其中12553就是新定义的sshd端口。 3. 列举出常用的远程连接linux的终端工具有哪些? putty, Secure CRT, Secure SSh, Xshell 等 4. 手动配置IP,需要修改哪个配置文件? 更改默认的配置文件,需要更改哪些地方,需要增加哪几行? 需要修改配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 需要修改的有: 更改:BOOTPROTO=static 增加:IPADDR=192.168.0.11 增加:NETMASK=255.255.255.0 增加:GATEWAY=192.168.0.1 增加:DNS1=192.168.0.1 5.

区块链私钥和公钥是什么?私钥和公钥有什么差别?

北慕城南 提交于 2019-12-09 16:48:18
一、区块链的安全性 由于全球区块链技术尚处于开发阶段,还未成熟,还没有完全解决客户端安全、应用安全等安全性问题。区块链技术是多种已有技术集成的创新结果,它包含了私钥加密算法、P2P网络以及工作量证明机制POW。这些技术也并不是坚不可破的,也存在着一些弊端,例如从加密算法来看,随着最新算法以及计算能力的提高,其目前安全的加密信息很有可能被解密。 二、区块链私钥 区块链私钥,就是一个随机选出的数字。控制了私钥就等于控制了一个比特币地址中的所有资金。私钥必须始终保持机密,最好冷备份,就是手写在纸上,然后妥善保管,谨防丢失,私钥一旦丢失就难以复原,其所保护的比特币也将永远丢失。私钥不能存放与邮箱、记事本等与网络连接的电子文件中,以防黑客入侵,造成资金损失。因为一旦被泄露给第三方,相当于该私钥保护之下的比特币也拱手相让了。 三、区块链公钥 很多人听到公钥就觉得是一把大家都能使用的钥匙,事实并非如此,公钥不是钥匙,而是1976年由美国斯坦福大学的迪菲和赫尔曼提出的一种密码体制。 这种密码体制在加密学中又叫做非对称加密体制,是对称加密(使用用户名与密码)方式的提高。公钥最早被用于数据的加密和解密,现在广泛用于虚拟货币的存储和交易。 公钥是由私钥生成的,但是无法通过公钥倒推得到私钥,公钥的作用是跟签名配合用来证明“我就是私钥的主人”。公钥和私钥一起组成一个密钥对,保存在钱包中

数字签名和数字证书

点点圈 提交于 2019-12-09 13:20:52
参考链接:    http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html    https://blog.csdn.net/weixin_37887248/article/details/82805508 这里涉及到了非对称加密的原理,一般加密和解密过程使用的是不同的密钥:公钥和私钥   对要传输的内容,使用公钥加密的话,只能用私钥解密   对要传输的内容,使用私钥加密的话,则只能用公钥解密。 而常说的数字签名,就与以上的第2个步骤有关,当然实际上还有其他步骤 比较典型的有RSA加密,算法安全性依赖于:大素数难以分解。因此其算法复杂度比较大,加解密效率相对来说不高。 通过下面的例子来说明数字签名和证书中心的作用 通信双方:A、B; A的公钥和私钥:PuA、PrA; B的公钥和私钥:PuB、PrB RSA通信过程,简单使用一次加密和解密,然后问题多多的方式如下   1. A准备发送内容,对内容使用公钥PuB进行加密,然后将密文传输给B   2. B收到A发送的数据,使用私钥PrB,解密并得到明文;读取之后,B现在要给A回复,因此使用公钥PuA对内容进行加密,将密文传输给A   3. A收到B的回复,使用公钥PuB对内容进行解密,得到明文。至此,一次完整的通信过程完成。  

浅析HTTPS与SSL原理

孤街浪徒 提交于 2019-12-06 19:04:09
版权声明:本文由盛旷 原创文章,转载请注明出处: 文章原文链接: https://www.qcloud.com/community/article/134 来源:腾云阁 https://www.qcloud.com/community HTTPS是指结合HTTP和SSL来实现网络浏览器和服务器之间的安全通信。HTTPS被融合到当今网络操作系统和网络浏览器中,他依赖于网络服务器是否支持HTTPS协议。本文重点是阐述HTTPS和SSL证书的原理,不涉及具体实现。在开始叙述原理之前,先明确几个网络安全方面的基础概念。 一.基础概念 1. 对称加密算法 一个对称加密算法由五个部分组成: 明文:原始消息或数据 加密算法 密钥 密文:使用密钥通过加密算法对明文计算后的结果 解密算法:使用密文和相同密钥通过解密算法产生原文 2. 非对称加密算法 与对称加密算法不同的是,非对称加密算法使用的加密密钥和解密密钥是不同的。 3. 公钥密码与RSA 公钥密码属于对称加密算法中的一种,公钥密码体系中有一个公钥和一个密钥,公钥是公开给所有人使用的,密钥只有自己知道,通常公钥根据一个密钥进行加密,根据另一个密钥进行解密。 RSA公钥密码算法是公钥密码算法中的一种,RSA中的加密和解密都可以使用公钥或者私钥,但是用公钥加密的密文只能使用私钥解密,用私钥加密的密文智能使用公钥解密。 二.SSL证书的原理

X.509

做~自己de王妃 提交于 2019-12-06 17:35:32
参考:https://baike.baidu.com/item/X.509/2817050?fr=aladdin 标题:X.509 百度百科 在密码术中,X.509是定义公用密钥证书格式的标准。 X.509证书用于许多Internet协议,包括TLS / SSL,这是HTTPS(浏览网络的安全协议)的基础。 它们还用于脱机应用程序,例如电子签名。 X.509证书包含公钥和身份(主机名,组织或个人),并且由证书颁发机构签名或自行签名。 当证书由受信任的证书颁发机构签名或通过其他方式进行验证时,持有该证书的人可以依靠其包含的公钥与另一方建立安全通信,或验证由相应私钥进行数字签名的文档。 X.509 是密码学里公钥证书的格式标准。 X.509 证书己应用在包括TLS/SSL(WWW万维网安全浏览的基石)在内的众多 Internet协议里.同时它也用在很多非在线应用场景里,比如电子签名服务。X.509证书里含有公钥、身份信息(比如网络主机名,组织的名称或个体名称等)和签名信息(可以是证书签发机构CA的签名,也可以是自签名)。对于一份经由可信的证书签发机构签名或者可以通过其它方式验证的证书,证书的拥有者就可以用证书及相应的私钥来创建安全的通信,对文档进行 数字签名 . 另外除了证书本身功能,X.509还附带了 证书吊销列表

加解密总结(附助手类)

好久不见. 提交于 2019-12-06 15:23:06
对称加密算法:DES、AES、IDEA、RC2、RC4、SKIPJACK…… 加解密使用相同密钥,这个是对称加密。对称加密优点是速度快 非对称加密算法:RSA、DSA、DH、ECC、EL GAMAL…… 公钥加密数据,然后私钥解密的情况被称为加密解密; 因为公钥加密的数据只有它相对应的私钥可以解开,所以你可以把公钥给人和人,让他加密他想要传送给你的数据,这个数据只有到了有私钥的你这里,才可以解开成有用的数据,其他人就是得到了,也看懂内容 实际应用中,一般都是和对方交换公钥,然后你要发给对方的数据,用他的公钥加密,他得到后用他的私钥解密,他要发给你的数据,用你的公钥加密,你得到后用你的私钥解密,这样最大程度保证了安全性. 缺点速度慢 Hash算法:MD5、SHA1、SHA256…… 无论消息有多长,计算出的摘要长度都是固定的,MD5没有SHA算法安全 数字签名: 私钥签名和公钥验证签名;RSA可以用来做签名、验签 如果你用你的私钥对数据进行签名,那这个数据就只有配对的公钥可以解开,有这个私钥的只有你,所以如果配对的公钥解开了数据,就说明这数据是你发的,相反,则不是.这个被称为签名。数字签名的意义就是这些数据与原文数据比对是否修改过。 CA证书如何保证网站数据安全: 网站向CA机构申请证书,网站方提供网站信息及公钥给CA机构,CA机构使用自己的私钥对公钥签名,以防篡改。