密码学基础概念

把一段原始数据通过某种算法处理成另外一种数据(原始数据为明文,处理后的数据为密文)。明文->密文:称之为加密。密文->明文:称之为解密。


图1

在加密过程中我们需要知道下面的这些概念:

1)明文:就是被隐藏的文字,图1中的“你好”就是明文。

2)算法:指隐藏原文的法则。对于加密、解密来讲,算法是非常关键。公知度高的算法都是公开的,一旦有人想要破解算法,而且能够被破解了,则所有使用这个算法的产品都面临要报废、被盗版的危机。而且很多的时候做过开发的人就知道,替换一个算法的成本很大。因此一个加密出来的数据本身可靠与否,取决于密钥,而不是算法,因为密钥的调换成本比较低。

3)密文:指对原文按照加密法处理过后生成的可公开传递的文字。图1中的“bmloYW8=”就是密文。

4)密钥:在加密法中起决定性因素的一种参数,它是在明文->密文或密文->明文的算法中输入的数据。可能是数字、词汇,也可能是一些字母,或者这些东西的组合。

5)对称加密:发送方和接收方使用同一个密钥去加密解密数据。优势是加解密速度快适合于对大数据进行加密,但是密钥管理困难。例如:DES、AES、SM1、SM4、SM7算法等。

6)非对称加密:需要使用不同的密钥来分别完成加密和解密操作。其中一个密钥公开发布,即为公钥。另一个由用户自己秘密保存,即为私钥。发送方用对方的公钥加密数据,对方用自己的私钥解密数据。缺点在于加密解密的速度比对称密钥慢很多。例如:RSA、SM2。

7)摘要算法:哈希算法(Hash)又称摘要算法(Digest),它的作用是:对任意一组输入数据进行计算,得到一个固定长度的输出摘要。哈希函数的主要作用不是完成数据加密与解密工作,它是用来检验数据完整性的重要技术,运算结果具有不可逆性。

对称算法

对称算法,整个加密解密过程中只使用一个密钥。所谓对称其实就是使用一把密钥加密,使用同一把密钥解密。对称加密由于加解和解密使用的是同一个密钥算法,故而在加解密的过程中速度比较快,适合于数据量比较大的加解密。

对称加密的主要有优点就是算法公开、计算量小、加密速度快、加密效率高;但是它也存在明显的缺点,缺点就是密钥协商过程中,一旦密钥泄露,别人可以获取到密钥,这样也能对密文进行解密。另外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的独一密钥,这会使得收、发双方所拥有的钥匙数量巨大,密钥管理成为双方的负担。

常用的对称加密算法有: 

DES、3DES、AES、TDEA、Blowfish、RC2、RC4、SM1、SM4、SM7和RC5等。 


图2

非对称算法

非对称加密算法中加密和解密用的不是同一个密钥,所以叫作非对称加密算法。非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对。公钥是对外发布的,所有人都看的到所有人的公钥,私钥是自己保存,每个人都只知道自己的私钥而不知道别人的。接下来我们解释一下非对称加密算法中有加密和解密、加签和验签的概念。常用的非对称加密算法有: RSA、ECC、SM2等。 

加密和解密

图3

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

以图3为例,首先A发了一条信息给B“你好”。这条信息A会根据B对外发布的公钥把这条信息加密了,加密之后,变成“XXXXXXX”发给B。假如中间被第三者截获,由于没有B的私钥无法解密,不能知道信息的含义,也无法按正确的方式篡改。所以拿这条加密信息是没办法读取到明文信息。最后被B接受,B用自己的私钥去解密这条信息,解密成功,读取内容,执行操作。然后得知消息是A发来的,便去拿A的公钥,把“操作成功(或失败)”这条信息加密,发给A。同理最后A用自己的私钥解开,得知B发来的信息内容。其他人截获因为没有A的私钥所以也没有用。

签名和验签

签名验签的目的是向接收方证明发送方的身份和校验数据完整性,防止接收方得到的是第三方篡改的数据或不完整的数据。

  签名:发送方对发送的数据用hash计算一个摘要(校验码)和原文组成一个明文的签名,再用私钥对明文签名加密 (公钥和私钥可以互相作为同一段数据加解密的密钥)。

验签:接收方用公开的公钥解密并用相同hash算法计算摘要,对比计算摘要和接收摘要。


图4

举例:小明给小丽发送消息,小明先计算出消息的摘要,然后使用自己的私钥加密消息摘要,被加密的消息摘要就是签名。

小丽收到消息后,也会使用和小明相同的方法提取消息摘要,然后用小明的公钥解密签名,并与自己计算出来的消息摘要进行比较(这个过程,叫做"验签")。如果相同则说明消息是小明发送给小丽的。同时,小明也无法否认自己发送消息给小丽的事实。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,884评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,212评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,351评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,412评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,438评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,127评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,714评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,636评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,173评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,264评论 3 339
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,402评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,073评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,763评论 3 332
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,253评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,382评论 1 271
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,749评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,403评论 2 358

推荐阅读更多精彩内容

  • 几个关于密码学的基本概念,学自《阮一峰的网络日志》,感谢大牛。 加密方法可以分为两大类。一类是单钥加密(priva...
    小叶与小茶阅读 285评论 0 1
  • 密码学有着深刻的数学背景,看似一门高高在上的贵族知识体系。能够吧啦吧啦一些密码学的名词术语,有助于迅速建立满满的逼...
    小叶与小茶阅读 1,818评论 5 9
  • 概述 ​ 密码学是研究如何保护信息安全性的一门科学,涉及数学、物理、计算机、信息论、编码学、通讯技术等学科,已经在...
    卿酌南烛_b805阅读 1,661评论 0 0
  • 加密与解密 对称密码体制的保密性主要取决于密钥的保密性,与算法的保密性无关 非对称加密算法与对称加密算法的区别: ...
    peerless_1024阅读 1,933评论 0 0
  • 密码技术是网络安全的基础,也是核心。现在对隐私保护、敏感信息尤其重视,所以不论是系统开发还是App开发,只要有网络...
    YungFan阅读 14,126评论 39 238