① 非对称加密和对称加密的区别
非对称加密和对称加密在加密和解密过程、加密解密速度、传输的安全性上都有所不同,具体介绍如下:
1、加密和解密过程不同
对称加密过程和解密过程使用的同一个密钥,加密过程相当于用原文+密钥可以传输出密文,同时解密过程用密文-密钥可以推导出原文。但非对称加密采用了两个密钥,一般使用公钥进行加密,使用私钥进行解密。
2、加密解密速度不同
对称加密解密的速度比较快,适合数据比较长时的使用。非对称加密和解密花费的时间长、速度相对较慢,只适合对少量数据的使用。
3、传输的安全性不同
对称加密的过程中无法确保密钥被安全传递,密文在传输过程中是可能被第三方截获的,如果密码本也被第三方截获,则传输的密码信息将被第三方破获,安全性相对较低。
非对称加密算法中私钥是基于不同的算法生成不同的随机数,私钥通过一定的加密算法推导出公钥,但私钥到公钥的推导过程是单向的,也就是说公钥无法反推导出私钥。所以安全性较高。
② 对称密钥加密是如何进行的
对称密钥加密也叫秘密/专用密钥加密(Secret Key Encryption),即发送和接收数据的双方必须使用相同的/对称的密钥对明文进行加密和解密运算。
非对称密钥加密也叫公开密钥加密(Public Key Encryption),是指每个人都有一对唯一对应的密钥:公开密钥和私有密钥,公钥对外公开,私钥由个人秘密保存;用其中一把密钥来加密,就只能用另一把密钥来解密。发送数据的一方用另一方的公钥对发送的信息进行加密,然后由接受者用自己的私钥进行解密。公开密钥加密技术解决了密钥的发布和管理问题,是目前商业密码的核心。使用公开密钥技术,进行数据通信的双方可以安全地确认对方身份和公开密钥,提供通信的可鉴别性。
③ AES加密算法是对称密钥还是非对称密钥
AES属于对称加密方法,高级加密标准(Advanced Encryption Standard,AES)
④ 对称密钥加密的缺点和公开密钥加密的缺点是什么急!!!!
对称加密:加密和解密的密钥相同,其缺点是:保存和管理密钥十分复杂,安全地传送密钥也十分困难。
分对称加密:有两个密钥,一个用来加密一个用来解密,并且不能根据与一个密钥来推算出另一个密钥,比较安全,但实现起来比较复杂。
⑤ 公开密钥加密的公开密钥加密与对称密钥加密的区别
在对称密钥加密中,对一个信息的加密密码和解密密码都是相同的,所以发送者需要发送一条信息之前,必须先发送密钥给接收者,这样接收者才能解密这条信息。
对称密钥加密的过程是:
假设两个用户A,B进行通信,A先发送信息给B,然后B发送信息给A
1. A先用密钥k1加密一条信息,使之变成密文c1;
2. A把密钥k1发送给B;(此时如果密钥被截获,截获方就可以解密并读取密文)
3. A把密文c1发送给B;
4. B用密钥k1解密,并读取解密后的信息
5. B用密钥k2加密一条信息,使之变成密文c2;
6. B把密钥k2发送给A;
7. B把密文c2发送给A;
8. A用密钥k2解密,并读取解密后的信息
公开密钥加密的过程是:
假设两个用户A,B进行通信,A先发送信息给B,然后B发送信息给A
1. B先产生一对密钥k1a和k1b,前者用来加密,后者用来解密
2. B把密钥k1a发送给A;(因为k1a只能用来加密,截获方无法通过它来解密并读取密文)
3. A用密钥k1a加密一条信息,使之变成密文c1;
4. A把密文c1发送给B;
5. B用密钥k1b解密,并读取解密后的信息;
6. A产生一对密钥k2a和k2b,前者用来加密,后者用来解密
7. A把密钥k2a发送给B;
8. B用密钥k2a加密一条信息,使之变成密文c2;
9. B把密文c2发送给A;
10. A用密钥k2b解密,并读取解密后的信息;
⑥ 对称密钥加密技术和非对称密钥加密技术的区别表现在哪里
一个加密速度快 后者慢
密文长度等于或小于明文长度 后者大于明文长度 前者密钥协定密钥要交换存在大问题 前者用于加密解密不能用于数字签名 后者 可以用于加密解密数字签名
⑦ 简述对称密钥密码体制与非对称密钥密码体制
对称密钥密码:对称密钥加密又称私钥加密,即信息的发送方和接收方用一个密钥去加密和解密数据。它的最大优势是加/解密速度快, 适合于对大数据量进行加密,但密钥管理困难。
非对称密钥密码:非对称密钥加密又称公钥密钥加密。它需要使用一对密钥 来分别完成加密和解密操作,一个公开发布,即公开密钥,另一 个由用户自己秘密保存,即私用密钥。信息发送者用公开密钥去 加密,而信息接收者则用私用密钥去解密。公钥机制灵活,但加密和解密速度却比对称密钥加密慢得多。
⑧ 对称密钥加密算法与解密中采用不同的密钥吗
所谓对称加密,说白了,就是加密和解密的密钥是一样的,或者说可以由一个推导出另外一个,因此速度很快,但是安全差一些。
因此,可以认为是采用相同的密钥
⑨ 对称加密方法和公开密钥算法有什么异同
对称加密算法
是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。不足之处是,交易双方都使用同样钥匙,安全性得不到保证。此外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量成几何级数增长,密钥管理成为用户的负担。对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。在计算机专网系统中广泛使用的对称加密算法有DES、IDEA和AES。
公开密钥算法
非对称式加密就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥”和“私钥”,它们两个必需配对使用,否则不能打开加密文件。这里的“公钥”是指可以对外公布的,“私钥”则不能,只能由持有人一个人知道。它的优越性就在这里,因为对称式的加密方法如果是在网络上传输加密文件就很难把密钥告诉对方,不管用什么方法都有可能被别窃听到。而非对称式的加密方法有两个密钥,且其中的“公钥”是可以公开的,也就不怕别人知道,收件人解密时只要用自己的私钥即可以,这样就很好地避免了密钥的传输安全性问题。
RSA是Rivest、Shamir和Adleman提出来的基于数论非对称性(公开钥)加密算法。大整数的素因子难分解是RSA算法的基础
⑩ 对称密钥加密技术的工作流程
SQL Server 2005一个令人激动的特性是内置了加密的功能。在这个新版的SQL Server中,开发团队直接在T-SQL中加入了加密工具、证书创建和密钥管理的功能。对于因为法律要求或商业需求而需要加密表中的数据的人来说,这是一个好礼物。对于犹豫是否用加密来保证数据安全的人来说,做决定也更容易了。这篇文章介绍新的加密功能是怎么工作,怎么使用。
TSQL现在支持使用对称密钥和非对称密钥,证书和密码。本文介绍如何创建、管理和使用对称密钥和证书。
根据涉及的内容,我决定把本文分为三节:
第一部分:服务主密钥和数据库主密钥
第二部分:证书
第三部分:对称密钥
1. 服务主密钥和数据库主密钥
图:SQL Server 2005加密层次结构
1.1 服务主密钥
当第一次需要使用服务主密钥对链接服务器密码、凭据或数据库主密钥进行加密时,便会自动生成服务主密钥。服务主密钥为 SQL Server 加密层次结构的根。服务主密钥直接或间接地保护树中的所有其他密钥和机密内容。使用本地计算机密钥和 Windows 数据保护 API 对服务主密钥进行加密。该 API 使用从 SQL Server 服务帐户的 Windows 凭据中派生出来的密钥。
因为服务主密钥是自动生成且由系统管理的,它只需要很少的管理。服务主密钥可以通过BACKUP SERVICE MASTER KEY语句来备份,格式为:
BACKUP SERVICE MASTER KEY TO FILE = 'path_to_file' ENCRYPTION BY PASSWORD = 'password'
'path_to_file' 指定要将服务主密钥导出到的文件的完整路径(包括文件名)。此路径可以是本地路径,也可以是网络位置的 UNC 路径。
'password' 用于对备份文件中的服务主密钥进行加密的密码。此密码应通过复杂性检查。
应当对服务主密钥进行备份,并将其存储在另外一个单独的安全位置。创建该备份应该是首先在服务器中执行的管理操作之一。
如果需要从备份文件中恢复服务主密钥,使用RESTORE SERVICE MASTER KEY语句。
RESTORE SERVICE MASTER KEY FROM FILE = 'path_to_file'
DECRYPTION BY PASSWORD = 'password' [FORCE]
'path_to_file' 指定存储服务主密钥的完整路径(包括文件名)。path_to_file 可以是本地路径,也可以是网络位置的 UNC 路径。
PASSWORD = 'password' 指定对从文件中导入的服务主密钥进行解密时所需的密码。
FORCE 即使存在数据丢失的风险,也要强制替换服务主密钥。
注:如果你在使用RESTORE SERVICE MASTER KEY时不得不使用FORCE选项,你可能会遇到部分或全部加密数据丢失的情况。
如果你的服务主密钥泄露了,或者你想更改SQL Server服务帐户,你可以通过ALTERSERVICE MASTER KEY语句重新生成或者恢复服务主密钥。它的用法请参考联机丛书。
因为服务主密钥是SQL Server自动生成的,所以,它没有对应的CREATE和DROP语句。
1.2 数据库主密钥
正如每个SQL Server有一个服务主密钥,每个数据库有自己的数据库主密钥。数据库主密钥通过CREATE MASTER KEY语句生成:
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password'
这个语句创建数据库主密钥,使用指定的密码加密它,并保存在数据库中。同时,数据库主密钥也被使用服务主密钥加密之后保存在master数据库中,这就是所谓的“自动密钥管理”。这个特性我们待会再讲。
象服务主密钥一样,你可以备份和恢复数据库主密钥。使用BACKUP MASTER KEY备份数据库主密钥。语法类似于备份服务主密钥:
BACKUP MASTER KEY TO FILE = 'path_to_file'
ENCRYPTION BY PASSWORD = 'password'
恢复数据库主密钥使用RESTORE MASTER KEY语句,它需要使用DECRYPTION BY PASSWORD子句提供备份时指定的加密密码,还要使用ENCRYPTION BY PASSWORD子句,SQL Server使用它提供的密码来加密数据库主密钥之后保存在数据库中。
RESTORE MASTER KEY FROM FILE = 'path_to_file'
DECRYPTION BY PASSWORD = 'password'
ENCRYPTION BY PASSWORD = 'password'
[ FORCE ]
同样,FORCE表示你将忽略在解密过程中的错误。
建议你在创建了数据库主密钥之后立即备份数据库主密钥,并把它保存到一个安全的地方。同样,使用FORCE语句可能导致已加密数据的丢失。
要删除数据库主密钥,使用DROP MASTER KEY语句,它删除当前数据库的主密钥。在执行之前,确定你在正确的数据库上下文中。
1.3 自动密钥管理
当创建数据库主密钥时,它被使用提供的密码加密然后被保存到当前数据库中。同时,它被使用服务主密钥加密并保存到master数据库中。这份保存的数据库主密钥允许服务器在需要的时候解密数据库主密钥,这就是自动密钥管理。没有自动密钥管理的话,你必须在每次使用证书或密钥加密或解密数据(它需要使用数据库主密钥)时使用OPEN MASTER KEY语句同时提供加密的密码。使用自动密钥管理,你不需要执行OPEN MASTER KEY语句,也不需要提供密码。
自动密钥管理的缺点就是每个sysadmin角色的成员都能够解密数据库主密钥。你可以通过ALTER MASTER KEY语句的DROP ENCRYPTION BY SERVICE MASTER KEY子句,从而不使用自动密钥管理。ALTER MASTER KEY的使用方法参见联机丛书。