赞
踩
非对称加密起源于RSA算法,除此之外还有DSA、ECC等。
对极大整数做因数分解的难度决定了 RSA 算法的可靠性。换言之,对一极大整数做因数分解愈困难,RSA 算法愈可靠。假如有人找到一种快速因数分解的算法的话,那么用 RSA 加密的信息的可靠性就会极度下降。但找到这样的算法的可能性是非常小的。今天只有短的 RSA 钥匙才可能被强力方式破解。到2020年为止,世界上还没有任何可靠的攻击RSA算法的方式。只要其钥匙的长度足够长,用RSA加密的信息实际上是不能被破解的。
— 维基百科
RSA(Rivest-Shamir-Adleman)是一种公钥密码学算法,是目前广泛使用的非对称加密算法之一,其安全性基于数论中的两个难题:大素数分解问题和欧拉定理。RSA 算法的基本原理如下:
以下算法都至少包含RSA非对称加密算法。
GPG用于给文件进行非对称加密。
安装gpg
sudo apt install gpg
生成gpg密钥:
gpg --full-generate-key
# 使用默认配置,快速生成 gpg --gen-key
选择密码长度,1024-4096,越长越慢,越长越安全。
选择有效期
y
真实姓名:
邮箱:
o
管理gpg密钥:
# 查看gpg秘钥
gpg --list-keys
# 删除秘钥
gpg --delete-secret-keys "<uid>"
# 上传公钥
gpg --send-keys <uid> --keyserver <管理公钥的服务器地址>
# 生成公钥指纹
gpg --fingerprint <uid>
# 导入秘钥
gpg --import <公钥文件>
加密和解密:
# 加密
gpg --recipient <对方的公钥/uid> --encrypt <要加密的文件>
# 解密
gpg <要解密的文件>
ssh(Secure Shell 的缩写)基于OpenSSH协议,用于安全远程终端通信。
密码登录,以服务器的用户名和密码进行登录:
# 登录远程终端
ssh <用户名>@<主机地址>
# 指定登录端口,默认为22
ssh -p <端口号> <用户名>@<主机地址>
自动登录,使用密钥登录:
# 生成ssh密钥
ssh-keygen
# ssh-keygen -t rsa
# 查看ssh公钥
cat ~/.ssh/id_rsa.pub
# 拷贝自己的公钥到服务器的 ~/.ssh/authorized_keys
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。