对称加密
lizhe@ubuntu:~/works/gpg$ echo helloworld > hello.txt
lizhe@ubuntu:~/works/gpg$ cat hello.txt
helloworld
lizhe@ubuntu:~/works/gpg$ gpg -c hello.txt
lizhe@ubuntu:~/works/gpg$ cat hello.txt.gpg
/7lizhe@ubuntu:~/works/gpg$ ,��'�`�h)����>�[?�L斔(k*�M��v��)� ��&�[a���'��
lizhe@ubuntu:~/works/gpg$
lizhe@ubuntu:~/works/gpg$ gpg -d hello.txt.gpg
gpg: AES256 encrypted data
gpg: encrypted with 1 passphrase
helloworld
lizhe@ubuntu:~/works/gpg$
非对称加密
gpg --full-gen-key
对称加密只要知道密码,就可以在任意电脑上打开原来的文件
非对称加密一定要保管好秘钥文件
gpg --recipient lizhe --encrypt hello.txt
解密
gpg -d hello.txt.gpg
对于对称加密而言,只要知道密码,到哪里都可以打开,但是对于 RSA,一定要备份好私钥
列出私钥
gpg -K
列出公钥
gpg -k
导出私钥
gpg -a -o private-file.key --export-secret-keys keyId
导出公钥
gpg -a -o public-file.key --export keyId
把加密文件和私钥拷贝到另一台电脑上
直接解密会得到
我们来导入 私钥
gpg --import private-file.key
再试一次
删除
gpg –delete-keys 6C8A15CECD3DCC2741A7C590AB38BACE635A064C
gpg –delete-secret-keys 6C8A15CECD3DCC2741A7C590AB38BACE635A064C
使用密码
gpg –import –pinentry-mode loopback –batch –passphrase password private-file.key
gpg –import –pinentry-mode loopback –batch –passphrase-file password-file private-file.key
AES和RSA都很安全,至少在目前的计算机体系结构下,没有任何有效的攻击方式
RSA有一定的破绽,因为利用shro’s algorithm,量子计算机穷举计算质因子速度可以提高N个数量级,能够在有限的时间内破解RSA密钥。AES256至少目前并没有什么明显的漏洞.
AES作为对称加密技术,加密速度很快, 但是如何安全的分发密码,就成了问题
RSA的公钥可以随意分发,但是 加密大文件时,性能开销确实也是个问题
特殊情况下,如果需要加密 大文件,最安全的方式还是 RSA 加密 密码,然后使用这个密码 进行 AES 加密
也就是 RSA 分发密码 + AES 加密 的方式