当前位置: 首页 > news >正文

[svc]对称加密/非对称加密细枝末节-如何做到数据传输的authentication/data integrity/confidentiality(私密)...

对称/非对称/混合加密的冷知识

数据在互联网上传输,要考虑安全性. 讲到安全,要从三方面考虑:

  • 1、authentication 每一个IP包的认证,确保合法源的数据
  • 2、data integrity 验证数据完整性,保证在传输过程中没有被人为改动
  • 3、confidentiality (私密性)数据包的加密

9e792b8fgy1fmpjpeia5tj215z0fm46d.jpg

下面谈谈如何对数据加密. 于是有了非对称加密

对称加密

对称加密算法---使用一把密匙来对信息提供安全的保护。只有一个密匙,即用来加密,也用来解密

特点:
- 1、速度快
- 2、密文紧凑
- 3、用于大量数据的传送

对称加密代表:DES、3DES、AES

3DES--有三个密匙,用第一个密匙加密,用第二个密匙解密,再用第三个密匙加密

9e792b8fgy1fmpiryibcfj20f607w409.jpg

9e792b8fgy1fmpimu96utj20la0gcwj5.jpg

他有个致命的缺点, 密钥传输问题.

非对称加密

绘图软件: 链接:https://pan.baidu.com/s/1hsKU560 密码:nm72

9e792b8fgy1fmpos9x0z2j20i00efdg8.jpg

他有个好处, 公钥随便扔给对方,让对方去加密数据,发给我, 我用我的私钥来解密.

不得不说公钥和私钥是一对情侣,你在我在,你亡我亡,你系的铃世上只有我能解.

9e792b8fgy1fmpild5qguj20wn0gbjzu.jpg


- 加解密如何操作? 非对称加密: 有一对密匙,一个叫公匙,一个叫私匙,如果用其中一个加密,必须用另一个解密。

- 非对称加密有什么特点?

- 1、速度慢
- 2、密文不紧凑
- 3、通常只用于数字签名,或加密一些小文件。

- 非对称加密常见的算法有哪些? RSA、ECC

- 非对称加密常见操作模式有? 
非对称加密代表RSA--有一对密匙,一个公匙,一个私匙,私匙加密,公匙解密,或者公匙加密,私匙解密

非对称加密可以有两种应用:
- 1、公钥加密,私钥解密,叫加密
- 2、私钥加密,公钥解密,叫数字签名


他也有个致命的弱点. 加密速度超慢.

带加密的数字签名
9e792b8fgy1fmpp7gpmp2j20ku0iadgh.jpg

混合加密- 理想的应用方法

806469-20171222175008412-1220640236.png

9e792b8fgy1fmpjjp7v2zj20le06gdg8.jpg

- 用非对称加密法来传送对称加密的密匙。
- 用对称加密法来加密实际的数据。

数字签名不但证明了消息的内容,还证明了发送方的身份。
密钥化的HASH--使用密钥对生成的消息摘要进行加密时,被称为加密的消息摘要。

说到这里,或许还是云里雾里,到底是不是那回事呢,使用openssl实操下 体验下对称加密和非对称加密.

使用openssl实现对数据的对称/非对称加密实操

认证机制(可靠性)和散列机制(完整性)

认证机制(这里所指的是设备的认证,而不是用户的认证)

现代的基本加密技术要依赖于消息之目标接收者已知的一项秘密,关键的问题是如何保障密钥的安全。

- 1、用户名和密码
- 2、OTP(one time password)一次性密码
- 3、生物认证(指纹、眼膜)
- 4、预共享密钥
- 5、数字证书
- 6、加密临时值

散列机制--用来做完整性检验

散列函数(就是HASH)--把一大堆数据经过计算得到一个较小的、定长的值,散列是一种不可逆函数。这意味着一旦明文生成散列,就不可能或者说极端困难再将其由散列转换成明文。

HASH的特点:
- 1、不管输入什么数据,输出是定长的
- 2、只要输入有一点微小变化,输出就会发生很大的变化,也就是雪崩效应
- 3、不可逆

## HASH的算法:
- 1、md5  提供128位的输出 md5是验证,不是加密技术,用来做哈希
- 2、SHA  提供160位的输出

HMAC--使用散列的消息认证编码,或者叫密钥化的HASH,是一种使用HASH来进行认证的机制。可以用来做预共享密钥的认证。

转载于:https://www.cnblogs.com/iiiiher/p/8086030.html

相关文章:

  • 1的个数
  • 机器学习之线性回归
  • [天下小黑盒]打地鼠小助手
  • SDN第四次上机作业
  • 让python和sublime text3结合起来
  • asp.net 初识
  • Spring transaction与EJB transaction的关系
  • (转载)(官方)UE4--图像编程----着色器开发
  • [LOJ#6259]「CodePlus 2017 12 月赛」白金元首与独舞
  • EasyPlayerPro windows播放器本地音频播放音量控制实现
  • SQL Server索引内部结构:SQL Server索引的阶梯级别10
  • apache ant 修改java版本 方法之一
  • bzoj1911[Apio2010]特别行动队 斜率优化dp
  • 通俗理解webService及.net中的使用方法
  • PHP后门的eval类和system类 函数到底有哪些区别
  • [译]如何构建服务器端web组件,为何要构建?
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • centos安装java运行环境jdk+tomcat
  • Druid 在有赞的实践
  • flask接收请求并推入栈
  • idea + plantuml 画流程图
  • IDEA常用插件整理
  • iOS编译提示和导航提示
  • python3 使用 asyncio 代替线程
  • Webpack入门之遇到的那些坑,系列示例Demo
  • 从0到1:PostCSS 插件开发最佳实践
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 看域名解析域名安全对SEO的影响
  • 漂亮刷新控件-iOS
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 深入浏览器事件循环的本质
  • 用Python写一份独特的元宵节祝福
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • ​VRRP 虚拟路由冗余协议(华为)
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #pragma预处理命令
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • ()、[]、{}、(())、[[]]命令替换
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (一) springboot详细介绍
  • (一)基于IDEA的JAVA基础1
  • ..回顾17,展望18
  • .net 重复调用webservice_Java RMI 远程调用详解,优劣势说明
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • .NET学习全景图
  • .net之微信企业号开发(一) 所使用的环境与工具以及准备工作
  • @value 静态变量_Python彻底搞懂:变量、对象、赋值、引用、拷贝