对称密钥与非对称密钥

(一)对称加密(Symmetric Cryptography)

对称密钥加密,又称私钥加密,即信息的发送方和接收方用一个密钥去加密和解密数据。它的最大优势是加/解密速度快,适合于对大数据量进行加密,对称加密的一大缺点是密钥的管理与分配,换句话说,如何把密钥发送到需要解密你的消息的人的手里是一个问题。在发送密钥的过程中,密钥有很大的风险会被黑客们拦截。现实中通常的做法是将对称加密的密钥进行非对称加密,然后传送给需要它的人。

对称加密通常使用的是相对较小的密钥,一般小于256 bit。因为密钥越大,加密越强,但加密与解密的过程越慢。如果你只用1 bit来做这个密钥,那黑客们可以先试着用0来解密,不行的话就再用1解;但如果你的密钥有1 MB大,黑客们可能永远也无法破解,但加密和解密的过程要花费很长的时间。密钥的大小既要照顾到安全性,也要照顾到效率,是一个trade-off。

(二)非对称加密(Asymmetric Cryptography)

非对称密钥加密系统,又称公钥密钥加密。非对称加密为数据的加密与解密提供了一个非常安全的方法,它使用了一对密钥,公钥(public key)和私钥(private key)。私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。非对称加密使用这对密钥中的一个进行加密,而解密则需要另一个密钥。比如,你向银行请求公钥,银行将公钥发给你,你使用公钥对消息加密,那么只有私钥的持有人--银行才能对你的消息解密。与对称加密不同的是,银行不需要将私钥通过网络发送出去,因此安全性大大提高。 目前最常用的非对称加密算法是RSA算法。公钥机制灵活,但加密和解密速度却比对称密钥加密慢得多。

虽然非对称加密很安全,但是和对称加密比起来,它非常的慢,所以我们还是要用对称加密来传送消息,但对称加密所使用的密钥我们可以通过非对称加密的方式发送出去。为了解释这个过程,请看下面的例子:

(1) Alice需要在银行的网站做一笔交易,她的浏览器首先生成了一个随机数作为对称密钥。

(2) Alice的浏览器向银行的网站请求公钥。

(3) 银行将公钥发送给Alice。

(4) Alice的浏览器使用银行的公钥将自己的对称密钥加密。

(5) Alice的浏览器将加密后的对称密钥发送给银行。

(6) 银行使用私钥解密得到Alice浏览器的对称密钥。

(7) Alice与银行可以使用对称密钥来对沟通的内容进行加密与解密了。

(三)总结

(1) 对称加密加密与解密使用的是同样的密钥,所以速度快,但由于需要将密钥在网络传输,所以安全性不高。

(2) 非对称加密使用了一对密钥,公钥与私钥,所以安全性高,但加密与解密速度慢。

(3) 解决的办法是将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方可以使用对称加密来进行沟通。

时间: 2024-08-06 21:44:43

对称密钥与非对称密钥的相关文章

对称密钥与非对称密钥算法

对称密钥算法和非对称密钥算法 密码学中两种常见的密码算法为对称密码算法(单钥密码算法)和非对称密码算法(公钥密码算法). 所谓对称密钥算法是指如果一个加密算法的加密密钥和解密密钥相同,或者虽然不相同,但是可由其中的任意一个很容易的推导出另一个,即密钥是双方共享的. 非对称密钥算法是指一个加密算法的加密密钥和解密密钥是不一样的,或者说不能由其中一个密钥推导出另一个密钥.这两个密钥其中一个称为公钥,用于加密,是公开的,另一个称为私钥,用于解密,是保密的.其中由公钥计算私钥是计算上不可行的. 这两种密

ssl证书的对称密钥与非对称密钥

(一)对称加密(Symmetric Cryptography) 对称密钥加密,又称私钥加密,即信息的发送方和接收方用一个密钥去加密和解密数据.它的最大优势是加/解密速度快,适合于对大数据量进行加密,对称 加密的一大缺点是密钥的管理与分配,换句话说,如何把密钥发送到需要解密你的消息的人的手里是一个问题.在发送密钥的过程中,密钥有很大的风险会被黑客们 拦截.现实中通常的做法是将对称加密的密钥进行非对称加密,然后传送给需要它的人. 对称加密通常使用的是相对较小的密钥,一般小于256 bit.因为密钥越

SQLSERVER加密解密函数(非对称密钥 证书加密 对称密钥)

ENCRYPTBYASYMKEY() --非对称密钥 ENCRYPTBYCERT()   --证书加密 ENCRYPTBYKEY()   --对称密钥 ENCRYPTBYPASSPHRASE()  --通行短语(PassPhrase)加密 --非对称密钥包含数据库级的内部公钥和私钥,它可以用来加密和解密SQL Server数据库中的数据,它可以从外部文件或程序集中导入,也可以在SQL Server数据库中生成.它不像证书,不可以备份到文件.这意味着一旦在SQL Server中创建了它,没有非常简

对称与非对称密钥加密

公开密钥加密也称非对称密钥加密,该加密算法使用两个不同的密钥:加密密钥和解密密钥.前者公开,又称公开密钥,简称公钥:后者保密,又称私有密钥,简称私钥.这两个密钥是数学相关的,用某用户加密密钥加密后所得的信息只能用该用户的解密密钥才能解密.RSA算法(由发明者Rivest,Shmir和Adleman姓氏首字母缩写而来)是著名的公开密钥加密算法. 公钥加密的另一用途是身份验证:用私钥加密的信息,可以用公钥对其解密,接收者由此可知这条信息确实来自于拥有私钥的某人.私钥加密的过程即数字签名. 用公钥加密

非对称密钥的来源

RSA算法是最早得到广泛使用的非对称加密算法,RSA算法基于分解大素数之乘积的困难性.较新的非对称加密算法是ECC,ECC基于离散对数难题.它能够以较少的计算资源消耗达到与RSA相当的安全性.目前,大多的数字证书仍然基于RSA算法.如果数学上发现了一种快速计算素数乘积或者离散对数的方法,就意味着相应的非对称加密算法被彻底破解.在这样一个数学天才出现之前,我们还能够无忧地使用这些算法. 对称加密算法本身对密钥的值没有约束,虽然我们会有意避开一些太有规律的密钥值.与对称密钥不同,非对称加密算法不能使

sftp,putty使用非对称密钥RSA无需密码登录远程主机

参考链接 SCP和SFTP不用输入密码的信任公钥方法攻略 1.在本地主机(Ubuntu)产生RSA密钥 cd ~/.ssh/ ssh-keygen -t rsa 均Enter采用默认方式,则产生两个文件 id_rsa id_rsa.pub 2.将公钥id_rsa.pub添加到远程主机~/.ssh/authorized_keys 文件 cat id_rsa.pub >> .ssh/authorized_keys 3.再次使用sftp链接远程主机无需密码 sftp -o port=XXX [ema

非对称密钥实验

非对称密钥实验 实验目的 对文件进行非对称加解密 实验准备 主机:A和B OS: CentOS7 IP :192.168.172.134 一.分别在2台主机上生成公钥和私钥 1.在主机A上生成公私钥 [[email protected] ~]# gpg --gen-key gpg (GnuPG) 2.0.22; Copyright (C) 2013 Free Software Foundation, Inc. This is free software: you are free to chan

https 结合使用 对称加密和非对称加密

(一)对称加密(Symmetric Cryptography) ---共享密钥加密 对称加密是最快速.最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key),这种方法在密码学中叫做对称加密算法.对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中.对称加密通常使用的是相对较小的密钥,一般小于256 bit.因为密钥越大,加密越强,但加密与解密的过程越慢.如果你只用1 bit来做这个密钥,那黑客们可以先试着用

关于sql的对称性密钥和非对称性密钥(基础)

首先谈一下自己的理解,密钥我们都知道是对我们所知道的某一个事物进行加密.先讲一下对称性密钥,如果我们对一个数据库中的一个表的某些元素进行加密的时候,所用的加密密码和解密的密码是一致的,而非对称性密钥则刚好是相反的. 我们具体看下怎样对一个我们想要加密的表数据进行加密和解密. 1.加密一个数据库中的表的信息 2.建master Key: CREATE MASTER KEY ENCRYPTION BY PASSWORD = '[email protected]'; 用于加密数据库主密钥的密码 数据库