常用加密算法介绍及https加密原理

对称加密

特点:加密、解密采用同一密钥。
优点:加密速度快
缺点:因用同一密钥加解密,在密文传输过程中需要把密钥也进行传输,这样增加了密钥的泄漏风险。
代表:DES、AES

  • DES
    DES,中文为“数据加密标准”。是一种分组加密算法,密钥长度为56位,该算法每次处理固定长度的数据段,称之为分组。DES分组的大小是64位,如果加密的数据长度不是64位的倍数,可以按照某种具体的规则来填充位。

  • AES
    AES中文名为“高级加密标准”。是一种区块加密标准,这个标准用来替代原先的DES。原因就在于其使用56位密钥,比较容易被破解。而AES可以使用128、192、256位密钥,并且用128位分组加密和解密数据,相对来说安全很多。完善的加密算法在理论上是无法破解的,除非使用穷尽法。据说,即使使用目前世界上运算速度最快的计算机,穷尽128位密钥也要花上几十亿年的时间。

非对称加密算法

特点:非对称加密又可称为公私钥加密,即用公钥加密只能用对应的私钥解密,私钥加密只能用对应的公钥解密。
优点:安全,公钥可以公开,只需保证私钥不被泄露即可。
缺点:加密速度慢
代表:RSA、ECC

  • RSA
    RSA公开密钥密码体制是一种使用不同的加密密钥与解密密钥,“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。一般用于加密数据或者数字签名,因加密速度慢,一般只用于小数据加密。

  • ECC
    ECC 算法的单位安全强度高于RSA算法,也就是说,要达到同样的安全强度,ECC算法所需的密钥长度远比RSA算法低。在私钥的加密解密速度上ECC算法比RSA速度更快。

hash算法

hash算法不是严格意义上的加密算法。一般来说加密算法是可逆的,即:能加密必能解密。而hash算法是有损加密,是不可逆的。hash算法加密后位数固定。因加密后的字符串是不变的。所以一般用于密码、信息等完整性校验。
缺点:可能存在hash碰撞(不同的明文可能会有相同的hash密文),但概率极低。
代表:SHA、md5

混合加密

由于对称加密的密钥容易泄漏,非对称加密的加解密速度较慢,而hash算法不可逆,各自有各自的优缺点。所以一般情况下,我们会把几种算法结合使用。如:

  • AES+RSA
    用RSA加密AES的密钥,AES算法加密正文。把用RSA加密后的AES密钥,与AES加密后的密文进行传输。接收方再用RSA算法解出AES的密钥,然后再用AES的密钥解密正文。
    AES+RSA是平常最常用的加密方式之一,它综合了两种算法的优点,并有效避免了两种算法各自的缺点。这样既保证了加解密的速度,又保证了密钥的安全性

  • 数字签名(非对称+Hash算法)
    数字签名是利用Hash算法的加密后字符串不变的特点进行验证的。其流程如下:

1.将明文进行用hash算法加密形成摘要,然后用“非对称加密算法私钥”加密形成签名。然后将签名和明文一起发送给接收方。
2.接收方接到之后用本地的“非对称加密算法公钥”解密签名获取摘要
3.把接收到的明文用同样的hash算法进行加密与第二步获得的摘要进行对比。

但是问题来了:数字签名的公钥容易被篡改,无法保证是合法的。所以我们引入了证书颁发机构颁发数字证书。

  • 数字证书验证流程

1.向第三方CA机构提交公钥、组织信息、域名等信息申请证书
2.CA机构验证提交信息的真实性后,用hash算法把申请者信息进行加密生成摘要,然后用CA私钥把摘要进行加密形成签名,此签名和服务器公钥、申请者信息、签发机构信息、有效时间等一同保存在证书中,并签发给申请方。
3.客户端向服务器请求,服务器返回证书。客户端验证证书相关域名、有效时间等信息是否与本地证书信息对应。(客户端一般会内置被信任的证书信息,包含证书公钥)
4.客户端读取证书中的明文信息,并用相同的hash算法加密得到摘要。
5.客户端从本地取出证书的公钥对签名解密,并与上一步得到的摘要对比,如果一致,则可以确认证书的合法性。那么对应的服务器公钥也是值得信赖的

关注公众号【一个老码农】,更多优质技术文章等你来

  • https

https是身披SSL/TLS外壳的http。https是一种通过计算机网络进行安全通信的传输协议,经由http进行通信,利用建立全信道,加密数据包。
而SSL/TLS正是混合了对称、非对称、hash三种算法所形成的。其包含了上面所说的“数字证书验证流程”和”AES+RSA混合加密”。
所以也可以说:https是由对称加密、非对称加密、hash算法三种算法共同实现的。

https的大致工作流程如下:

1.客户端发起https请求。
2.服务端把申请好的公钥证书返回给客户端。
3.客户端通过上面的“数字证书验证流程”验证证书的合法性,如果通过则继续第4步,不通过则显示警告信息。
4.客户端生成一个“对称加密”所使用的密钥,然后用证书中的服务器公钥加密这个密钥,发送给服务端
5.服务端用自己的私钥解密,得到“对称加密”密钥。
6.服务端用得到的“对称加密”密钥加密一段明文,发送给客户端。客户端使用对称密钥解密得到的明文
7.客户端发起请求,使用对称密钥加密一段明文,服务端收到后用对称密钥进行解密,得到明文。

最后附一张https流程图:

本文首发于公众号【一个老码农】

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

推荐阅读更多精彩内容