信息安全中的混淆是什么?
混淆定义为密钥与密文之间并非以简单的方法关联。具体来说,密文的每个字符都应该基于密钥的多个元素。
在混淆中,密文数据与加密密钥值之间的关系被复杂化。这是通过替换完成的。
例如,假设可以使用一个 n x n 矩阵进行 Hill 密码,并假设可以使用长度为 n2 的明文-密文对来求解加密矩阵。
如果改变密文的一个字符,则矩阵的一列可以有效地改变。当然,更理想的情况是整个密钥都发生变化。当出现这种情况时,密码分析员可能需要同时求解整个密钥,而不是逐个部分求解。
混淆是一种旨在增强密文模糊性的密码学方法。换句话说,这种方法保证密文不会提供关于明文的任何线索。
在这种方法中,密文数据与加密密钥值之间的关系尽可能复杂化。
即使攻击者获得对密文数据的某些控制权,他们也无法理解密钥,因为用于生成该密文的方式非常复杂。混淆可以通过使用基于密钥和输入(明文)的替换和复杂的置乱算法来实现。
混淆的主要目标是即使拥有使用相同密钥创建的大部分明文-密文对,也使发现密钥变得非常复杂;在这方面,密文的每一位都应该基于整个密钥,并通过多种方法基于密钥的不同位,改变密钥的一位应该完全改变密文。
获得扩散和混淆的最简单方法是替换置换网络。在这些系统中,明文和密钥在创建输出方面扮演着非常相同的角色,因此是相同的结构同时提供了扩散和混淆。
混淆的特性
混淆的特性如下:
混淆的特性保护密文和密钥之间的关系。
此特性使得从密文中查找密钥变得复杂。
如果密钥中的一位发生改变,密文中将有多位发生改变。
扩散和混淆可以通过使用连续乘积密码来实现,其中每个冗余是一组 S-盒、D-盒和其他元素。每次迭代定义为一轮。
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP