c语言混沌序列,基于混沌序列的数据加密算法

混沌由于具有不可预测性和对初值的敏感依赖性,而极具密码学的应用价值。那么下面我将给大家介绍一款基于Logistic映射混沌序列的数据加密算法。

一、混沌序列加密原理

1、加密方式

加密系统所采用的基本工作方式称为密码体制,根据对明文数据加密的方式,可将信息加密分为分组密码和序列密码两种。

分组密码体制是将明文分成若干组,每一组长度固定,然后用同一密钥进行加密。它的重要特征是输出的每一位数字与同一组的所有明文数字有关,如目前应用较多的DES和RSA加密算法。

序列密码体制是先将原始明文转化成明文数据序列,然后再将它与密钥序列进行逐位加密生成密文序列发送给接收端。序列加密不存在数据扩展和错误传播,加、解密容易实现,其安全保密性主要依赖于密钥序列,若密钥序列是完全随机的,它就是一次一密钥密码。Shanon已证明一次一密制是不可破译的。

混沌序列加密属于序列密码加密,其加密原理与序列密码加密原理相似,不同在于:一般的序列密码是利用移位寄存器为基础的电路来产生伪随机序列作为密钥序列,而混沌序列加密是利用混沌系统迭代产生混沌序列作为密钥序列,其加密原理如图所示。

c语言混沌序列,基于混沌序列的数据加密算法_第1张图片

2、密钥流的产生

混沌序列加密的安全保密性主要依赖于混沌密钥流。在混沌加密系统中。将混沌系统产生的随机序列{xi}作为密钥流{ki}与明文数据流{mi}按位运算,从而产生密文数据流{ci}。明文数据流是二进制的,而密钥流{ki}是通过对混沌序列{xi}进行数据处理来产生。利用计算机技术对原始混沌数据{xi}进行多种处理,

你可能感兴趣的:(c语言混沌序列)