导航:首页 > 文档加密 > 对称加密如何传递密钥

对称加密如何传递密钥

发布时间:2023-05-23 00:03:54

① 移动端与后端数据传输加密

对称加密:对称加密加密与解密使用的是同样的密钥,所以速度快,但由于需要将密钥在网络传输,所以安全性不高
非对称加密:非对称加密使用了一对密钥,公钥与私钥,所以安全性高,但加密与解密速度慢。
方案:将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方可以使用对称加密来进行沟通。
方案的流程介绍:
1、APP客户端需要和服务器进行数据交互,它的APP首先生成了一个随机数作为对称密钥(比如AES加密的密钥)。
2、APP客户端向服务器请求公钥
3、服务器将公钥发送给APP客户端
4、APP客户端使用服务器的公钥将自己的对称密钥(比如AES加密的密钥)加密
5、APP客户端将加密后的对称密钥发送给服务器
6、服务器使用私钥解密得到APP客户端的对称密钥
7、APP客户端与服务器可以使用对称密钥来对沟通的内容进行加密与解密了
App端和后台数据加密分两部分:
1.数据传输的时候加密 (一般采用Https协议在传输层加密)
2.数据本身的加密 (使用各种加密算法
RSA非对称加密:公钥加密,私钥解密。公钥私钥由服务端生成,公钥放在客户端私密保存,私钥放在服务端。安全性高,运算速度慢
AES对成加密:运算速度快切安全性高
上面网络通信过程是安全的,可以保证通信数据即使被截取了,也无法获得任何有效信息;即使被篡改了,也无法被客户端和服务端验证通过。
具体可参考的博文:(记得后续实践哦)
https://blog.csdn.net/wangjiang_qianmo/article/details/88073848?utm_medium=distribute.pc_relevant.none-task-blog--1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog--1.channel_param

② 在加密信息传递的同时发送方如何才能有效地将密钥告诉接收者

用非对称密码算法传递会话密钥(对称密码的密钥),用孝模会话密钥加解密。
在加密信息传递的同时隐慎袭发送方应该用非对称密码算法传递会话密钥(对称密码灶兄的密钥),用会话密钥加解密,这样才能有效地将密钥告诉接收者。

③ 简述对称加密算法的基本原理

对称加密是计算机加密领域最古老也是最经典的加密标准。虽然对称加密被认为不再是安全的加密方式,但是直到现在,还看不到它被淘汰的迹象。在很多非网络化的加密环境中,对称加密足以满足人们的需要。

对称加密采用单密钥加密方式,不论是加密还是解密都是用同一个密钥,即“一把钥匙开一把锁”。对称加密的好处在于操作简单、管理方便、速度快。它的缺点在于密钥在网络传输中容易被窃听,每个密钥只能应用一次,对密钥管理造成了困难。对称加密的实现形式和加密算法的公开性使它依赖于密钥的安全性,而不是算法的安全性。

一个对称加密系统由五个部分组成,可以表述为

S={M,C,K,E,D}

各字母的含义如下:

M:明文空间,所有明文的集合。

C:密文空间,全体密文的集合。

K:密钥空间,全体密钥的集合。

E:加密算法。

D:解密算法。

④ 简要说说对称加密和非对称加密的原理以及区别是什么

对称加密的原理是数据发送方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。接收方收到密文后,若想解读原文,则需要使用加密密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。

非对称加密的原理是甲方首先生成一对密钥同时将其中的一把作为公开密钥;得到公开密钥的乙方再使用该密钥对需要加密的信息进行加密后再发送给甲方;甲方再使用另一把对应的私有密钥对加密后的信息进行解密,这样就实现了机密数据传输。

对称加密和非对称加密的区别为:密钥不同、安全性不同、数字签名不同。

一、密钥不同

1、对称加密:对称加密加密和解密使用同一个密钥。

2、非对称加密:非对称加密加密和解密所使用的不是同一个密钥,需要两个密钥来进行加密和解密。

二、安全性不同

1、对称加密:对称加密如果用于通过网络传输加密文件,那么不管使用任何方法将密钥告诉对方,都有可能被窃听。

2、非对称加密:非对称加密因为它包含有两个密钥,且仅有其中的“公钥”是可以被公开的,接收方只需要使用自己已持有的私钥进行解密,这样就可以很好的避免密钥在传输过程中产生的安全问题。

三、数字签名不同

1、对称加密:对称加密不可以用于数字签名和数字鉴别。

2、非对称加密:非对称加密可以用于数字签名和数字鉴别。

⑤ 现在密码传输中的对称、非对称加密,即对称和非对称密钥指是怎么运行使用的其工作原理是什么呢

非对称加密就是数据只能加密不能解密,通常用来加密密钥用的,对称加密就是加密了可以解密,通常情况下都会结合使用

⑥ 如何理解对称加密

你好
先,让我们先从一个情景开始讲起,想当初我们在初中,高中,甚至于大学,每次考试都有人在试图如何更加隐蔽的作弊!那大家都想了什么方法呢?比如张三学习比李四好,李四就想在考试的时候让张三“帮助”一下自己,当然,他们俩不可能像我们平常对话一样说,第一题选A,第二题选B等等,为什么?因为监考老师明白他俩在谈论什么,也就是说这种沟通交流方式属于“明文”,所以李四就想:“我需要发明一种,只有我和张三明白的交流方式”,那李四做了什么呢?恩,李四去找张三说:“当我连续咳嗽三声的时候你看我,然后如果我摸了下左耳朵,说明你可以开始给我传答案了,如果没反应,那说明我真的是在咳嗽。。。。”, 然后,怎么传答案呢?很简单,“你摸左耳朵代表A, 摸右耳朵代表B,左手放下代表C,右手放下代表D”,好了,这就是他们的“算法(规则)”,将信息的一种形式(A,B,C,D),这里我们称为“明文”,转换成了另一种形式(摸左耳朵,摸右耳朵,放左手,放右手),这里称为“密文”,经过这种转换,很显然监考老师不会明白这些“密文”,这样,张三和李四就通过“密文”的形式实现了信息的交换。
其实,密码学不就是为了人们更好的加密传输么?有很多学者,科学家成年累月的工作,为的就是改进或者发明更好的加密算法,让这些加密算法加密的文本难以破解,达到数据安全传输的目的。
OK,回归正题,上面这个“作弊”的例子,其实就是一种对称加密算法!好了,我们来看一下对称加密算法的定义(来源:wikipedia):
对称密钥加密(英语:Symmetric-key algorithm)又称为对称加密、私钥加密、共享密钥加密,是密码学中的一类加密算法。这类算法在加密和解密时使用相同的密钥,或是使用两个可以简单地相互推算的密钥。实务上,这组密钥成为在两个或多个成员间的共同秘密,以便维持专属的通讯联系。与公开密钥加密相比,要求双方取得相同的密钥是对称密钥加密的主要缺点之一
这里我想说一点的是,wikipedia的把Symmetric-key algorithm中文翻译是 对称密钥加密,我不想把这个key翻译成密钥,因为key仅仅是一个“钥”,这里翻译成密钥会让大家对后面所说的“公钥”,“密钥”,“私钥”等等的概念弄混,好了,所以我还是比较喜欢称之为“对称加密算法”,而后面说又称“私钥”加密,共享“密钥”,这里,“私钥”就等于“密钥”,没有任何区别,英文是“private key”。
ok,我们将定义结合我们前面的例子对应一下,“这类算法在加密和解密时使用相同的密钥,或是使用两个可以简单地相互推算的密钥”,其实在我们例子中,密钥就是“将(A,B,C,D)转换成(摸左耳朵,摸右耳朵,放左手,放右手)”这么一个规则。“实务上,这组密钥成为在两个或多个成员间的共同秘密,以便维持专属的通讯联系。” 这句话很好理解了吧,密钥是张三和李四间共同的秘密!只有他俩事先知道。
所以,为什么叫对称加密呢,你可以这么理解,一方通过密钥将信息加密后,把密文传给另一方,另一方通过这个相同的密钥将密文解密,转换成可以理解的明文。他们之间的关系如下:
明文 <-> 密钥 <-> 密文

⑦ 常见加密算法原理及概念

在安全领域,利用密钥加密算法来对通信的过程进行加密是一种常见的安全手段。利用该手段能够保障数据安全通信的三个目标:

而常见的密钥加密算法类型大体可以分为三类:对称加密、非对称加密、单向加密。下面我们来了解下相关的算法原理及其常见的算法。

对称加密算法采用单密钥加密,在通信过程中,数据发送方将原始数据分割成固定大小的块,经过密钥和加密算法逐个加密后,发送给接收方;接收方收到加密后的报文后,结合密钥和解密算法解密组合后得出原始数据。由于加解密算法是公开的,因此在这过程中,密钥的安全传递就成为了至关重要的事了。而密钥通常来说是通过双方协商,以物理的方式传递给对方,或者利用第三方平台传递给对方,一旦这过程出现了密钥泄露,不怀好意的人就能结合相应的算法拦截解密出其加密传输的内容。

对称加密算法拥有着算法公开、计算量小、加密速度和效率高得特定,但是也有着密钥单一、密钥管理困难等缺点。

常见的对称加密算法有:
DES:分组式加密算法,以64位为分组对数据加密,加解密使用同一个算法。
3DES:三重数据加密算法,对每个数据块应用三次DES加密算法。
AES:高级加密标准算法,是美国联邦政府采用的一种区块加密标准,用于替代原先的DES,目前已被广泛应用。
Blowfish:Blowfish算法是一个64位分组及可变密钥长度的对称密钥分组密码算法,可用来加密64比特长度的字符串。

非对称加密算法采用公钥和私钥两种不同的密码来进行加解密。公钥和私钥是成对存在,公钥是从私钥中提取产生公开给所有人的,如果使用公钥对数据进行加密,那么只有对应的私钥才能解密,反之亦然。
下图为简单非对称加密算法的常见流程:

发送方Bob从接收方Alice获取其对应的公钥,并结合相应的非对称算法将明文加密后发送给Alice;Alice接收到加密的密文后,结合自己的私钥和非对称算法解密得到明文。这种简单的非对称加密算法的应用其安全性比对称加密算法来说要高,但是其不足之处在于无法确认公钥的来源合法性以及数据的完整性。
非对称加密算法具有安全性高、算法强度负复杂的优点,其缺点为加解密耗时长、速度慢,只适合对少量数据进行加密,其常见算法包括:
RSA :RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥,可用于加密,也能用于签名。
DSA :数字签名算法,仅能用于签名,不能用于加解密。
DSS :数字签名标准,技能用于签名,也可以用于加解密。
ELGamal :利用离散对数的原理对数据进行加解密或数据签名,其速度是最慢的。

单向加密算法常用于提取数据指纹,验证数据的完整性。发送者将明文通过单向加密算法加密生成定长的密文串,然后传递给接收方。接收方在收到加密的报文后进行解密,将解密获取到的明文使用相同的单向加密算法进行加密,得出加密后的密文串。随后将之与发送者发送过来的密文串进行对比,若发送前和发送后的密文串相一致,则说明传输过程中数据没有损坏;若不一致,说明传输过程中数据丢失了。单向加密算法只能用于对数据的加密,无法被解密,其特点为定长输出、雪崩效应。常见的算法包括:MD5、sha1、sha224等等,其常见用途包括:数字摘要、数字签名等等。

密钥交换IKE(Internet Key Exchange)通常是指双方通过交换密钥来实现数据加密和解密,常见的密钥交换方式有下面两种:
1、公钥加密,将公钥加密后通过网络传输到对方进行解密,这种方式缺点在于具有很大的可能性被拦截破解,因此不常用;
2、Diffie-Hellman,DH算法是一种密钥交换算法,其既不用于加密,也不产生数字签名。DH算法的巧妙在于需要安全通信的双方可以用这个方法确定对称密钥。然后可以用这个密钥进行加密和解密。但是注意,这个密钥交换协议/算法只能用于密钥的交换,而不能进行消息的加密和解密。双方确定要用的密钥后,要使用其他对称密钥操作加密算法实际加密和解密消息。DH算法通过双方共有的参数、私有参数和算法信息来进行加密,然后双方将计算后的结果进行交换,交换完成后再和属于自己私有的参数进行特殊算法,经过双方计算后的结果是相同的,此结果即为密钥。
如:

在整个过程中,第三方人员只能获取p、g两个值,AB双方交换的是计算后的结果,因此这种方式是很安全的。

公钥基础设施是一个包括硬件、软件、人员、策略和规程的集合,用于实现基于公钥密码机制的密钥和证书的生成、管理、存储、分发和撤销的功能,其组成包括:签证机构CA、注册机构RA、证书吊销列表CRL和证书存取库CB。
PKI采用证书管理公钥,通过第三方可信任CA中心,把用户的公钥和其他用户信息组生成证书,用于验证用户的身份。
公钥证书是以数字签名的方式声明,它将公钥的值绑定到持有对应私钥的个人、设备或服务身份。公钥证书的生成遵循X.509协议的规定,其内容包括:证书名称、证书版本、序列号、算法标识、颁发者、有效期、有效起始日期、有效终止日期、公钥 、证书签名等等的内容。

CA证书认证的流程如下图,Bob为了向Alice证明自己是Bob和某个公钥是自己的,她便向一个Bob和Alice都信任的CA机构申请证书,Bob先自己生成了一对密钥对(私钥和公钥),把自己的私钥保存在自己电脑上,然后把公钥给CA申请证书,CA接受申请于是给Bob颁发了一个数字证书,证书中包含了Bob的那个公钥以及其它身份信息,当然,CA会计算这些信息的消息摘要并用自己的私钥加密消息摘要(数字签名)一并附在Bob的证书上,以此来证明这个证书就是CA自己颁发的。Alice得到Bob的证书后用CA的证书(自签署的)中的公钥来解密消息摘要,随后将摘要和Bob的公钥发送到CA服务器上进行核对。CA在接收到Alice的核对请求后,会根据Alice提供的信息核对Bob的证书是否合法,如果确认合法则回复Alice证书合法。Alice收到CA的确认回复后,再去使用从证书中获取的Bob的公钥加密邮件然后发送给Bob,Bob接收后再以自己的私钥进行解密。

⑧ 加密技术

对称加密就是指,加密和解密使用同一个密钥的加密方式。需要用到的有加密算法和加密秘钥。例如加密算法可以类似这样的加密规则(a ->b,b->w,c->a)

发送方使用密钥将明文数据加密成密文,然后发送出去,接收方收到密文后,使用同一个密钥将密文解密成明文读取。

优点:加密计算量小、速度快,效率高,适合对大量数据进行加密的场景。
缺点:(1)密钥不适合在网上传输(容易被截取),(2)密钥维护麻烦

DES 、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES。

数据加密标准DES属于常规密钥密码体制,是一种分组密码。加密前,先对整个明文进行分组,每一组长为64位,然后对每一个64位二进制数据进行加密处理,产生一组64位密文数据。最后将各组密文串接起来,即得出整个的密文。使用的密钥为64位(实际密钥长度为56位,有8位用于奇偶检验)

DES的保密性取决于密钥的保密,而算法是公开的。尽管人们在破译DES方面取得了许多进展,但至今仍未能找到比穷举搜索密钥更有效的方法。DES是世界上第一个公认的实用密码算法标准,它曾对密码学的发展做出了重大贡献。目前较为严重的问题是DES的密钥长度,现在已经设计出搜索DES密钥的专用芯片。

DES算法安全性取决于密钥长度,56位密钥破解需要3.5到21分钟,128位密钥破解需要5.4 * 10^18次方年

注意的是:这里是没有密钥的情况下,直接穷举密钥尝试破解。如果密钥在传送过程中被人截取了,就相当于直接知道加密规则了,根本不需要破解,因此密钥在网络中传送还是不安全。

与对称加密算法不同,非对称加密算法需要密钥对,即两个密钥:公开密钥(公钥)和私有密钥(私钥)。

公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

公钥和私钥是怎么来的?
操作系统随机生成一个随机数,将这个随机数通过某个函数进行运算,分成两部分,公钥和私钥

优点:安全性高
缺点:加密与解密速度慢。

RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)。

答案是不能
鉴于非对称加密的机制,我们可能会有这种思路:服务器先把公钥直接明文传输给浏览器,之后浏览器向服务器传数据前都先用这个公钥加密好再传,这条数据的安全似乎可以保障了! 因为只有服务器有相应的私钥能解开这条数据
然而 由服务器到浏览器的这条路怎么保障安全? 如果服务器用它的的私钥加密数据传给浏览器,那么浏览器用公钥可以解密它,而这个公钥是一开始通过明文传输给浏览器的,这个公钥被谁劫持到的话,他也能用该公钥解密服务器传来的信息了。所以 目前似乎只能保证由浏览器向服务器传输数据时的安全性 (其实仍有漏洞,下文会说)。

1、先通过非对称加密技术,把对称加密的密钥X传给对方,使得这个对称加密的密钥X是安全的
2、后面再通过对称加密技术进行数据传输

详细流程
(1)服务器端拥有用于非对称加密的 公钥A 私钥A’
(2)客户端向网站服务器请求,服务器先把 公钥A 明文给传输浏客户端
(3)客户端随机生成一个用于对称加密的 密钥X ,用 公钥A 加密后传给服务器端。
(4)服务器端拿到后用 私钥A’ 解密得到 密钥X
(5)这样双方就都拥有 密钥X 了,且别人无法知道它。之后双方所有数据都用 密钥X 加密解密。

数字签名是基于公钥密码体制(非对称密钥密码体制)的。

数字签名必须保证以下三点:

上图位用户A使用数字签名向用户B传输一份文件的过程:

什么时候使用这种不对文件加密,而对文件的摘要加密(对文件进行签名)的技术呢?

注意: 这里强调的是只有“A公钥” 上有认证机构CA的数字签名,意思是CA用它的私钥对“A公钥”的内容进行单向散列函数得到的 加密摘要(数字签名) ,该签名放在“A公钥”中(左上角那个),对于B用户来说,它从可靠的路径拿到CA的公钥,使用CA的公钥解密“A公钥”的内容得到的128位的摘要 和 “A公钥”的内容通过单向散列函数计算出来的是否一致,如果是表示认可这个“A公钥”

当用户A遗失或泄露了CA颁发的证书后,为了避免他人使用该证书冒充用户A,用户A向认证机构CA "挂失" 该证书。于是认证机构CA把该证书放入该认证机构的证书吊销列表(CRL)中,并在网上公示。

用户B在收到用户A的公钥时,除了要验证该公钥是否位认证机构颁发的,还要登录认证机构的网站查看该公钥是否已被认证机构吊销变为无效证书。

认证机构CA的作用:

1、http连接很简单,是无状态的,明文传输。https协议 = http协议 + SSL,可以进行加密传输,身份认证
2、http连接的是80端口,https连接的是443端口
3、https协议需要服务器端到CA申请SSL证书,即客户端请求的时候,服务器端发送SSL证书给客户端,SSL证书内容包括公钥、CA机构的数字签名。验证了服务器端的身份以及公钥的可靠性。 (注意:混合加密那里“将公钥A给客户端”,严格的来说是把SSL证书给客户端)

SSL提供以下三个功能
1、 SSL服务器鉴别。允许用户证实服务器的身份。 具有SSL功能的浏览器维持一个表,上面有一些可信赖的认证中心CA和它们的公钥
2、 SSL客户鉴别。允许服务器证实客户的身份。
3、 加密的SSL会话,通过混合加密实现的 。客户和服务器交互的所有数据都是发送方加密,接受方解密

SSL的位置

(1)方法:get,post,head,put,delete,option,trace,connect
(2)URL字段
(3)HTTP协议版本

User-Agent:产生请求的浏览器类型
Aceept:客户端可识别的内容类型列表
Host:主机地址

200:请求被成功处理
301:永久性重定向
302:临时性重定向
403:没有访问权限
404:没有对应资源
500:服务器错误
503:服务器停机

HTTP协议的底层使用TCP协议,所以HTTP协议的长连接和短连接在本质上是TCP层的长连接和短连接。由于TCP建立连接、维护连接、释放连接都是要消耗一定的资源,浪费一定的时间。所对于服务器来说,频繁的请求释放连接会浪费大量的时间,长时间维护太多的连接的话又需要消耗资源。所以长连接和短连接并不存在优劣之分,只是适用的场合不同而已。长连接和短连接分别有如下优点和缺点:

注意: 从HTTP/1.1版本起,默认使用长连接用以保持连接特性。 使用长连接的HTTP协议,会在响应消息报文段加入: Connection: keep-alive。TCP中也有keep alive,但是TCP中的keep alive只是探测TCP连接是否活着,而HTTP中的keep-alive是让一个TCP连接获得更久一点。

⑨ 对称密钥加密是如何进行的

对称密钥加密也叫秘密/专用密钥加密(Secret Key Encryption),即发送和接收数据的双方必须使用相同的/对称的密钥对明文进行加密和解密运算。
非对称密钥加密也叫公开密钥加密(Public Key Encryption),是指每个人都有一对唯一对应的密钥:公开密钥和私有密钥,公钥对外公开,私钥由个人秘密保存;用其中一把密钥来加密,就只能用另一把密钥来解密。发送数据的一方用另一方的公钥对发送的信息进行加密,然后由接受者用自己的私钥进行解密。公开密钥加密技术解决了密钥的发布和管理问题,是目前商业密码的核心。使用公开密钥技术,进行数据通信的双方可以安全地确认对方身份和公开密钥,提供通信的可鉴别性。

⑩ 名词解释:对称加密和非对称加密

1.需要对加密和解密使用相同密钥的加密算法。由于其速度,对称性加密通常在消息发送方需要加密大量数据时使用。对称性加密也称为密钥加密。
所谓对称,就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥实际上是一种算法,通信发送方使用这种算法加密数据,接收方在意同样的算法解密数据。
因此对称式加密本身不是安全的。
常用的对称加密有:
DES、IDEA、RC2、RC4、SKIPJACK算法等

2.非对称加密算法中,加密密钥不同于解密密钥,加密密钥公之于众,谁都可以使用。解密密钥只有解密人自己知道,分别称为公开密钥 (Public key) 和秘密密钥 (Private key)。

阅读全文

与对称加密如何传递密钥相关的资料

热点内容
泰海科技云服务器如何卸载 浏览:122
有密码打开excel加密 浏览:818
java生成重复字符 浏览:280
串口服务器有什么用 浏览:328
linux安装red5 浏览:295
单片机中断时入口地址作用 浏览:148
程序员的工作是重复性的吗 浏览:67
照片怎么转换成pdf 浏览:133
女生学编程好吗 浏览:240
目前绝地求生怎么看服务器地址大全 浏览:825
论人类不平等的起源pdf 浏览:436
压缩机螺杆加工 浏览:368
怎么把网站服务器设置在境外 浏览:162
单片机编程取反 浏览:897
51单片机课程设计课题 浏览:900
手机淘宝登录怎么加密码 浏览:486
linux快捷方式图标 浏览:38
阳光车险的app叫什么名字 浏览:462
购买单片机的器件时需要给商家啥 浏览:535
并行编译技术的发展 浏览:550