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

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

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

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

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

对称加密

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

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

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

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

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

非对称加密

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

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


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

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

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

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

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

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

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

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

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

数字签名不但证明了消息的内容,还证明了发送方的身份。
密钥化的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来进行认证的机制。可以用来做预共享密钥的认证。
时间: 2024-11-08 11:52:50

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

第十四章 调试及安全性(In .net4.5) 之 对称及非对称加密

1. 概述 本章内容包括:对称及非对称加密算法..net中的加密类.使用哈希操作.创建和管理签名认证.代码访问权限 和 加密字符串. 2. 主要内容 2.1 使用对称和非对称加密 ① 对称加密:使用同一个密钥来加密和解密数据,密钥的安全传输是一个很重要的问题. ② 非对称加密:使用两个关联的密钥(公钥和私钥),公钥公开,私钥保密.用公钥加密的信息可以用私钥解密,反之亦然. ③ 对称加密 速度快,适用大数据量情况.使用两种加密算法的组合方式,可以实现大数据的加密传输. *密钥之外的另一种加密方式是

对称加密+非对称加密,实现数据安全传输

一般金融类的产品,涉及前端和后端交互的时候,都会都严格的数据安全保证.防止黑客攻击,信息篡改. 加密方式有很多,总的来说,分为2种:对称和非对称.我们先来看一下,这两种加密方式分别是什么?他们有什么区别? 对称加密: 对称加密,即采用对称的密码编码技术,他的特点是,加密和解密使用相同的秘钥. 常见的对称加密算法有DES.3DES.Blowfish.IDEA.RC4.RC5.RC6和AES.对称加密算法使用起来简单快捷,密钥较短,且破译困难. 但是对称秘钥在使用过程中存在以下问题: 1.对称加密算

对称与非对称加密;SSL;HTTPS;AJP

1.对称加密就是加密与解密的时候都是用一个密码 2.非对称加密,有一对密码A,B:用A加密就得用B解密,相对的用B加密就得用A解密 3.公钥与私钥,这一对密码,随便拿一个公布出去,那个就是公钥,剩下一个是私钥. 4.应用1:我想给一个人发信息,我就去拿他公布出来的公钥加密,加密后就只能用私钥来解密,由于私钥在他手中,就能很好在传输中保密. 5.应用2:我收到一个信息,说是银行发来的账单,银行为了不被别人冒牌货发假信息给客户,事先给客户说好,我给你发信息是我的私钥加密了的,所以客户到了信息就要去拿

单向加密 对称加密 非对称加密

单向加密: 单向加密又称为不可逆加密算法,在加密过程中不使用密钥,明文由系统加密处理成密文,密文无法解密.一般适合于验证,在验证过程中,重新输入明文,并经过同样的加密算法处理,得到相同的密文并被系统重新认证.广泛使用于口令加密. 一:base64 常见于邮件.http加密,截取http信息,你就会发现登录操作的用户名.密码字段通过BASE64加密的. 主要就是BASE64Encoder.BASE64Decoder两个类 BASE加密后产生的字节位数是8的倍数,如果不够位数以=符号填充 二:md5

个人理解c#对称加密 非对称加密 散列算法的应用场景

c#类库默认实现了一系列加密算法在System.Security.Cryptography; 命名空间下 对称加密 通过同一密匙进行加密和解密.往往应用在内部数据传输情况下.比如公司a程序 和B程序 .a程序要给B程序发送数据 但是为了防止明文发送 数据被窃取.那么我就定了一个协议传输的数据的byte字节都统一+1  而接收数据的情况下将Byte字节统一-1 然后就能获得正确的 数据(当然这个是一个简单的加密) ,真正应用的加密肯定比这个复杂很多 非对称加密 传输数据的双方有各自的公钥和私钥  

Java对称与非对称加密解密,AES与RSA

加密技术可以分为对称与非对称两种. 对称加密,解密,即加密与解密用的是同一把秘钥,常用的对称加密技术有DES,AES等 而非对称技术,加密与解密用的是不同的秘钥,常用的非对称加密技术有RSA等 为什么要有非对称加密,解密技术呢 假设这样一种场景A要发送一段消息给B,但是又不想以明文发送,所以就需要对消息进行加密.如果采用对称加密技术,那么加密与解密用的是同一把秘钥.除非B事先就知道A的秘钥,并且保存好.这样才可以解密A发来的消息. 由于对称技术只有一把秘钥,所以秘钥的管理是一个很麻烦的问题.而非

对称加密 非对称加密 不可逆加密算法

根据密钥类型不同可以将现代密码技术分为两类:对称加密算法(私钥密码体系)和非对称加密算法(公钥密码体系). 1 对称加密算法中,数据加密和解密采用的都是同一个密钥,因而其安全性依赖于所持有密钥的安全性.对称加密算法的主要优点是加密和解密速度快,加密强度高,且算法公开.缺点是实现密钥的秘密分发困难,在大量用户的情况下密钥管理复杂,而且无法完成身份认证等功能,不便于应用在网络开放的环境中.对称加密算法的特点是算法公开.计算量小.加密速度快.加密效率高.目前最著名的对称加密算法有数据加密标准DES,但

白话数字签名(1)——基本原理(新!) 对称加密 非对称加密 数字签名

http://www.cnblogs.com/1-2-3/archive/2007/09/17/colloquialism-digital-certificate-part1.html 摘要 本系列通过通俗易懂的讲解,让您就像读小说一般,轻轻松松就能理解数字签名的基本原理和应用方法(即使您是一个并不精通计算机的企业老总,也能读懂本篇文章).然后我们再逐步深入技术细节,最后将给出一个在B/S信息系统中使用数字签名的DEMO. 由于数字签名基于非对称加密技术,所以我们需要先啰嗦一下对称加密和非对称加

Android Keystore 对称-非对称加密

Android 提供了 KeyStore 等可以长期存储和检索加密密钥的机制,Android KeyStore 系统特别适合于存储加密密钥. “AndroidKeyStore” 是 KeyStore 的一个子集,存进 AndroidKeyStore 的 key 将受到签名保护,并且这些 key 是存在系统里的,而不是在 App 的 data 目录下,依托于硬件的 KeyChain 存储,可以做到 private key 一旦存入就无法取出, 每个 App 自己创建的 key,别的应用是访问不到的