第03章_数据加密_第1页
第03章_数据加密_第2页
第03章_数据加密_第3页
第03章_数据加密_第4页
第03章_数据加密_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机安全技术基础 第三讲数据加密 信息安全的定义 广义上 凡是涉及到信息的安全性 完整性 可用性 真实性和可控性的相关理论和技术都是信息安全所要研究的领域 狭义的信息安全是指信息内容的安全性 即保护信息的秘密性 真实性和完整性 避免攻击者利用系统的安全漏洞进行窃听 冒充 诈骗 盗用等有损合法用户利益的行为 保护合法用户的利益和隐私 现代密码学 Cryptography 是信息安全技术核心 网络安全模型 网络安全模型的要求 designasuitablealgorithmforthesecuritytransformationgeneratethesecretinformation keys usedbythealgorithmdevelopmethodstodistributeandsharethesecretinformationspecifyaprotocolenablingtheprincipalstousethetransformationandsecretinformationforasecurityservice 密码编码 数据加密是计算机安全领域的重要内容 其基本思想是通过变换信息的表示形式来保护敏感信息 使非授权者不能了解被保护的内容 密码技术包括密码设计 密码分析 密钥管理 验证技术等 历史上的密码设备 Phaistos圆盘 一种直径约为160mm的Cretan Mnoan粘土圆盘 始于公元前17世纪 表面有明显字间空格的字母 至今还没有破解 历史上的密码设备 二战中美国陆军和海军使用的条形密码设备M 138 T4 根据1914年ParkerHitt的提议而设计 25个可选取的纸条按照预先编排的顺序编号和使用 主要用于低级的军事通信 历史上的密码设备 Kryha密码机大约在1926年由AlexandervoKryha发明 这是一个多表加密设备 密钥长度为442 周期固定 一个由数量不等的齿的轮子引导密文轮不规则运动 历史上的密码设备 哈格林 Hagelin 密码机C 36 由AktiebolagetCryptoeknidStockholm于1936年制造密钥周期长度为3 900 255 历史上的密码设备 M 209是哈格林对C 36改进后的产品 由Smith Corna负责为美国陆军生产 它的密码周期达到了101 105 950 历史上的密码设备 转轮密码机ENIGMA 由ArthurScherbius于1919年发明 面板前有灯泡和插接板 4轮ENIGMA在1944年装备德国海军 似乎英国从1942年2月到12月都没能解读德国潜艇的信号 历史上的密码设备 英国的TYPEX打字密码机 是德国3轮ENIGMA的改进型密码机 它在英国通信中使用广泛 且在破译密钥后帮助破解德国信号 历史上的密码设备 在线密码电传机LorenzSZ42 大约在1943年由LorenzA G制造 英国人称其为 tunny 用于德国战略级陆军司令部 SZ40 SZ42加密因为德国人的加密错误而被英国人破解 此后英国人一直使用电子COLOSSUS机器解读德国信号 主要术语 加密和解密 明文和密文加密算法和解密算法 密钥对称密码体制和公开密码体制 加密和解密 明文和密文 数据加密的基本过程包括加密和解密 加密是对原来的可读信息 明文 进行翻译成不可读信息 密文 解密是加密的逆过程 将隐藏的不可读信息转化为其原来的形式的过程 加密算法和解密算法 密钥 对明文进行加密时采用的一组规则称为加密算法 对密文解密时采用的一组规则称为解密算法 加密算法和解密算法通常都是在一组密钥控制下进行的 分别称为加密密钥和解密密钥 保密性是基于密钥而不是基于算法的 对称密码体制和公开密码体制 若加密密钥和解密密钥相同或者能从加密密钥推导得出解密密钥 称为对称密码体制 若加密密钥和解密密钥不同并且从一个密钥不能推导出另一密钥 称为公开密码体制 加密算法和解密算法决定密码体制 常规加密模型 常规加密的简化模型 常规密码系统的模型 常规加密的安全性 加密算法必须足够强大 使得仅根据密文就能破译出消息是不切实际的 取决于密钥的安全性而不是算法的安全性 加密算法和解密算法适用于所有密钥控件中的元素 更换密钥不影响加密强度系统便于实现和使用方便 密码编码学 密码编码系统通常分为三类 将明文转换为密文操作的类型替代 置换 乘积所使用密钥的数量单个 多个 公开明文处理的方式分组 流 密码分析攻击 经典加密技术 替代技术 明文的字母由其他字母或数字或符号所代替 如果该明文为一个比特序列 则替代涉及到用密文比特模式代替明文比特模式置换技术 通过执行对明文字母的某种置换 取得一种类型完全不同的映射 这种技术称为置换密码 恺撒密码 earliestknownsubstitutioncipherbyJuliusCaesarfirstattesteduseinmilitaryaffairsreplaceseachletterby3rdletteron例如 明文 meetmeafterthetogaparty密文 PHHWPHDIWHUWKHWRJDSDUWB 恺撒密码 candefinetransformationas abcdefghijklmnopqrstuvwxyzDEFGHIJKLMNOPQRSTUVWXYZABCmathematicallygiveeachletteranumberabcdefghijklm0123456789101112nopqrstuvwxyZ13141516171819202122232425thenhaveCaesarcipheras C E p p k mod 26 p D C C k mod 26 恺撒密码的攻击 onlyhave26possibleciphersAmapstoA B Zcouldsimplytryeachinturnabruteforcesearchgivenciphertext justtryallshiftsoflettersdoneedtorecognizewhenhaveplaintexteg breakciphertext GCUAVQDTGCM 单一字母替代法密码 ratherthanjustshiftingthealphabetcouldshufflethelettersarbitrarilyeachplaintextlettermapstoadifferentrandomciphertextletterhencekeyis26letterslongPlain abcdefghijklmnopqrstuvwxyzCipher DKVQFIBJWPESCXHTMYAUOLRGZNPlaintext ifwewishtoreplacelettersCiphertext WIRFRWAJUHYFTSDVFSFUUFYA 单一字母替代法密码的安全性 nowhaveatotalof26 4x1026keyswithsomanykeys mightthinkissecurebutwouldbe WRONG problemislanguagecharacteristics 语言的冗余和破译 humanlanguagesareredundanteg thlrdsmshphrdshllntwnt lettersarenotequallycommonlyusedinEnglisheisbyfarthemostcommonletterthenT R N I O A Sotherlettersarefairlyrarehavetablesofsingle double tripleletterfrequencies 英文中字母的相对频率 英文中字母的相对频率的应用 主要思想 单一字母替代法donotchangerelativeletterfrequenciesdiscoveredbyArabianscientistsin9thcenturycalculateletterfrequenciesforciphertextcomparecounts plotsagainstknownvaluesifCaesarcipherlookforcommonpeaks troughspeaksat A E Itriple NOpair RSTtripletroughsat JK X Zformonoalphabeticmustidentifyeachlettertablesofcommondouble triplelettershelp 破解示例 givenciphertext UZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZVUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSXEPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQcountrelativeletterfrequencies seetext guessP ZareeandtguessZWisthandhenceZWPistheproceedingwithtrialanderrorfinallyget itwasdisclosedyesterdaythatseveralinformalbutdirectcontactshavebeenmadewithpoliticalrepresentativesofthevietconginmoscow 单一字母替代法的改进 两种重要的方法可用于替代密码中 以减少明文的结构仍能保留在密文中的程度 一种方法是对明文的多个字母进行加密Playfair密码 它将明文中的双字母组合作为一个单元对待 并将这些单元转换为密文双字母组合 Hill密码 取m个连续的明文字母 并用m个密文字母代替另一种方法是使用多个密文字母表 即处理明文时使用不同的单字母替代 栅栏技术 writemessagelettersoutdiagonallyoveranumberofrowsthenreadoffcipherrowbyrow例如writemessage meetmeafterthetogaparty outas mematrhtgpryetefeteoaatgivingciphertextMEMATRHTGPRYETEFETEOAAT 列置换技术 以一个矩形逐行写出消息再逐列读出该消息 并以行的顺序排列 列的阶则成为该算法的密钥 例Key 4312567Plaintext attackpostponeduntiltwoamxyzCiphertext TTNAAPTMTSUOAODWCOIXKNLYPETZ通过执行多次置换的阶段 置换密码的安全性能有较大改观 对称密钥算法 目前使用最广泛的加密方法都基于1977年被美国标准局批准的数据加密标准DES DataEncryptionStandard 它是由IBM公司在1970年发展出的一个加密算法 在DES中数据以64位分组进行加密 密钥长度为56位 加密算法经过一系列的步骤把64位的输入变成64位的输出 解密过程中使用同样的步骤和同样的算法 对称密钥算法的基本原理 DES的基本原理就是混淆和散布 所谓混淆就是将明文转换成其他的样子 而散布则是指明文中的任何一个小地方的变更的将扩散到密文的各个部分 散布机制试图使得明文和密文之间的统计关系尽量复杂 以便挫败推测密码的尝试 混淆试图使得密文的统计特性与加密密钥的取值之间的关系尽量复杂 同样是为了挫败发现密钥的尝试 P盒和S盒 现代密码算法中 替代和置换是用简单的电路 或计算机程序 对二进制比特位实现 P盒对应于置换 用来改变8位输出线的输出排列顺序 S盒对应于替代 用来将一组二进制位替换另一组二进制位 P盒 如果输入的数据为10100110 则输出变为01100101 S盒 如果输入为101 则输出为111 DES加密算法的一般描述 DES加密算法的三个阶段 64位明文经过初始置换IP后 比特重排产生了经过置换的输入 第二个阶段是有对同一个函数进行16次循环组成的 这个函数本身既包含有置换又包含有替代函数 最后一个循环的输出由64位组成 它是输入和密钥的函数 该输出的左右两个部分交换后得到预输出 预输出通过一个逆初始置换就生成了64位的密文 DES密钥的使用方法 密钥首先通过一个置换函数 接着对于16个循环的每一个 都通过一个循环左移操作和一个置换操作的组合产生一个子密钥Ki 对每一个循环 置换函数是相同的 但由于密钥比特的重复移位 产生的子密钥并不相同 每个循环的详细过程 每个循环的详细过程 每个64位的中间结果的左右两部分被当成两个独立的32位数值处理 分别标记为L和R 其迭代过程为 Ki是由56位密钥确定的48位密钥 输入R 32位 先被扩展到48位 表 得到的48位再和Ki进行异或 其输出在经过一个S盒产生32位的输出 最后按表进行置换 S盒在函数F中的作用 S盒在函数F中的作用 替代一共由8个S盒完成 其中每一个都接受6位输入并产生4位输出 S盒的使用方法 盒子Si的输入的第1和第6位构成一个2位二进制数 用来选择Si表中的四行所定义的4种替代的一种 中间的4位则选出1列 被上述行和列所选择单元的十进制数转换为一个4位二进制表示就产生了输出 密钥的产生 56位密钥首先经过一个置换 该置换由一个称为置换选择1的表确定 得到的56位密钥被当成两个28位的量C0和D0 在每一个循环中 Ci 1和Di 1分别经过一个由表确定的1位或2位循环左移 或转动 这些经过移位的值再作为下一个循环的输入 它们同时作为置换选择2的输入 产生的48位输出则作为函数F Ri 1 Ki 的输入 扩展置换 E表 S盒 S盒 P盒 雪崩效应 明文或密钥一个比特的变化应该引起密文许多比特的改变 如果改变太小 就可能找到一种方法减小有待搜索的明文和密钥空间的大小 DES有很强的雪崩效应 两个只差一个比特的明文的例子两个只差一个比特的密钥的例子 DES中的雪崩效应 只差一个比特的明文的例子 00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000密钥 00000011001011010010011000100011100001100000111000110010整个循环结束后 两个密文有34个位置不同 见表a 只差一个比特的密钥的例子 0110100010000101001011100111101000010011011101101110101110100100密钥 1110010111101111011110011000001110100001000110001110111001100101111011110111100110000011101000010001100011101110雪崩效应在几轮循环之后就显示出来 见表b 对称密钥算法的安全性 自从DES问世至今 对它进行各式各样的研究分析 并未发现其算法上的破绽 从目前的研究结果看 除了穷举搜索攻击之外就没有更好的方法破译DES了 穷举搜索是指破译者在得到一组明文 密文的情况下 可穷举所有密钥对明文进行加密 直到得到的密文与已知的明文 密文对中相符为止 对称密钥算法的安全性 RockerVerser在1997年1月29日RSA公司进行的名为 秘密密钥挑战 的竞赛中 开发了一个破译软件 并组织了一个名为DESCHELL的小组 经过96天的协作努力 终于获得了成功 DESCHELL通过Internet从整个密钥空间 256 中分发一小段密钥空间给参与的每一台计算机 利用网络上的每一台计算机尝试密钥 遍及美国的数万台计算机加入了破译 这是历史上第一次有人公开声明能破译DES加密 因此DES已经不安全了 对称密钥算法的安全性 三重DES 112位密钥被认为是安全的 足以抵御密钥穷举攻击 使用DES对数据进行两次加密 每次使用不同的密钥看来是个可行的方法 但是分析表明不能达到预期的目的 真正有效的方法是使用两个56位的密钥进行三次DES运算 如图所示 首先使用K1加密明文 再使用K2解密 最后使用K1再次加密 恢复明文的过程也使用三次DES运算 三重DES的加密和解密 E D E K1 K2 K1 P C D E D K1 K2 K1 C P IDEA算法 IDEA InternationalDataEncryptionAlgorithm 在总体框架上与DES相似 每次将64位明文加密成64位密文 其加密强度来源于每一轮循环中使用三种不同的操作 异或 模加法 模乘法 另外 它使用128位密钥对抗穷举搜索攻击 IDEA在加密和解密使用的密钥不同 但都是从同一个密钥派生出来 所以仍然属于对称密码体制 分组密码的操作模式 DES和IDEA属于分组密码 每次加密和解密的对象是一组数据 而不是一个比特位或一个字节 四种模式 电子码本模式密码块链接模式密文反馈模式输出反馈模式 电子码本模式 在ECB ElectronicCodeBook 模式下 每一个加密区块依次独立加密 产生独立的密码区块 每一加密区块的加密结果均不受其他区块影响 使用此种方式可以利用并行处理技术来加速加解密运算 而且在网络传输时任一区块有任何错误发生 不会影响到其他区块传输的结果 但是对于在加密文件中出现多次的明文 此部分明文如果恰好等于加密区快的大小 可能会产生相同的密文 且密文内容若遭剪贴 替换 也不易被发现 密码块链接模式 CBC CipherBlockChaining 模式下 第一个加密块先与初始向量做异或运算 再进行加密 其他每个加密区块加密之前 必须与前一个加密区块的密文做依次异或运算 再进行加密 每一个区块的加密结果均会受其前面所有区块内容的影响 所以即使在明文中出现多次相同的明文 也会产生不相同的密文 若密文在传输过程中遭到破坏 则其后续的密文将被破坏 无法顺利解密 密文反馈模式 CFB CipherFeedBack 模式是一种序列加密模式 加密过程如下 解密操作类似这里Cn和Pn代表一个字符 而不是一个8字节分组 如果在传输过程中出现了1比特密文错误 会影响到对应明文的8个字节 直到错误的密文字节不再用做DES的输入 输出反馈模式 在处理异步数据流如键盘输入时 除CFB模式外 也可以利用输出反馈 OutputFeedback OFB 模式 加密过程为 OFB不具有传递错误的特点 公开密码算法 对称密码体制的缺点公开密码体制公开密码体制的优点公钥体系结构中的概念RSA密码算法 对称密码体制的缺点 如果没有事先的约定 则不可能与他人通信对于一个完备的通信网 需要密钥数量很大 n个通信方需要n n 1 2个密钥不能提供法律证据 不具备签名功能 公开密码体制 1976年Diffie和Hellman提出了非对称密码体制的思想 加密过程和解密过程具有不同的算法和密钥 当算法公开时 在计算上不可能由加密密钥求出解密密钥 只需由接收方保存解密密钥 在公开密钥体制中 每一个用户都有两个密钥 一个公开密钥和一个秘密密钥 在向该用户发送加密消息前 先获得他的公开密钥 然后用这个公开密钥对明文进行加密 用户在收到密文后 用秘密密钥还原出明文 公开密码体制的优点 密钥分发简单 秘密保存的密钥量减小 在两个互不信任的双方之间 可以采用验证技术验证对方的身份 可以实现数字签名 公钥体系结构中的概念 密钥对证书CA CertificateAuthority 密钥对 在基于公钥体系的安全系统中 密钥是成对生成的 每对密钥由一个公钥和一个私钥组成 在实际应用中 私钥由拥有者自己保存 而公钥则需要公布于众 为了使基于公钥体系的业务 如电子商务等 能够广泛应用 一个基础性关键的问题就是公钥的分发与管理 公钥本身并没有什么标记 仅从公钥本身不能判别公钥的主人是谁 证书 互联网络的用户群决不是几个人互相信任的小集体 在这个用户群中 从法律角度讲用户彼此之间都不能轻易信任 所以公钥加密体系采取了另一个办法 将公钥和公钥的主人名字联系在一起 再请一个大家都信得过有信誉的公正 权威机构确认 并加上这个权威机构的签名 这就形成了证书 由于证书上有权威机构的签字 所以大家都认为证书上的内容是可信任的 又由于证书上有主人的名字等身份信息 别人就很容易地知道公钥的主人是谁 CA CA即电子签证机关 CA也拥有一个证书 内含公钥 当然 它也有自己的私钥 所以它有签字的能力 网上的公众用户通过验证CA的签字从而信任CA 任何人都应该可以得到CA的证书 含公钥 用以验证它所签发的证书 如果用户想得到一份属于自己的证书 他应先向CA提出申请 在CA判明申请者的身份后 便为他分配一个公钥 并且CA将该公钥与申请者的身份信息绑在一起 并为之签字后 便形成证书发给那个用户 CA除了签发证书之外 它的另一个重要作用是证书和密钥的管理 RSA密码算法 1978年 美国MIT的Rivest Shamir和Adleman在题为 获得数字签名和公开钥密码系统的方法 的论文中提出了基于数论的非对称密码体制 称为RSA密码体制 RSA是建立在 大整数的素因子分解是困难问题 基础上的 是一种分组密码体制 RSA密码算法 RSA使用两个密钥 一个公共密钥 一个专用密钥 如用其中一个加密 则可用另一个解密 密钥长度从40到2048bit可变 加密时也把明文分成块 块的大小可变 但不能超过密钥的长度 RSA算法把每一块明文转化为与密钥长度相同的密文块 密钥越长 加密效果越好 但加密解密的开销也大 所以要在安全与性能之间折衷考虑 一般64位是较合适的 RSA的一个比较知名的应用是SSL 在美国和加拿大SSL用128位RSA算法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论