对称密钥系统和公开密钥系统

为了安全性,在因特网上传输的一些信息需要加密,比如用户登陆所使用的密码。加密系统一般分为对称密钥系统(symmetric key system)和公开密钥系统(public key system)。

对称密钥系统

在对称密钥系统中,用于加密和解密的密钥是相同的并且是秘密的,只能为两个人所知。

块密码加密和解密

块密码(block ciphers):要加密的报文被分为许多个块,每个块大小为k 比特,对于每一个k比特的块,独立进行加密。
举个例子,下面是一个映射表,input为明文,每块大小k=3。output为对应的密文形式。

因此,明文000,001,010,011被加密成110,111,101,100。如果我们知道这张映射表,就可以根据密文,得到对应的明文。
如果k=64,则需要维护一张具有2^64个输入值和输出值的表,这是难以实现的(存两个64位的数,16byte。具有2^64个16byte,这个内存占用太大了)。而且,修改时,也比较麻烦,需要重新生成。故块密码通常使用函数模拟映射表。为了防止相同的明文块(比如频繁出现的关键词Http)产生相同的密文块,可以在加密的时候,掺入随机性。
目前流行的块密码算法中,有DES(Data Encryption Standard),和AES(Advanced Encryption Standard)。

公开密钥系统

对称密钥系统要求双方共同守护这个密码,不能为别人所知。但如果双方没有提前约定过,就不知道这个密码了。即使传送,也不知道能否安全传送。这时候,可以使用公开密钥系统。
在公开密钥系统中,使用一对密钥,即公钥(public key)和私钥(private key)。公钥被全世界的人都可以看到,私钥只有产生密钥对(公钥和私钥对)的人知道。在加密解密中,公钥用于加密,私钥用于解密。例如,表单登陆中,需要将密码发给服务器。为了安全地传输,可以将密码用公钥加密,再传送给服务器。服务器接受到加密后的密码,再用私钥解密,就可以得到真正的密码了。(题外话:用户注册时候的密码,在存到数据库之前,会使用md5散列一下,得到面目全非的密码映射值,再存到数据库。md5是一种理论上单向不可逆的散列算法,不能够从加密之后的密文得到明文,可以用于将明文以密文的形式保存。用户登陆的时候,将解密的密码md5之后,再与数据库中的密码进行对比,判断是否登陆成功。)

RSA

RSA算法(RSA algorithm, 取算法创始人Ron Rivest, Adi Shamir和Leonard Adleman的首字母命名)几乎是公开密钥密码的代名词。
RSA算法公钥和私钥的产生,看下面的截图:
(书中假设,Trudy和Bob是夫妻,Alice和Bob有不正当的情人关系。Bob和Alice需要秘密地通信。)

加密和解密过程:

可以看出,算法需要做指数运算,这需要耗费很多时间。因此,RSA算法没有对称密钥算法快。因为RSA慢,故成本高,常用于传输少量的数据。为了解决这个问题,可以将RSA和对称密钥系统结合起来。先通过RSA传送一个对称密钥系统中用到的密钥,会话密钥(session key),接下来,可以使用会话密钥进行通信了。

欢迎提出问题,交流才能进步。

参考

《计算机网络—自顶向下方法》

对称密钥系统和公开密钥系统相关推荐

  1. 对称密钥密码体制和公开密钥密码体制

    一:对称密钥密码体制 数据加密标准(DES)是对称分组密码体制,它的密钥长度为64位,实际密钥长度即主密钥为56位,用于生成每轮加密循环体制的密钥,将64位明文加密为64位暗文.加密循环体制位数为16 ...

  2. 安全性和保密性设计---对称密钥加密算法

    随着科技进步.社会发展,尤其是以计算机为代表的信息技术飞速发展,各种信息呈爆炸式发展.计算机及信息技术的应用领域在不断扩展,计算机在政府.企业.民生等各个领域中都得到越来越广泛的应用.与此同时,网络攻 ...

  3. 【计算机网络】网络安全 : 总结 ( 网络攻击类型 | 网络安全指标 | 数据加密模型 | 对称密钥密码体质 | 公钥密码体质 | 数字签名 | 报文鉴别 | 实体鉴别 | 各层安全 ) ★

    文章目录 一.四种网络攻击 ★ 二.网络安区指标 ★ 三.数据加密模型 ★ 四.对称密钥密码体质 ★ 五.公钥密码体质 ★ 六.数字签名 ★ 七.报文鉴别 ★ 八.实体鉴别 ★ 九.IP 安全 ( 网 ...

  4. 对称密钥算法和公钥算法的优缺点

    对称密钥算法 对称密钥算法是应用较早的加密算法,技术成熟.在对称密钥算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去.收信方收到密文后,若想解读 ...

  5. 专业外卖CPS返利系统-专业外卖CPS返利系统-外卖返利系统-美团饿了么返利系统

    专业外卖CPS返利系统-专业外卖CPS返利系统-外卖返利系统-美团饿了么返利系统 外卖券外卖省省外卖探探美团饿了么外卖联盟优惠券小程序系统软件开发源码 美团/饿了么外卖CPS联盟返利公众号小程序裂变核 ...

  6. 系统架构设计 - 系统安全性和保密性设计

    一.安全性和保密性设计 计算机及信息技术的应用领域在不断扩展,计算机在政府.企业.民生等各个领域中都得到越来越广泛的应用.与此同时,网络攻击和入侵事件与日俱增,重要机构的信息系统遭黑客袭击的事件时有发 ...

  7. 你不知道的对称密钥与非对称密钥

    (一)对称加密(Symmetric Cryptography) 对称密钥加密,又称私钥加密,即信息的发送方和接收方用一个密钥去加密和解密数据.它的最大优势是加/解密速度快,适合于对大数据量进行加密,对 ...

  8. 九、软考·系统架构师——系统架构质量及评估

    系列文章 一.程序员进阶架构师的基础知识[计算机基础] 二.程序员进阶架构师的基础知识[操作系统] 三.程序员进阶架构师的基础知识[计算机网络基础] 四.程序员进阶架构师的专业知识[软件工程基础] 五 ...

  9. 对称加密的对称密钥分发

    对称加密的对称密钥分发 密钥分发的可能方式 1.A选择一个密钥后以物理的方式传递给B 2.第三方选择密钥后物理地传给A和B 3.如果A和B先前或最近使用过一个密钥,则一方可以将 新密钥用旧密钥发送给另 ...

最新文章

  1. 组建元宇宙军团!「谷歌实验室」重生,超700人神秘团队都有谁?
  2. 【顾连科普】健康生活的10个小常识,请收下
  3. (转)Oracle与DB2在数据库高可用技术上的相同与差异探讨
  4. python输出格式化及函数format
  5. 深度学习总结:GAN,3种方式实现fixedGtrainD,fixedDtrainG, retain, detach
  6. Angular Template expression operators介绍
  7. 64位 regsrv win10_Win10 64位安装个人版SQL2000图文教程
  8. Approximation and fitting、Statistical estimation
  9. 曲线图绘制软件_OpenFoam离心泵数值仿真及不同CFD软件间对比
  10. (转)十分钟入门pandas
  11. python抢红包random实现_python写红包的原理流程包含random,lambda其中的使用和见简单介绍...
  12. 让英文版的LINUX 支持中文显示
  13. [转]通过路径直接打开时地图时报错的解决方法
  14. eui怎么在名字后面显示服务器,EUI如何打开经验条 显示经验条其实很简单
  15. [armv9]-PAC:Pointer authentication和BTI:Branch target instructions介绍
  16. monit 内存 监控_mac系统监控软件Monity for Mac
  17. 百度网盘免费扩容2T的内幕
  18. jq动态改变路径_在react中使用jQuery动态更改图片路径遇到的问题
  19. 大数据分析师的沟通技巧
  20. 【文献解读 情感合成】Expressive Speech Driven Talking Avatar Synthesis with DBLSTM using 有限的情感双峰数据

热门文章

  1. java1.8 stream()报错_streamsets 安装
  2. 微信小程序动态修改数据 list展示
  3. python实验-类的运用
  4. git 游离的head
  5. Surfshark下载到使用完整教程|2023最新
  6. xargs的简单介绍
  7. vue报错 vue-router.esm.js?8c4f:2089 Uncaught (in promise)
  8. 简单的入门Android开发和Java语言基础[图]
  9. 新版CCNP考试通过分数及考试时间(转)
  10. 手把手教你打包一个自己的Vivado IP核