• 密码学学习整理一


    密码学总结一

    一.概述

    1. 信息安全三要素
      机密性(确保信息不被非法获取)
      完整性(确保能够发现信息是否被改动过)
      可用性(确保系统正常提供服务)
    2. 两种攻击形式
      被动攻击(对机密性的破坏,窃听)
      主动攻击(对完整性,可用性的破坏,篡改,冒充)
    3. 密码学主要功能
      保证机密性,保证完整性,提供非否认(防范“否认干过的事”)
    4. 密码学组成
      密码编码学,密码分析学
    5. 两个术语
    • 密钥(key):用于“变换”,加解密的辅助输入,是一些随机串
    • 口令(password):用于“身份认证”,确认对方或证明自己的身份
    1. 柯克霍夫斯原则 密码学基本原则
      即使密码系统的任何
      细节已为人所知
      只要密钥没有泄漏
      它也应该是
      安全的。
    2. 柯克霍夫斯原则意义在于,密码算法很难保密
      • 知道算法的人可能叛变
      • 设计者有个人喜好
      • 频繁更换算法不现实
    3. 加密算法(函数)必须是一个单射函数
      hash函数不是加密函数,不是单射意味着无法解密
    4. 实用的加密体制必须满足的两个条件
      • 容易性:加密算法、解密算法都应该易于计算
      • 安全性:对于任何攻击者,即使获得了密文,也很难恢复出明文、所用的密钥
    5. 区别两种技术
      • 隐写术
        • 特点:保护的是信息本身 (把信息隐藏起来)
        • 缺点:一旦发现隐藏的方法,信息就会暴露 (安全性差)
      • 加密术
        • 置换(又称易位)
          • 特点:明文中字符与密文中相同,只是出现的位置发生变化
          • 密钥是什么:改变位置的规则
        • 代换(又叫替换,代替)
          • 特点:明文中出现的字母不一定出现在密文中,但位置保持不变
          • 密钥是什么:代换规则
      • 区别
        • 隐写术:保护的是信息本身,传递的仍是原来的信息,只是被藏了起来,一旦发现隐藏的方法,信息就会暴露
        • 加密术:保护的是信息内容,传递的是变换后的密文,而不是原来的明文,不知道密钥,很难恢复信息
    6. 密码学史上的重要事件
      1. 1949,香农发表论文《保密系统的通信原理》
        • 意义:密码学的理论基础之一,发表30年后才显示出它的价值
      2. 1976,Diffie,Hellman发表论文《密码学的新方向》
        • 意义:开辟了公钥密码学的新领域,可以说,没有公钥密码的研究就没有现代密码学
      3. 1977,RSA密码体制出现
        • 意义:公钥密码领域最杰出的代表,事实上的标准,密码学史上的里程碑
          4.1978,DES(数据加密标准)出现
        • 意义:美国的数据加密标准,用于政府等非机密单位及商业的保密通信
      • 它们标志密码学理论与技术的革命性变革,宣布了现代密码学的开始
    7. 密码分析的分类方法
      依据攻击者知道的信息多少,可以按如下分类,攻击强度依次增强
      1. 唯密文攻击:只有一些密文,好的现代密码系统对此通常是免疫的
      2. 已知明文攻击 :已有很多明文/密文对
      3. 选择明文攻击:可以任意选择明文,并可获得相应密文
      4. 选择密文攻击:可以任意选择密文,并可获得相应明文
    8. 几点说明
      1. 设计上安全的密码算法,由于实现或使用不当,可能引入安全漏洞(社工(雾)
      2. 破译的主要目的:恢复密钥,通过密文计算密钥,至少要和计算明文一样困难
      3. 密钥应随机选择
      4. 并不一定恢复出整个明文才算成功破译,有时候,恢复出明文的部分信息,甚至几个关键单词,也算成功破译。部分破译又往往成为全部破译的突破口
      5. 密钥空间要足够大,以抵抗密钥穷举攻击
      6. 政府或军事应用中,也存在保密算法的情况。不过前提是,算法必须是安全的。通过保密算法进一步加强安全性。
    9. 两个观念转变
      1. 概率
        • 抛弃“百分之百”的想法
      2. 相对
        • 抛弃“绝对”的想法,安全都是相对的

    二.古典密码

    1. 置换密码

    1. 概念
      古典密码的一种最基本的处理技术,改变明文中各字符的相对位置
      但明文字符本身的取值不变。
    2. 工作原理
      将明文按一定长度m进行分组,把每组的字符按位置变换规则 π 重排位置
    3. 密钥
      • 就是置换π,π的描述中其实包含了分组长度m的信息
      • 密钥空间大小 m!(第一个有m种选择,第二个有m-1种...)

    2. 代换

    1. 概念
      古典密码的另一种最基本的处理技术,改变明文中各字符的取值但明文字符的出现位置不变
    2. 工作原理
      • 建立一张或多张代换表 (明文字符到密文字符的对应关系、映射)
      • 加密时将明文字符依次通过查表,找到相应的密文字符
      • 明文字符被逐个替换,生成无任何语义的字符串,即密文
    3. 密钥
      代换密码的密钥就是代换表
    4. 移位密码
      1. 工作原理
        • 加密 : 把明文中每个字母代换为字母表中其后的第k个字母
        • 解密 : 与加密相反,把密文中每个字母代换为字母表中其前的第k个字母
        • 凯撒密码是k=3的移位密码
      2. 密钥
        • 密钥是k
        • 密钥大小26
    5. 简单代换密码
      1. 工作原理
        • 使用一张固定的代换表,明文字母到密文字母的对应关系不一定像移位密码那样有规律
      2. 密钥
        • 密钥空间很大,有26!个
    6. 频率分析:简单代换密码的终结者
      • 简单代换密码的软肋:加密过程中,明文字母与密文字母的映射关系始终固定不变。因此,密文字母与对应的明文字母的出现频率完全一样。
      • 基本原理
        • 找若干与明文同种语言写的文章,统计出字母频率,以此作为参考
        • 统计密文的字母频率
        • 比照参考文章,分析密文中的字母频率,找到字母之间的映射关系
      • 破译方法 = 统计分析 + 大胆猜测
    7. 古人应付频率分析的手段
      1. 命名密码
        • 工作原理:根据代换表,首先对明文中出现的常用单词进行代换,余下的字母再逐个代换,这样,相同的明文字母就被代换成不同的密文字符,从而隐藏了字母频率。
      2. 同音密码(命名密码本质上也属于同音密码)

    3.多表代换密码

    1. 起因
      命名密码、同音密码都属于单表代换密码,不能很好地隐藏频率特性。
      早在15世纪,阿尔伯提就提出:单表代换密码最大的问题是加密时始终使用一张代换表。如果同时使用两张不同的代换表,就可以有效改变字母频率。阿尔伯提依此设计了一个密码盘,它是有记载的最早的多表代换密码。他的思想被不断发展,最终成型于16世纪,维吉尼亚密码横空出世。
    2. 维吉尼亚密码
      1. 工作原理
        该密码体制有一个参数m(密钥的长度)加解密时,将消息分为m个字母一组进行变换。变换时,使用26张代换表,根据不同的密钥字母,每个明文字母使用不同的代换表进行加解密。注意:在维吉尼亚密码中,代换表不再是密钥了。

      2. 维吉尼亚密码的代换表

        具体使用哪一行由密钥决定

      3. 同一明文字母对应多个密文字母,相同密文字母未必对应同一明文字母

      4. 密钥空间和密钥长度有关,为26^m个密钥

    3. 维吉尼亚密码相关分析
      1. 在维吉尼亚密码的分析中,要先确定密钥长度,再确定具体密钥
        确定密钥长度的常用方法有两种:
        Kasiski测试法
        重合指数法
      2. 维吉尼亚密码的特点
        1. 用给定的m个移位代换表周期性地对明文字母加密
        2. 当两个相同的明文段间隔的字母数为m或m的整数倍时,将加密成相同的密文段
        3. 假设密文中出现两个相同的段落,对应的明文段不一定相同,但相同的可能性很大
      3. Kasiski测试法
        • 搜索长度至少为3的相同的密文段,记下它们距离密文开头的距离
        • m可能就是这些距离的最大公约数的一个因子
      4. 重合指数法
        1. 假设一个含有n个字母的串,从中任取两个字母,共有C(2,n)种

        2. 假设f0, f1, …, f25 分别表示 A, B, …, Z 在串中出现的次数。从该串中任取两个字母,如果它俩都等于第i个字母的话,共有C(2,fi)种

        3. 那么,从该串中任取两个字母,它俩相等的概率是多少?

          Ic(x)就称作重合指数(x为字符串)

        4. 字母出现频率表

          如果 x 是有意义的英语文本串,a, b, …, z在上表中的“出现概率”分别为p0, p1, …, p25, 那么其重合指数为

        5. 也就是说,当我们把密文分为m段时,算出各段的重合指数符合0.065,或是和其相差不大,则说明密钥长度为m

    4.总结

    1. 置换密码、单表代换密码、维吉尼亚密码等对己知明文攻击都是非常脆弱的
    2. 即使用唯密文攻击,大多数古典密码体制都容易被攻破,因为它们不能很好地隐藏明文消息的统计特征
  • 相关阅读:
    批处理操作
    注册表操作
    js 表格操作(兼容模式
    asp解码.net传参
    windows+nginx 查看并发链接数
    windows+nginx负载测试
    开发cocos2dx真机插件遇到问题,以及心得
    react路由
    Redux实现原理解析及应用
    test
  • 原文地址:https://www.cnblogs.com/FZfangzheng/p/9136108.html
Copyright © 2020-2023  润新知