信息安全技术基础_第七章.ppt
文本预览下载声明
其他公钥加密算法简介 MH背包公钥加密体制 两个著名的公钥密码体制:背包公钥体制RSA公钥体制 1978年由Merkle 和Hellman首先提出 已经被Shamir等人破译 它的思想和有关理论首先揭示了公钥密码算法的本质,具有重要的理论意义 安全性基于背包问题求解的困难性 背包问题 例:给定背包长度L=4792, 10根棍长度分别是a1 = 2292, a2 = 1089, a3 = 0211, a4 = 1625, a5 = 1283, a6 = 0599, a7 = 0759, a8 = 0315, a9 = 2597, a10 = 2463 问选择哪几根棍子装入L,使长度总和恰好等于L? ECC椭圆曲线加密算法 基于椭圆曲线的离散对数问题 相对RSA算法,ECC密钥长度大大缩短,运算速度加快,安全性更高 具有很大潜力,已经成为一系列加密和签名算法的标准 椭圆曲线 y2 = x3 + ax + b 在 VB.net 中进行加密和解密 对称加密解密相关的类库 导入库 Import System.Security.CryptographyImport System.IO.Stream 对称加密和解密操作都通过“流”– stream 实现 一个简单的例子:DES加密 Dim desKey() As Byte = {H62, H42, H33, H28, H62, H42, H33, H28} Dim IV() As Byte = {H62, H42, H33, H28, H62, H42, H33, H28} Dim Message() As Byte = {H62, H42, H33, H28, H62, H42, H33, H28} Dim des As New DESCryptoServiceProvider Dim ct As ICryptoTransform ct = des.CreateEncryptor(desKey, IV) Dim fout As New FileStream(test.out, FileMode.OpenOrCreate, FileAccess.Write) Dim encStream As New CryptoStream(fout, ct, CryptoStreamMode.Write) encStream.Write(Message, 0, 8) 加密算法类 .net提供了很多现成的加密算法(DES, TripleDES, RC2, RSA等)。 对称加密算法都从SymmetricAlgorithm 中继承, 非对称加密算法都从AsymmetricAlgorithm 中继承 几个加密算法对象 DESCryptoServiceProvider ,实现DES TripleDESCryptoServiceProvider,实现三重DES加密 RijndaelManaged,实现AES(Rijndeal) RSACryptoServiceProvider ,实现RSA非对称加密解密算法 加密算法类中的Padding属性表示什么意思? Padding属性表示“填充方式”。表示当输入的数据不是完整的块的时候,如何进行填充。 None:不填充。当不是整块数据时抛出异常 PKCS7:按照PKCS7的标准进行填充。具体的方法较为复杂 Zeros:全部使用0进行填充。 IV的作用是什么?Mode属性的意义又是什么? 对于各种块密码加密算法,如果存在相同的两个块,那么输出块也必然相同。这将给密码破译者提供更多的信息。为了克服这个问题,FIPS PUB74和FIPS PUB81中给出了四种加密的工作方式,就是Mode ECB方式:电子密码本方式该种工作方式就是不加入任何反馈的方式 CBC方式c0 = IVci = DESk(mi + ci-1) CFB方式,OFB方式他们也都需要一个IV CBC的工作方式 IV称为初始向量,采用不同的IV,加密结果也不相同。但是IV并不需要保密。 加密和解密必须使用相同的key 和相同的IV 在VB.net 中进行RSA加密解密 使用RSACryptoServiceProvide对象 所使用的密钥是RSAParameters对象 作业 __________密码体制是最早进行理论研究的公钥密码体制。它的思想和理论首先揭示了公钥加密体制的本质。 在VB.net 中,利用本身的加密功能,必须倒入的两个类库是_________和___________。 在VB.net 中,要进行AES加密和解密,应该创建的加密算法类对象是__________。要进行RSA加密和解密,应该创建的加密算法类对象是________。 填写以下进行DES加密的过程
显示全部