网络数据加密与解密PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.NET类库使用的私钥算法有RC2、DES、 TripleDES和Rijndael。这些算法通过加密将n字 节的输入块转换为加密字节的输出块。如果要 加密或解密字节序列,必须逐块进行。
3
6.1 对称加密(续)
为了保证数据的安全,.NET基类库中提供 的私钥算法类使用称作密码块链(CBC,Cipher Block Chaining)的链模式,算法使用一个密钥 和一个初始化向量(IV,Initialization Vector) 对数据执行加密转换。密钥和初始化向量IV一起 决定如何加密数据,以及如何将数据解密为原始 数据。通信双方都必须知道这个密钥和初始化向 量才能够加密和解密数据。
在.NET Framework中,公共语言运行时 CLR(Common Language Runtime)使用面向 流的设计实现对称加密,该设计的核心是 CryptoStream,实现CryptoStream的任何被加 密的对象都可以和实现Stream的任何对象链接起 来。实现对称加密算法的类有四种: DESCryptoServiceProvider RC2CryptoServiceProvider RijndaelManaged TripleDESCryptoServiceProvider
CreateEncryptor方法 创建TripleDES加密器对象
CreateDecryptor方法 创建TripleDES解密器对象
GenerateIV方法
生成用于TripleDES算法的随机初始化向量IV
GenerateKey方法 生成用于TripleDES算法的随机密钥
9
TripleDES加密算法介绍(续)
在.NET库的System.Security.Cryptography 命名空间中,包含多种加密数据的类,涉及多种 加密算法。加密方法主要分为两大类:对称加密 和不对称加密。
2
6.1 对称加密
对称加密也称为私钥加密,采用私钥算法, 加密和解密数据使用同一个密钥。
私钥算法以块为单位加密数据,一次加密 一个数据块。
6
四种对称加密类的主要特点
类 DESCryptoServiceProvider RC2CryptoServiceProvider RijndaelManaged
TripleDESCryptoServiceProvider
可用密钥长度 (bit)
64
加密算法 DES加密算法
40-128 (每8位递增)
8
TripleDESCryptoServiceProvider类常用的 属性和方法
名称
解释
BlockSize属性
获取或设置加密操作的快大小,以位为单位
Key属性 IV属性
获取或设置TripleDES算法的机密密钥 获取或设置TripleDES算法的初始化向量
KeySΒιβλιοθήκη Baiduze属性
获取或设置TripleDES算法所用密钥的大小,以位 为单位
128-256 (每64位递增)
RC2加密算法 Rijndael加密算法
128-192
三重DES加密算
(每64位递增)
法
7
TripleDES加密算法介绍
TripleDES使用DES算法的三次连续迭代, 支持从128位到192位(以64位递增)的密钥长度, 其安全性比DES更高。DES的含义是Data Encryption Standard,是美国1977年公布的一种 数据加密标准,DES算法在各超市零售业、银行 自动取款机、磁卡及IC卡、加油站、高速公路收 费站等领域被广泛应用,以此来实现关键数据的 保密,如信用卡持卡人的PIN的加密传输,IC卡 的认证、金融交易数据包的MAC校验等,均用 到DES算法。DES算法具有非常高的安全性,到 目前为止,除了用穷举搜索法对DES算法进行攻 击外,还没有发现更有效的办法。
为了使用流进行加密解密处理,.NET Framework还 提供了CryptoStream类,该类用于定义将数据流链接到 加密转换的流。实现CryptoStream的任何加密对象均可 以和实现Stream的任何对象链接起来,因此一个对象的 流式处理输出可以馈送到另一个对象的输入,而不需要 分别存储中间结果,即不需要存储第一个对象的输出。
CryptoStream对象的用法和其它流的用法相似,这 里不再重复介绍。但是要注意,完成CryptoStream对象 的使用后,不要忘了调用Close方法关闭该对象。Close方 法会刷新流并使所有剩余的数据块都被CryptoStream对 象处理。由于在调用Close方法前对流的读写操作有可能 会出现异常,所以为确保流处理能够正常关闭,一般在 try/catch语句的finally块中调用Close方法。
10
例.使用TripleDES加密算法对输入的字符串 进行加密,并输出加密后的字符串和解密后 的结果。
(1) 新建一个名为TdesEncryptExample的 Windows应用程序,修改Form1.cs为 FormTdesEncrypt.cs,设计界面如下图所示。
textBoxInput buttonOK
4
6.1 对称加密(续)
对称加密算法的优点是保密强度高,加、解 密速度快,适合加密大量数据。攻击者如果对加 密后的数据进行破译,惟一的办法就是对每个可 能的密钥执行穷举搜索。而采用这种加密技术, 即使使用最快的计算机执行这种搜索,耗费的时 间也相当长。如果使用较大的密钥,破译将会更 加困难。
5
6.1 对称加密(续)
textBoxKey textBoxEncrypt textBoxDecrypt
第6章 网络数据加密与解密
6.1 对称加密 6.2 不对称加密 6.3 通过网络传递加密数据 6.4 Hash算法与数字签名
1
数据在网络传输过程中的保密性是网络安全 中重点要考虑的问题之一。由于通过网络传递数 据是在不安全的信道上进行传输,因此通信双方 要想确保任何可能正在侦听的人无法理解通信的 内容,而且希望确保接收方接收的信息没有在传 输期间被任何人修改,最好的办法就是在传输数 据前对数据进行加密,接收方接收到加密的数据 后再进行解密处理,从而保证数据的安全性。
3
6.1 对称加密(续)
为了保证数据的安全,.NET基类库中提供 的私钥算法类使用称作密码块链(CBC,Cipher Block Chaining)的链模式,算法使用一个密钥 和一个初始化向量(IV,Initialization Vector) 对数据执行加密转换。密钥和初始化向量IV一起 决定如何加密数据,以及如何将数据解密为原始 数据。通信双方都必须知道这个密钥和初始化向 量才能够加密和解密数据。
在.NET Framework中,公共语言运行时 CLR(Common Language Runtime)使用面向 流的设计实现对称加密,该设计的核心是 CryptoStream,实现CryptoStream的任何被加 密的对象都可以和实现Stream的任何对象链接起 来。实现对称加密算法的类有四种: DESCryptoServiceProvider RC2CryptoServiceProvider RijndaelManaged TripleDESCryptoServiceProvider
CreateEncryptor方法 创建TripleDES加密器对象
CreateDecryptor方法 创建TripleDES解密器对象
GenerateIV方法
生成用于TripleDES算法的随机初始化向量IV
GenerateKey方法 生成用于TripleDES算法的随机密钥
9
TripleDES加密算法介绍(续)
在.NET库的System.Security.Cryptography 命名空间中,包含多种加密数据的类,涉及多种 加密算法。加密方法主要分为两大类:对称加密 和不对称加密。
2
6.1 对称加密
对称加密也称为私钥加密,采用私钥算法, 加密和解密数据使用同一个密钥。
私钥算法以块为单位加密数据,一次加密 一个数据块。
6
四种对称加密类的主要特点
类 DESCryptoServiceProvider RC2CryptoServiceProvider RijndaelManaged
TripleDESCryptoServiceProvider
可用密钥长度 (bit)
64
加密算法 DES加密算法
40-128 (每8位递增)
8
TripleDESCryptoServiceProvider类常用的 属性和方法
名称
解释
BlockSize属性
获取或设置加密操作的快大小,以位为单位
Key属性 IV属性
获取或设置TripleDES算法的机密密钥 获取或设置TripleDES算法的初始化向量
KeySΒιβλιοθήκη Baiduze属性
获取或设置TripleDES算法所用密钥的大小,以位 为单位
128-256 (每64位递增)
RC2加密算法 Rijndael加密算法
128-192
三重DES加密算
(每64位递增)
法
7
TripleDES加密算法介绍
TripleDES使用DES算法的三次连续迭代, 支持从128位到192位(以64位递增)的密钥长度, 其安全性比DES更高。DES的含义是Data Encryption Standard,是美国1977年公布的一种 数据加密标准,DES算法在各超市零售业、银行 自动取款机、磁卡及IC卡、加油站、高速公路收 费站等领域被广泛应用,以此来实现关键数据的 保密,如信用卡持卡人的PIN的加密传输,IC卡 的认证、金融交易数据包的MAC校验等,均用 到DES算法。DES算法具有非常高的安全性,到 目前为止,除了用穷举搜索法对DES算法进行攻 击外,还没有发现更有效的办法。
为了使用流进行加密解密处理,.NET Framework还 提供了CryptoStream类,该类用于定义将数据流链接到 加密转换的流。实现CryptoStream的任何加密对象均可 以和实现Stream的任何对象链接起来,因此一个对象的 流式处理输出可以馈送到另一个对象的输入,而不需要 分别存储中间结果,即不需要存储第一个对象的输出。
CryptoStream对象的用法和其它流的用法相似,这 里不再重复介绍。但是要注意,完成CryptoStream对象 的使用后,不要忘了调用Close方法关闭该对象。Close方 法会刷新流并使所有剩余的数据块都被CryptoStream对 象处理。由于在调用Close方法前对流的读写操作有可能 会出现异常,所以为确保流处理能够正常关闭,一般在 try/catch语句的finally块中调用Close方法。
10
例.使用TripleDES加密算法对输入的字符串 进行加密,并输出加密后的字符串和解密后 的结果。
(1) 新建一个名为TdesEncryptExample的 Windows应用程序,修改Form1.cs为 FormTdesEncrypt.cs,设计界面如下图所示。
textBoxInput buttonOK
4
6.1 对称加密(续)
对称加密算法的优点是保密强度高,加、解 密速度快,适合加密大量数据。攻击者如果对加 密后的数据进行破译,惟一的办法就是对每个可 能的密钥执行穷举搜索。而采用这种加密技术, 即使使用最快的计算机执行这种搜索,耗费的时 间也相当长。如果使用较大的密钥,破译将会更 加困难。
5
6.1 对称加密(续)
textBoxKey textBoxEncrypt textBoxDecrypt
第6章 网络数据加密与解密
6.1 对称加密 6.2 不对称加密 6.3 通过网络传递加密数据 6.4 Hash算法与数字签名
1
数据在网络传输过程中的保密性是网络安全 中重点要考虑的问题之一。由于通过网络传递数 据是在不安全的信道上进行传输,因此通信双方 要想确保任何可能正在侦听的人无法理解通信的 内容,而且希望确保接收方接收的信息没有在传 输期间被任何人修改,最好的办法就是在传输数 据前对数据进行加密,接收方接收到加密的数据 后再进行解密处理,从而保证数据的安全性。