网络安全实践

密码学概述

  • 通信中的参与者
    • 发送者(Alice,爱丽丝):在双方交互中合法的信息发送实体。
    • 接受者(Bob,鲍勃):在双方交互中合法的信息接受实体。
    • 分析者(Eve,伊夫):破坏接受和发送双方正常安全通信的其他实体。
  • 常见攻击形式:
    • 穷举攻击法
      • 穷举攻击,亦称"暴力破解"。对密码进行逐个推算,直到找出真正的密码为止的一种攻击方式。
      • 应用
        • 弱口令,压缩包密码破解
    • 频度分析
      • 通过对各个字母、字母组合进行频度分析,利用统计信息推断和预测密码
  • 常见编码
    • Unicode \u+4位16进制数
    • ASCII
    • Base64 将任意二进制数据映射为ASCII
    • Base32
    • 摩斯电码
    • 栅栏密码
      • 将明文交替分入N组,然后将每组的字母从左到右连接起来
      • CTFisfun => CFsu Tifn => CFsuTifn
  • 古典密码学
    • 古典密码体制的核心思想:
      • 字母的代换(代替、替换)
      • 顺序的置换
    • 古典密码学的代表密码体制:
      • 单表代替密码
      • 多表代替密码
      • 置换密码
    • 频度分析
      • E的概率大约为0.12
      • T, A, O, I, N, S, H, R的概率为0.06-0.09
      • D, L的概率大约为0.04
      • C, U, M, W, F, G, Y, P, B的概率为0.015-0.023
      • V, K, J, X, Q, Z的概率小于0.01
    • 常见的两字母组合
      • TH, HE, IN, ER, AN, RE, DE, ON, ES, ST, EN, AT, TO, NT, HA, ND, OU, EA, NG, AS, OR, TI, IS, ET, IT, AR, TE, SE, HI, OF
    • 常见的三字母组合
      • THE, ING, AND, HER, ERE, ENT, THA, NTH, WAS, ETH, FOR, DTH
  • 现代密码
    • 数据的安全基于密钥,算法公开
    • Hash函数(散列函数)
      • 优点:
        • 散列函数对于源数据的更改具有极高的敏感性------雪崩效应,即使是1bit的更改都会对最终的散列值造成很大的改变。
        • 散列函数逆向计算的难度远大于正向计算的难度,具有较高的安全性。
      • 缺点:
        • Hash函数实质是一种压缩映射(多对一映射),散列值的空间(密文空间)远小于输入的空间(明文空间),不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。(单向算法)
    • MD算法(MD5)
      • 一致性验证
      • 数字签名
      • 安全访问认证
    • AES算法
      • 对称加密,加密和解密使用同一个密钥
      • 对称加密的优点
        • 加密计算量小、速度快,适合对大量数据进行加密的场景。
      • 对称加密的两种常见的应用场景
        • 流密码(stream cipher):
          • 加密和解密双方使用相同伪随机加密数据流作为密钥,明文数据每次与密钥数据流顺次对应加密,得到密文数据流,主要应用在对链路的实时加密中
        • 分组密码(block cipher):
          • 将明文数字序列,划分成长度为n的组,每组分别在密钥的控制下变换成等长的输出数字(简称密文数字)序列,主要应用在网络包交换加密过程中。
      • 对称加密的两大不足
        • 密钥传输问题:
          • 加密者如何把密钥安全的传递给解密者,就成了对称加密面临的关键问题
          • 实际中一般都是客户端向服务端请求对称加密的密钥,而且密钥还得用非对称加密加密后再传输。
        • 密钥管理问题:
          • 随着密钥数量的增多,密钥的管理问题会逐渐显现出来。
          • 不可能所有用户都用同一个密钥加密解密,一旦密钥泄漏,就相当于泄露了所有用户的信息。
          • 为每一个用户单独的生成一个密钥管理代价会非常大。
    • RSA算法(非对称加密)
      • 密文=明文^E mod N
      • 明文=密文^D mod N
      • 具体百度
      • 安全性
        • RSA的安全性就是源自没办法轻易的对大整数"因式分解"
        • 实际应用中,RSA密钥一般是1024位(安全),重要场合则为2048位(极其安全)。
相关推荐
王二端茶倒水4 小时前
商业 WiFi 不是免费上网,而是门店数字化的入口
网络协议
zzzzzz3101 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode1 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220702 天前
如何搭建本地yum源(上)
运维
大树885 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠5 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质5 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
小宇宙Zz5 天前
Maven依赖冲突
java·服务器·maven
Inhand陈工5 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
网络研究院5 天前
2026年网络安全
网络·安全·法律·法规·趋势·发展