网易首页 > 网易号 > 正文 申请入驻

密码学的那些事儿

0
分享至

密码学在计算机科学中使用非常广泛,HTTPS 就是建立在密码学基础之上的一种安全的通信协议。HTTPS 早在 1994 年由网景公司首次提出,而如今在众多互联网厂商的推广之下 HTTPS 已经被广泛使用在各种大小网站中。在完全理解 HTTPS 之前,有必要弄清楚一些密码学相关的概念,比如:明文、密文、密码、密钥、对称加密、非对称加密、摘要、数字签名、数字证书。

密码

密码学中的密码和我们日常生活中所说的密码不太一样,计算机术语『密码』是一种用于加密或者解密的算法,而我们日常所使用的『密码』是一种口令,它是用于认证用途的一组文本字符串。这里我们要讨论的是前者:cipher

密钥

密钥是一种参数,它是在使用密码算法过程中输入的参数。同一个明文在相同的密码算法和不同的密钥计算下会产生不同的密文。很多知名的密码算法都是公开的,密钥才是决定密文是否安全的重要参数,通常密钥越长,破解的难度越大,比如一个 8 位的密钥最多有 256 种情况,使用穷举法,能非常轻易的破解。知名的 DES 算法使用 56 位的密钥,目前已经不是一种安全的加密算法了,主要还是因为 56 位的密钥太短,在数小时内就可以被破解。密钥分为对称密钥与非对称密钥。

明文/密文

明文是加密之前的原始数据,密文是通过密码运算后得到的结果成为密文。

对称密钥

对称密钥,又称为共享密钥加密,对称密钥在加密和解密的过程中使用的密钥是相同的,常见的对称加密算法有DES、3DES、AES、RC5、RC6。对称密钥的优点是计算速度快,但是它也有缺点,密钥需要在通讯的两端共享,让彼此知道密钥是什么对方才能正确解密,如果所有客户端都共享同一个密钥,那么这个密钥就像万能钥匙一样,可以凭借一个密钥破解所有人的密文了,如果每个客户端与服务端单独维护一个密钥,那么服务端需要管理的密钥将是成千上万,这会给服务端带来噩梦。下面就是一个简单的对称加密,将明文加密成 ASCII。

# 加密的方式:在ASCII的基础上 + 密钥的值
def encipher(plain_text, key):
# 加密
cipher_text = []
for c in plain_text:
cipher_text.append(str(ord(c) + key))
return ' '.join(cipher_text)
def decipher(cipher_text, key):
# 解密
plain_text = []
for c in cipher_text.split(" "):
plain_text.append(chr(int(c)+key))
return "".join(plain_text)
if __name__ == '__main__':
print "cipher_text:", encipher("abcdef", 0)
print "plain_text:", decipher("97 98 99 100 101 102", 0)

非对称密钥

非对称密钥,又称为公开密钥加密。服务端会生成一对密钥,一个私钥保存在服务端,仅自己知道,另一个是公钥,公钥可以自由发布供任何人使用。客户端的明文通过公钥加密后的密文需要用私钥解密。非对称密钥在加密和解密的过程的使用的密钥是不同的密钥,加密和解密是不对称的,所以称之为非对称加密。与对称密钥加密相比,非对称加密无需在客户端和服务端之间共享密钥,只要私钥不发给任何用户,即使公钥在网上被截获,也无法被解密,仅有被窃取的公钥是没有任何用处的。常见的非对称加密有 RSA,非对称加解密的过程:

  1. 服务端生成配对的公钥和私钥
  2. 私钥保存在服务端,公钥发送给客户端
  3. 客户端使用公钥加密明文传输给服务端
  4. 服务端使用私钥解密密文得到明文

数字签名

数据在浏览器和服务器之间传输时,有可能在传输过程中被冒充的盗贼把内容替换了,那么如何保证数据是真实服务器发送的而不被调包呢,同时如何保证传输的数据没有被人篡改呢?要解决这两个问题就必须用到数字签名,数字签名就如同日常生活的中的签名一样,一旦在合同书上落下了你的大名,从法律意义上就确定是你本人签的字儿,这是任何人都没法仿造的,因为这是你专有的手迹,任何人是造不出来的。那么在计算机中的数字签名怎么回事呢?数字签名就是用于验证传输的内容是不是真实服务器发送的数据,发送的数据有没有被篡改过,它就干这两件事,是非对称加密的一种应用场景。不过他是反过来用私钥来加密,通过与之配对的公钥来解密。

服务端把报文经过 Hash 处理后生成摘要信息,摘要信息使用私钥加密之后就生成签名,服务器把签名连同报文一起发送给客户端。

可第二步:

客户端接收到数据后,把签名提取出来用公钥(public-key)解密,如果能正常的解密出来 Digest2,那么就能确认是对方发的。

第三步:

客户端把报文 Tex t提取出来做同样的 Hash 处理,得到的摘要信息 Digest1,再与之前解密出来的 Digist2 对比,如果两者相等,就表示内容没有被篡改,否则内容就是被人改过了。因为只要文本内容哪怕有任何一点点改动都会 Hash 出一个完全不一样的摘要信息出来。

数字证书

数字证书简称 CA,它由权威机构给某网站颁发的一种认可凭证,这个凭证是被大家(浏览器)所认可的。为什么需要用数字证书呢,难道有了数字签名还不够安全吗?有这样一种情况,就是浏览器无法确定所有的真实服务器是不是真的是真实的,举一个简单的例子:

A 厂家给你们家安装锁,同时把钥匙也交给你,只要钥匙能打开锁,你就可以确定钥匙和锁是配对的,如果有人把钥匙换了或者把锁换了,你是打不开门的,你就知道肯定被窃取了,但是如果有人把锁和钥匙替换成另一套表面看起来差不多的,但质量差很多的,虽然钥匙和锁配套,但是你却不能确定这是否真的是 A 厂家给你的,那么这时候,你可以找质检部门来检验一下,这套锁是不是真的来自于 A 厂家,质检部门是权威机构,他说的话是可以被公众认可的(呵呵)。

同样的, 因为如果有人(张三)用自己的公钥把真实服务器发送给浏览器的公钥替换了,于是张三用自己的私钥执行相同的步骤对文本 Hash、数字签名,最后得到的结果都没什么问题,但事实上浏览器看到的东西却不是真实服务器给的,而是被张三从里到外(公钥到私钥)换了一通。

那么如何保证你现在使用的公钥就是真实服务器发给你的呢?我们就用数字证书来解决这个问题。数字证书一般由数字证书认证机颁发,证书里面包含了真实服务器的公钥和网站的一些其他信息,数字证书机构用自己的私钥加密后发给浏览器,浏览器使用数字证书机构的公钥解密后得到真实服务器的公钥。这个过程是建立在被大家所认可的证书机构之上得到的公钥,所以这是一种安全的方式。

  • 原文来自:https://linux.cn/article-7957-1.html
  • 本文地址:https://www.linuxprobe.com/cipher-key-cryptography.html编辑员:苏西云,审核员:周晓雪

本文原创地址:https://www.linuxprobe.com/cipher-key-cryptography.html

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
基恩:踢球时我经常喝酒,可大家都喝就等于身体机能没受影响

基恩:踢球时我经常喝酒,可大家都喝就等于身体机能没受影响

懂球帝
2024-04-26 16:15:12
白求恩除了治病救人以外,还干过什么,原来背着人干了这些

白求恩除了治病救人以外,还干过什么,原来背着人干了这些

瓜哥的动物日记
2024-04-25 18:43:59
80年邓公对即将离职的陈永贵提醒道:非组织活动不要搞,会出大错

80年邓公对即将离职的陈永贵提醒道:非组织活动不要搞,会出大错

历史揭秘档案
2023-11-24 16:18:45
我78岁风流才子和妙龄少妇同居两年后,她怀孕还发财了

我78岁风流才子和妙龄少妇同居两年后,她怀孕还发财了

叶天辰故事会
2024-04-23 22:26:35
大胆穿搭!Kanye和妻子今日的OOTD!

大胆穿搭!Kanye和妻子今日的OOTD!

SwagFuck
2024-04-05 17:16:48
中山楼市片甲不留,中山南朗镇房价从14000元降至11000元

中山楼市片甲不留,中山南朗镇房价从14000元降至11000元

有事问彭叔
2024-04-26 15:25:24
炸裂!美国黑人女歌手强迫别人围观自己啪啪!前员工将其告上法庭

炸裂!美国黑人女歌手强迫别人围观自己啪啪!前员工将其告上法庭

最远方
2024-04-25 16:19:14
台积电宣布1.6纳米芯片 可能会被用于未来几代苹果芯片

台积电宣布1.6纳米芯片 可能会被用于未来几代苹果芯片

威锋网
2024-04-26 16:02:05
卡椒合砍16分季后赛生涯最差 小卡承诺打G4 乔治:我仍是最好之一

卡椒合砍16分季后赛生涯最差 小卡承诺打G4 乔治:我仍是最好之一

厝边人侃体育
2024-04-27 11:57:02
富人,被割了

富人,被割了

子木聊房啊
2024-04-25 18:24:25
被章子怡最近生图美哭,美得没有死角,45岁状态感觉回到了十年前

被章子怡最近生图美哭,美得没有死角,45岁状态感觉回到了十年前

娱乐的小灶
2024-04-27 00:41:25
身体语言出卖了董宇辉,把小贝给挤出桌子了,到底喜不喜欢小贝啊

身体语言出卖了董宇辉,把小贝给挤出桌子了,到底喜不喜欢小贝啊

娱乐的小灶
2024-04-27 11:38:51
丈夫升为县长后有了新欢,抛弃我三年后,我的哥哥调来任市委书记

丈夫升为县长后有了新欢,抛弃我三年后,我的哥哥调来任市委书记

乔生桂
2024-04-15 09:21:03
广州天河最新专项规划曝光!40公里森林步道串联“火龙凤”

广州天河最新专项规划曝光!40公里森林步道串联“火龙凤”

南方都市报
2024-04-26 22:36:18
内鬼开始下手了?当年颠覆苏联手法在中国重现,蹊跷事情接连发生

内鬼开始下手了?当年颠覆苏联手法在中国重现,蹊跷事情接连发生

昕梦倾城
2024-04-12 12:04:00
3-1到5-0!阿森纳太猛了,决战热刺,剑指6连胜夺冠,破曼城垄断

3-1到5-0!阿森纳太猛了,决战热刺,剑指6连胜夺冠,破曼城垄断

侃球熊弟
2024-04-27 06:21:50
凌晨时分,大批美军军车进入乌克兰,轮到俄罗斯为难:打还是不打

凌晨时分,大批美军军车进入乌克兰,轮到俄罗斯为难:打还是不打

梦涵说体育
2024-04-26 13:56:39
西安一无证网约车被路政追赶致两死一伤?执法支队回应了

西安一无证网约车被路政追赶致两死一伤?执法支队回应了

网易号社区管理员
2024-04-27 11:55:38
未来拉开孩子差距的不是智商,而是4种能力,越早培养越好

未来拉开孩子差距的不是智商,而是4种能力,越早培养越好

神奇麻麻木小暖
2024-04-24 16:10:03
安妮·海瑟薇与10个男人轮流接吻,回忆20年前不堪往事:很恶心

安妮·海瑟薇与10个男人轮流接吻,回忆20年前不堪往事:很恶心

文艺圈娱乐号
2024-04-26 02:01:55
2024-04-27 13:32:49
孙有匪
孙有匪
科技
1595文章数 2009关注度
往期回顾 全部

科技要闻

特斯拉这款车型刚上市几天,就上调价格

头条要闻

俄罗斯法院下令:冻结美国最大银行摩根大通在俄资产

头条要闻

俄罗斯法院下令:冻结美国最大银行摩根大通在俄资产

体育要闻

硬不起来的阿波,软不下去的切特

娱乐要闻

金靖回应不官宣恋情结婚的原因

财经要闻

北京房价回到2016年

汽车要闻

5月上市/智能化丰富 海狮 07EV正式到店

态度原创

亲子
旅游
艺术
房产
公开课

亲子要闻

3000人规模的狮舞你见过吗?

旅游要闻

散装河北,冀北、冀东、冀中、冀南如何划分?

艺术要闻

画廊周北京迎来第八年, “漂留” 主题聚集 30 余家艺术机构与 40 场展览

房产要闻

海南最新房价出炉,三亚跌价最猛!

公开课

睡前进食会让你发胖吗?

无障碍浏览 进入关怀版