热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

一文讲懂分组密码

现代密码体系之分组密码现代密码分组密码现代密码上一篇文章介绍了古典密码,分为单表代换和多表代换,我们还通过算法破译了曾经认为不可破解的维吉尼亚密码&#


现代密码体系之分组密码

  • 现代密码
  • 分组密码


现代密码

上一篇文章介绍了古典密码,分为单表代换和多表代换,我们还通过算法破译了曾经认为不可破解的维吉尼亚密码,今天开始介绍分组密码。先来看看现代密码体系中有哪些主流的密码算法吧。
在这里插入图片描述
对称加密和非对称加密大家应该都比较熟悉了,对称加密就是消息接收方与发送方拥有同一个密钥,能力相等,我们后面将会着重介绍DES与AES,并会实现破解DES的实验。


分组密码

今天的重点是分组密码的总体介绍。

分组密码也是对称加密的一种:将明文划分为m比特长的组,每一块依次进行加密算法,由密钥k决定的一个明文到密文的可逆映射。
在这里插入图片描述
1977年美国国家标准局颁布了数据加密标准DES,后面逐渐衍生出一系列的Feistel结构的算法(Feistel 密码结构是用于分组密码中的一种对称结构。以它的发明者 Horst Feistel 命名)常见的结构为:
1.给明文分组(L,R)
2.对R进行加密
3.密文=加密后的R+L(即LR的位置交换)
4.重复n轮
在这里插入图片描述

1990年IDEA的出现打破了DES的垄断局面,随后出现了SPN结构的分组密码算法。SPN的常见结构为:
1.用一子密钥对明文进行一轮的替换
2.进行多轮的如S盒P置换等的加密
在这里插入图片描述

1997年针对DES存在的问题,NIST开展AES的征集以以替代DES,这也掀起了分组密码研究的新高潮。

对比:Feistel结构加解密几乎相同,不要求函数可逆,轮数较长,SPN结构易于并行,要求可逆,雪崩效应更快。

分组密码的设计原则:
1.允许生成最大数量的加密映射来映射明文分组。
对于下面这个表,每个明文n比特的输入都会产生n比特的输出,如果分析者不知道这个表则只能穷举所有的表,显然有2n!种可能, 密钥长度n*2n,若要抵抗统计攻击密钥需要的比特太多并不可行
在这里插入图片描述
2.安全性原则:混淆(打乱PKC的关系)与扩散(明文的统计特性消散)
方法:乘积密码即用多种基本密码的逐次应用实现交替的代替与置换


推荐阅读
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 网络攻防实战:从HTTP到HTTPS的演变
    本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ... [详细]
  • 探讨了小型企业在构建安全网络和软件时所面临的挑战和机遇。本文介绍了如何通过合理的方法和工具,确保小型企业能够有效提升其软件的安全性,从而保护客户数据并增强市场竞争力。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 深度学习理论解析与理解
    梯度方向指示函数值增加的方向,由各轴方向的偏导数综合而成,其模长表示函数值变化的速率。本文详细探讨了导数、偏导数、梯度等概念,并结合Softmax函数、卷积神经网络(CNN)中的卷积计算、权值共享及池化操作进行了深入分析。 ... [详细]
  • 机器学习中的相似度度量与模型优化
    本文探讨了机器学习中常见的相似度度量方法,包括余弦相似度、欧氏距离和马氏距离,并详细介绍了如何通过选择合适的模型复杂度和正则化来提高模型的泛化能力。此外,文章还涵盖了模型评估的各种方法和指标,以及不同分类器的工作原理和应用场景。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • libsodium 1.0.15 发布:引入重大不兼容更新
    最新发布的 libsodium 1.0.15 版本带来了若干不兼容的变更,其中包括默认密码散列算法的更改和其他重要调整。 ... [详细]
author-avatar
AK47GXF
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有