CN113472514A - 复重构密钥的序列加密方法 - Google Patents

复重构密钥的序列加密方法 Download PDF

Info

Publication number
CN113472514A
CN113472514A CN202110693421.7A CN202110693421A CN113472514A CN 113472514 A CN113472514 A CN 113472514A CN 202110693421 A CN202110693421 A CN 202110693421A CN 113472514 A CN113472514 A CN 113472514A
Authority
CN
China
Prior art keywords
bit
length
pseudo
source
segment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110693421.7A
Other languages
English (en)
Inventor
徐智能
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xu Yefan
Original Assignee
Xu Yefan
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xu Yefan filed Critical Xu Yefan
Publication of CN113472514A publication Critical patent/CN113472514A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/001Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using chaotic signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Programmable Controllers (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Selective Calling Equipment (AREA)
  • Complex Calculations (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种复重构密钥的序列加密方法:用一套复合逻辑构建混沌计算结构,实现混沌的bit位段流序列加密。本发明通过混沌的计算结构调度bit取位逻辑、bit代谢逻辑、bit重构逻辑等计算逻辑单元,逐段伪随机重构构造源及操控源,构造‘伪随机错位提取未被代谢的密钥位段构造源bit位或者重位提取已被代谢的密钥位段构造源bit位’的再生密钥位段序列。本发明的核心:构建混沌计算结构,在加密进程中逐段对工作池新陈代谢,进而对工作池承载的操控源、构造源逐段以操控源中的bit位操控bit取位逻辑提取构造源中的bit位,伪随机复重构密钥位段。本发明的有益效果为:适应计算能力突破性提升,提供一套高效、高密度、具有广泛应用空间的安全加密方法。

Description

复重构密钥的序列加密方法
技术领域
本发明涉及信息安全密码学领域,是一种复重构密钥的序列加密方法。
背景技术
中国专利申请号:201710249427.9公开了一种基于随机二进制序列,具有可调整性的伴随式随机重构密钥的序列加密方法,方法的主要特征是:(1)使用已存在的随机序列动态构造种子随机序列。(2)使用种子随机序列以定长或不定长的位段伪随机构造随机密钥。(3)随机密钥的伪随机构造过程伴随加密过程。(4)利用异或运算的传递性实现密钥对明文的变频非线性异或。(5)通过特征量和其他操控量以及伪随机构造函数的调整实现密钥构造的调整,进而在不增加时间复杂度的前提下实现加密密度的调整。(6)这种伴随式伪随机重构密钥方法中使用的特征量或其他操控量不可能在多项式时间复杂度内被反推。方法的基本原理是:利用随机序列的随机性伪随机操控加密逻辑过程进而实现密钥构造过程的充分混沌和隐蔽,以加/解密双方隐性约定的密约阻断对密文的解析途径。
发明内容
本发明公开了一种使用密钥和结构配置量配置结构操控量实现混沌计算结构,进而以其调度配套的复合逻辑实施混沌的bit位段流序列加密的方法。
本发明的目的通过如下构思实现:基于复合逻辑构建混沌计算结构,对明文按伪随机确定的不定长位段逐轮(或称逐段)加密。加密进程中,依据计算结构的配置逐段伪随机重构密钥位段构造源(或称构造源)及密钥位段操控源(或称操控源),并使用操控源伪随机操控构造源逐轮逐bit位复重构再生密钥位段。进一步,整合逐段生成的再生密钥位段序列实施无限不循环的bit位段流序列加密。实现构思目标的关键是:调度bit取位逻辑、bit代谢逻辑、bit重构逻辑(包括伪随机bit位重排逻辑和伪随机bit位转换逻辑,见若干要点的说明)复重构‘伪随机错位提取未被代谢的构造源bit位或者重位提取已被代谢的构造源bit位’的再生密钥位段序列,进而:(1)以混沌计算结构消解产生于有限集的再生密钥位段序列的周期率,(2)以多于一个的再生密钥位段序列的错段叠加实现再生密钥位段序列间缠绕并嵌入伪随机bit位缠绕。技术方案包括:
(1)由密钥通过结构配置量构建混沌的计算结构,支撑伪随机确定各段计算参量的逐位段序列加密。
(2)以密钥加载初始工作池,引领逐位段逻辑缠绕的混沌加密进程。
(3)以加密方独立构建的伪明文扩展工作池,进一步混沌加密进程,提升安全阀值。
(4)建立工作池逐轮代谢机制,配套配置bit取位逻辑和bit代谢逻辑,建立‘伪随机错位提取未被代谢的构造源bit位或者重位提取已被代谢的构造源bit位’的再生密钥位段构建逻辑。
(5)以混沌计算结构消解所构建的再生密钥位段序列的有概率出现的周期律。
(6)使用差异的构造源、操控源、bit取位逻辑和bit代谢逻辑构造不同的再生密钥位段序列,并基于混沌计算结构实现不同再生密钥位段序列的嵌入伪随机bit位缠绕的错段叠加加密。
(7)基于密钥建立明文结束符,化解明文结束位置与计算结束位置之间的错位并以明文结束符作为解密计算正确性的效验码。
本发明中,根据加/解密双方隐秘约定的结构配置量和密钥,伪随机确定动态驱动向量的初值、位段长度限定最大值/最小值、密钥位段选取池(或称选取池)的尺寸和伪明文随机串的尺寸等计算结构操控量(或称结构操控量),逐轮伪随机更新选取池中的构造源和操控源、加密位段长度等,构建混沌的再生密钥位段序列,并进一步通过错段叠加逻辑结构幂级放大混沌效应,整合基于再生密钥位段序列的无限不循环位段流加密(bit-segmentstream encryption)。
本发明的有益效果是:为适应计算能力突破性提升,提供一种高效、高密度、具有广阔应用空间的安全加密方法。
若干要点的说明
本发明使用了一个被本说明书称之为混沌计算结构的概念:在加密进程中使用伪随机变化的计算参量造成加密计算轨迹的混沌,迫使攻击者面对混沌的计算形态。由密钥驱动的混沌计算结构的不确定性为位段流序列加密提供了广阔的逻辑整合空间。基于逻辑整合的加/解密混沌轨迹的伪随机变化,加/解密双方对其可控,但攻击者却面对混沌的轨迹形态。本发明的这种混沌计算结构产生的混沌计算形态包括如下方面:使用不同密钥生成的结构操控量的伪随机变化,加密进程中由结构操控量逐段再生的计算参量的伪随机变化,和由计算参量所驱动的加密进程中加密逻辑单元整合形态(bit取位逻辑、bit代谢逻辑和bit重构逻辑的输入/输出及其匹配效应)、再生密钥位段构建形态(长度及构造规律)、再生密钥位段整合形态(错段叠加和嵌入伪随机bit位缠绕)的伪随机变化。
本发明使用选取池作为构造源和操控源的载体,选取池的内容随加密进程逐段更替。选取池在加密之初只有部分内容有效,本说明书称其为密钥位段工作池(或称工作池)。工作池随再生密钥位段的重构而逐段扩展直至填满选取池,本说明书称此阶段为工作池的成长期。渡过成长期后工作池达到成熟期,成熟期中工作池依然随再生密钥位段的重构而更替。本说明书统称工作池成长期中的成长和成熟期中的更替为工作池(或选取池)的新陈代谢(或称代谢)。
本发明在明文之前添加与明文内容无关的伪明文随机串(或称伪明文)。伪明文具有特征:(1)由于随机串不具有可识别性,使得对伪明文的攻击无从辨别成功与否。在工作池的成长期中伪明文逐段嵌入工作池,在工作池达到成熟期后伪明文具有与密钥等效的作用。(2)伪明文并非密钥,而是加密方独立构建的在成长期中扩展工作池的随机串,解密后被视为费码。(3)伪明文在加密过程中具有进一步混沌计算进程的作用,不同的伪明文导致对正式明文加密时构造源、操控源的差异,进而导致再生密钥位段序列的差异。
‘伪随机错位提取未被代谢的构造源bit位或者重位提取已被代谢的构造源bit位’中的‘错位提取’是指不同次提取位置互异的bit位,‘重位提取’是指不同次提取位置相同的bit位。
bit取位逻辑和bit代谢逻辑是实现‘伪随机错位提取未被代谢的构造源bit位或者重位提取已被代谢的构造源bit位’的重要构成逻辑单元。它们的整合效应对于本发明的无限不循环体系不可或缺。本发明的复合逻辑结构需要包容不止一种bit取位逻辑和bit代谢逻辑。不同的bit取位逻辑和bit代谢逻辑可整合成不同组合的计算模型,协同使用不同的bit取位逻辑和bit代谢逻辑构成的错段叠加逻辑结构可以幂级提升本发明的安全性。本说明书陈列的bit取位逻辑包括密钥位段递进取位逻辑(或称递进取位逻辑)、密钥位段递进链取位逻辑(或称递进链取位逻辑)、密钥位段位跳跃取位逻辑(或称位跳跃取位逻辑)、以及密钥位段顺延提位取位逻辑(或称顺延提位取位逻辑),本说明书陈列的bit代谢逻辑包括密钥位段选取池顺延提位代谢逻辑(或称顺延提位代谢逻辑)和密钥位段选取池被提取位代谢逻辑(或称被提取位代谢逻辑)。本发明的复合逻辑结构也可以包容其他bit取位逻辑和bit代谢逻辑。
遵循‘伪随机错位提取未被代谢的构造源bit位或者重位提取已被代谢的构造源bit位’的原则,本发明允许在提取bits串后进行伪随机bit位重排生成再生密钥位段,本说明书称此为伪随机bit位重排
Figure BDA0003127069810000035
本发明也需要在工作池新陈代谢之前对原始代谢源伪随机串(即生成再生密钥位段前的bit取位逻辑所输出的输出伪随机串,下同)进行(1)伪随机bit位重排,同时(2)逐位对bit值取反(0转1或1转0,或称
Figure BDA0003127069810000036
互换),(3)加糖。本说明书将对原始代谢源伪随机串的伪随机bit位重排、
Figure BDA0003127069810000037
互换、加糖合称为伪随机bit位转换
Figure BDA0003127069810000034
(详见bit取位逻辑和bit代谢逻辑的关联)。
本发明使用一个贯穿全计算进程的动态驱动向量。动态驱动向量逐轮更替(或称代谢)。在本说明书中使用的动态驱动向量的初始值由密钥伪随机生成,将此初始值改为加/解密双方隐秘约定而非密钥生成的初始值本发明依然可行。这不牵涉加密运算的结构,本说明书不做进一步说明。
由于加密进程中位段长度的伪随机变化,大概率地会形成分段计算的结束位置与明文结束位置错位,本发明使用由密钥伪随机构造的明文结束符标定明文结束位置并以追加伪随机串的方式消解上述错位效应。由于本发明的加/解密进程的层层缠绕具有传导效应,这使得任一加/解密错误都将延续到其后的计算,致使加密、传输、解密过程中的错误将导致解密不能得到明文结束符,所以明文结束符同时具有效验码的功能。
为了清晰表述本发明的复合逻辑结构,本说明书将复重构密钥的序列加密方法的说明拆分成三个逻辑组件(logic component)进行说明:(1)单一复重构逻辑结构,(2)bit取位逻辑和bit代谢逻辑的整合,(3)错段叠加逻辑结构。
本发明的核心:(A)构建混沌计算结构,在加密进程中逐段对工作池新陈代谢,进而对工作池承载的操控源、构造源逐段以操控源中的bit位操控bit取位逻辑提取构造源中的bit位,伪随机复重构再生密钥位段。(B)基于混沌计算结构,整合bit取位逻辑和bit代谢逻辑,构建‘伪随机错位提取未被代谢的构造源bit位或者重位提取已被代谢的构造源bit位’的再生密钥位段无限不循环构建逻辑。(C)基于混沌计算结构对多于一个的不同再生密钥位段序列实现错段叠加加密。
混沌计算结构拓展了‘伪随机错位提取未被代谢的构造源bit位或者重位提取已被代谢的构造源bit位’效应,在了解‘伪随机错位提取未被代谢的构造源bit位或者重位提取已被代谢的构造源bit位’的基本运转原理的基础上才能看清混沌计算结构的拓展效应。所以本说明书在说明bit取位逻辑和bit代谢逻辑的整合后***混沌计算结构的拓展效应的说明。
作为本发明的实施例,本说明书选择递进取位逻辑/顺延提位代谢逻辑配置的非叠加&单代谢模型作为实施例1,递进链取位逻辑/顺延提位代谢逻辑和位跳跃取位逻辑/被提取位代谢逻辑配置的双叠加&双代谢错段叠加模型作为实施例2。并不排斥其他组合模型。
本发明的有些逻辑单元(或称逻辑步)是可以省略或不省略的,省略或不省略根据不同逻辑搭配而取舍(例如伪随机bit位重排
Figure BDA0003127069810000041
就可根据不同情况而取舍),除特定情况外本说明书的图示中将以不省略的形式展示。因为这种逻辑单元依然是逻辑结构的一部分,将其展示出来有利于看清逻辑关联。
本说明书中对位置链有三种表示方式:(1)pos_chain,(2)pos_chain(j),j=0,1,2,...Lmax-Lmin,(3)pos_chain(j,k),j=0,1,2,…Lmax-Lmin,k=0,1,2,...,Lmin+j-1。其中(1)笼统针对位置链集时使用,(2)针对由各个位置链所构成的集合时使用,(3)针对位置元集时使用。此外,pos_chain(j)特指以j标定的某一位置链,pos_chain(j,k)特指以j、k标定的某一位置元。本说明书中在嵌入伪随机bit位缠绕的错段叠加逻辑结构的位置链表述中采用了一个专述形式——位置链pos_chain(r),r=0,1,...,2s-2,此处r不是指位置链集pos_chain(j),j=0,1,2,...Lmax-Lmin中的位置链序号,而是指用于对位置链集中的第lsi-Lmin个位置链pos_chain(lsi-Lmin)反复代谢2s-1次中的第r次代谢时的位置链pos_chain(lsi-Lmin)(参见错段叠加逻辑结构中对4.5.3.2、4.5.4.4的注释)。
本说明书中在说明部分(实施例之前)采用统一目录标号(如上述4.5.3.2)。对各实施例根据所述主题分别采用新的目录标号,其中除标明主题前缀的目录标号(如:‘实施例1的加/解密计算公式及计算单元7’)外,其它实施例叙述文字中的目录标号都指当前主题的目录标号(如:实施例2的加/解密进程操控中的解密20中的‘重复11至19步骤……’是指实施例2的解密11至19)。
本说明书以可行但不唯一的计算公式和计算参量进行说明,并不排斥其他遵循本发明构思的等同配置。可以理解的是,对本发明的技术方案及发明构思加以等同替换、改变或简化都应属于本发明所附权利要求的保护范围。
附图说明
图1为单一复重构逻辑结构的原理示意图。
图2为递进取位逻辑和顺延提位代谢逻辑的配套工作原理示意图。
图3为递进链取位逻辑和被提取位代谢逻辑的配套工作原理示意图。
图4为位跳跃取位逻辑和被提取位代谢逻辑的配套工作原理示意图。
图5为顺延提位代谢效果示意图。
图6为被提取位代谢效果示意图。
图7为简单错段叠加逻辑结构原理示意图。
图8为嵌入伪随机bit位缠绕的错段叠加逻辑结构原理示意图。
图8’为嵌入伪随机bit位缠绕的错段叠加逻辑的计算过程示意图。
图9为与图8的嵌入位置不同的嵌入伪随机bit位缠绕的错段叠加逻辑结构示意图。
复重构密钥的序列加密方法的说明
本发明中复合逻辑结构是实现被复重构的再生密钥位段序列及其整合的基础。为了清晰表述本发明的复合逻辑结构,本说明书将复合逻辑结构拆分成三个逻辑组件(单一复重构逻辑结构,bit取位逻辑和bit代谢逻辑的整合,错段叠加逻辑结构)进行说明。由于混沌计算结构消解再生密钥位段序列的周期率的功效基于bit取位逻辑和bit代谢逻辑的整合,所以在阐述了bit取位逻辑和bit代谢逻辑的整合之后***混沌计算结构对‘伪随机错位提取未被代谢的构造源bit位或者重位提取已被代谢的构造源bit位’效应的拓展。错段叠加逻辑结构是本发明的混沌计算结构的复合效应,达成本发明构思的目标。
1单一复重构逻辑结构
单一复重构逻辑结构实现由密钥伪随机调度复重构再生密钥位段序列的过程:在加/解密之初的预处理中,本发明使用加/解密双方隐秘约定的结构配置量结合密钥配置结构操控量,支撑加/解密进程中由结构操控量逐段伪随机重构计算参量,实施对各逻辑单元的操控。在加/解密进程中,基于这种操控所实现的混沌计算结构协同bit取位逻辑和bit代谢逻辑共同支撑‘伪随机错位提取未被代谢的密钥位段构造源bit位或者重位提取已被代谢的密钥位段构造源bit位’运转。
结合附图1介绍本发明构建再生密钥位段序列中各计算单元的关联关系:
1.1图1展示加密进程。由于解密进程仅仅在(1)预处理和后处理中与加密进程存在非结构性差异,(2)工作池成长期中的代谢源存在非结构性差异,所以对解密进程不做赘述,仅在需要说明时进行说明。
1.2图1中
Figure BDA0003127069810000051
表示一个以Pnnn标识的计算单元,rvnnn表示一个Pnnn的输出,
Figure BDA0003127069810000052
特定表示bit取位逻辑或bit代谢逻辑,s001表示加密对象,←表示所指计算单元的结构操控量(如rV002)、操控源(如key),←表示计算单元间的衔接关系,
Figure BDA0003127069810000053
特指一个伪随机bit位重排,
Figure BDA0003127069810000054
特指一个伪随机bit位转换,
Figure BDA0003127069810000055
特指由原始代谢源伪随机串进行伪随机bit位转换
Figure BDA0003127069810000056
1.3通过加/解密双方隐秘约定的结构配置量及密钥,伪随机地配置结构操控量。例如被标记为rV001的位段长度限定最大值(Max length of bit segment,或称Lmax)和位段长度限定最小值(Min length of bit segment,或称Lmin)P002,被标记为rV002的选取池(Source pool,或称Spool)的长度和工作池(Source work pool,或称Spoolwork)的初始长度P003,被标记为rV003的动态驱动向量的初值(vector0)P004,被标记为rV004的明文结束符(End-Of-Plaintext,或称EOP)P005,以及初始位置链集pos_chain等。
1.4使用结构配置量配置混沌计算结构及预处理:
1.4.1依据依据结构配置量ctlinit配置选取池Spool的长度、初始工作池Spoolwork的长度、并以密钥加载工作池Spoolwork的初始内容。
1.4.2依据选取池Spool的长度按比例生成被标记为rV005的伪明文P006(pseudoplaintext,或称pM)。
1.4.3拼接伪明文pseudo plaintext、明文plaintext、明文结束符EOP,并追加长度为Lmax的补齐伪随机串msadditn,重构被加密明文P007s001(rebuild plaintext,或称明文M或被加密明文M)。
1.4.4使用初始动态驱动向量vector0计算首轮再生密钥位段、明文位段、密文位段的长度(统称为位段长度lsi,或称lsi),并根据选用的bit取位逻辑m001在工作池中确定构造源和操控源初始位置,根据选用的bit代谢逻辑m002确定选取池中的初始代谢目标区,并重构其它计算参量。P008
1.5复重构再生密钥位段并进行加密计算
1.5.1以由rV001计算所得的lsi基于上一明文位段Mi-1顺延提取被加密明文位段。
1.5.2从工作池(Spoolwork)中根据rV001计算所得的lsi使用bit取位逻辑m001伪随机提取输出伪随机串。
1.5.3对1.5.2所得输出伪随机串,以等长的位置链pos_chain(lsi-Lmin)进行(或不进行)伪随机bit位重排
Figure BDA0003127069810000061
(例如:顺序地以位置链中的位置元所指定的输出伪随机串的bit位之值进行拼接)获得当轮再生密钥位段bski
1.5.4使用再生密钥位段bski 对明文位段Mi进行异或计算P009
1.5.5工作池新陈代谢
1.5.5.1工作池的成长期(length(Spoolwork)<length(Spool))中的新陈代谢
加密时按序用长度等于lsi的伪明文位段pMi追加到工作池尾部或逐bit伪随机地***工作池,直至工作池达到成熟期。
解密时以解密所得的长度等于lsi的伪明文位段pMi追加到工作池尾部或逐bit伪随机地***工作池,直至工作池达到成熟期。
(注:成长期的最后一个计算位段的长度大概率地大于剩余伪明文子串的长度,此时仅以剩余伪明文子串追加到工作池尾部或逐bit伪随机地***工作池。详见2.6)
1.5.5.2工作池的成熟期(length(Spoolwork)=length(Spool))中的新陈代谢
1.5.5.2.1对原始代谢源伪随机串(图1中m001的输出)以等长的位置链pos_chain(lsi-Lmin)进行伪随机bit位转换
Figure BDA0003127069810000062
(其中的伪随机重排须异于1.5.3。例如:在伪随机bit位重排之前先对位置链pos_chain(lsi-Lmin)进行代谢)生成代谢源伪随机串。
1.5.5.2.2使用1.5.5.2.1所得的代谢源伪随机串和bit代谢逻辑m002对工作池Spoolwork新陈代谢。
1.6 i=i+1,伪随机重置下一段复重构加密的计算参量P010,P011,并实施下一段加密(循环执行1.5)直至剩余未被加密的明文的长度小于等于位段长度限定最大值Lmax
1.7后处理P012
1.7.1加密时将明文的计算结束位之后的剩余bits串拼接到密文。
1.7.2解密时清除伪明文pM、明文结束符EOP及其后的补齐伪随机串msadditn
2 bit取位逻辑和bit代谢逻辑的整合
bit取位逻辑和bit代谢逻辑的整合包括bit取位逻辑和bit代谢逻辑之间的关联操控以及支撑这种关联操控的bit重构逻辑(包括伪随机bit位重排逻辑和伪随机bit位转换逻辑)、位置链pos_chain的代谢及初始化、动态驱动向量vectori的代谢。
为了表述bit取位逻辑与bit代谢逻辑间的关联性,图2、图3、图4都将两者进行了交错展示。
bit取位逻辑、bit代谢逻辑由混沌计算结构规范。混沌计算结构、bit取位逻辑和bit代谢逻辑共同支撑‘伪随机错位提取未被代谢的构造源bit位或者重位提取已被代谢的构造源bit位’的无限不循环运转。
bit取位逻辑
2.1递进取位逻辑(go one by one logic)
结合附图2介绍递进取位逻辑:
2.1.1图2展示的是第i再生密钥位段(首行)和第i+1再生密钥位段(第三行)的递进取位逻辑,图2
也展示了与递进取位逻辑交错实施的第i轮(次行)和第i+1轮(第四行)的顺延提位代谢逻辑。第i+1再生密钥位段的构造源的起始字节C按第i再生密钥位段的构造源的起始字节C顺延一个字节(顺延至工作池尾部后从头续延)。
2.1.2各轮计算中,构造起始字节C作为首构造字节pickstarti,0
Figure BDA0003127069810000071
并以其开始的lsi个字节(
Figure BDA0003127069810000072
所属的byte,到达工作池尾部时从头续延)作为构造源pickareai(C~D)。以与C相距确定长度的位置作为首构造操控位pickdrivstarti,0(E),并以其开始的lsi的n(n可选择3或4或8)倍个bits构成的bits子串作为操控源pickdriveareai(到达工作池尾部时从头续延),得到lsi个操控元
Figure BDA0003127069810000074
(3或4或8个bits)。
2.1.3从各操控元提取确定位置或伪随机定位的3个bits位之值作为操控值,得到操控值序列pickdriveri(j)(j=0,1,2,...,lsi-1)。
2.1.4顺序配对操控值序列中的操控值与构造源中的字节,得到操控值/构造字节对序列pickdriveri(j)/pickareai(j)(j=0,1,2,...,lsi-1)。
2.1.5顺序地从操控值/构造字节对序列pickdriveri(j)/pickareai(j)(j=0,1,2,...,lsi-1)提取按操控值指定的构造字节中的bit位之值拼接输出伪随机串tmp_str(j)(j=0,1,2,...,lsi-1)。
2.1.6根据单一复重构逻辑结构的1.5.3,对上述输出伪随机串tmp_str(j)(j=0,1,2,...,lsi-1)实施(或不实施)伪随机bit位重排
Figure BDA0003127069810000073
得到再生密钥位段bski
2.2递进链取位逻辑(go chain logic)
递进链取位逻辑与递进取位逻辑的区别在于将构造源中顺序排列的字节段的顺序改变成按位置链中位置元排列的顺序。
结合附图3介绍递进链取位逻辑:
2.2.1在单一复重构逻辑结构3(P005之后)中构建Lmax-Lmin+1个长度分别从Lmin到Lmax的位置链pos_chain(j),j=0,1,...,Lmax-Lmin(如图3所示的Set of pos_chain),并将其初始化成Lmax-Lmin+1个伪随机排列的位置链pos_chain(j)(j=0,1,2,...,Lmax-Lmin),(详见5.2)。
2.2.2图3展示的是第i再生密钥位段(首行)和第i+1再生密钥位段(第三行)的递进链取位逻辑,图3也展示了与递进链取位逻辑交错实施的第i轮(次行)和第i+1轮(第四行)的被提取位代谢逻辑。第i+1再生密钥位段的构造源的起始字节C按第i再生密钥位段的构造源的起始字节C顺延一个字节(顺延至工作池尾部后从头续延)。
2.2.3以与递进取位方式相同的方法建立操控源pickdriveareai和构造源pickareai,及操控值序列pickdriveri(j)(j=0,1,2,...,lsi-1)。
2.2.4顺序匹配位置链pos_chain(lsi-Lmin)中位置元和操控值序列中的操控值,然后通过位置元所指定的构造源中的构造字节位置实现操控值/构造字节之间的匹配,得到操控值/构造字节匹配对pickdriveri(j)/pickareai(pos_chain(lsi-Lmin,j))(j=0,1,2,...,lsi-1)。
2.2.5顺序地从操控值/构造字节匹配对pickdriveri(j)/pickareai(pos_chain(lsi-Lmin,j))(j=0,1,2,...,lsi-1)提取按操控值指定的构造字节的bit位之值拼接输出伪随机串tmp_str(j)(j=0,1,2,…,lsi-1)。
2.2.6依单一复重构逻辑结构的1.5.3,对2.2.5所得输出伪随机串tmp_str(j)(j=0,1,2,...,lsi-1)实施(或不实施)伪随机bit位重排
Figure BDA0003127069810000081
得到再生密钥位段bski
2.3位跳跃取位逻辑(bit jump logic)结合附图4介绍位跳跃取位逻辑:
2.3.0为了清晰展示,图4中将构造源与操控源的范围进行了压缩分割。理清逻辑关系后请将两者的范围都扩充至全工作池。
2.3.1图4展示的是第i再生密钥位段(首行)和第i+1再生密钥位段(次行)的位跳跃取位逻辑示图,图4也展示了与位跳跃取位逻辑交错实施的第i轮(首行)和第i+1轮(次行)的被提取位代谢逻辑。
2.3.2确定构造源pickareai和操控源pickdriveareai:构造源pickareai由从构造源起始位pickstarti,0到选取池尾部的bits串和从选取池首部到构造源起始位pickstarti,0之前的bits串拼接而成。各轮构造源起始位pickstarti,0由动态驱动向量vectori伪随机确定(例如使用动态驱动向量vectori所表述之值按工作池长度length(Spoolwork)取模)。操控源pickdriveareai由从操控源起始位pickdrivstarti,0到选取池尾部的bits串和从选取池首部到操控源起始位pickdrivstarti,0之前的bits串拼接而成,各***控源起始位置pickdrivstarti,0与构造源起始位置pickstarti,0相距固定的或伪随机确定的相对位差dif(0<dif≤length(Spoolwork)):pickdrivstarti,0=(pickstarti,0+length(Spoolwork)-dif)%length(Spoolwork)。
2.3.3从操控源起始位pickdrivstarti,0开始顺序或伪随机跳跃提取lsi个确定长度的bits串构成位跳跃值序列junp_num(j)(j=0,1,2,...,lsi-1)(到达工作池尾部后从头续延)。
2.3.4依位跳跃值序列junp_num(j)(j=0,1,2,…,lsi-1)从构造源起始位pickstarti,0开始在构造源中逐跳跃值junp_num(j)跳跃地确定构造bit位(到达构造源尾部从头续延),提取其值拼接输出伪随机串tmp_str(j)(j=0,1,2,...,lsi-1)。
2.3.5使用所构造的输出伪随机串tmp_str(j)(j=0,1,2,...,lsi-1)并对其进行(或不进行)伪随机bit位重排
Figure BDA0003127069810000083
作为再生密钥位段bski
2.4顺延提位取位逻辑(raise bit logic)
顺延提位取位逻辑的特点是在构造源的轮转周期(即构造源在工作池中逐轮以byte递进时的重复周期)中不存在未被提取的bit位,因此再生密钥位段序列对工作池的使用率更高。
2.4.1由初始动态驱动向量vector0伪随机确定首轮构造源起始字节pickstart0。随后各轮构造源起始字节pickstarti逐轮顺延一个字节(顺延到达工作池尾端从头续延)pickstarti=(pickstarti-1+8)%length(Spoolwork)。
2.4.2各轮中构造源pickareai由从构造源起始字节pickstarti开始顺延的lsi个字节构成(顺延到达工作池尾端从头续延)。
2.4.3令上述构造源pickareai中首构造字节的被提取bit位为该字节的首bit位,随后逐字节提高一个bit位(达到7后从0续延)作为各构造字节的被提取bit位,以其值拼接输出伪随机串tmp_str(j)(j=0,1,2,…,lsi-1)。
2.4.4使用所构造的输出伪随机串tmp_str(j)(j=0,1,2,...,lsi-1)并对其进行(或不进行)伪随机bit位重排
Figure BDA0003127069810000082
作为再生密钥位段bski
Bit代谢逻辑
Bit代谢逻辑是实现本发明的关键之一。本说明书介绍了两种bit代谢逻辑:顺延提位代谢逻辑和被提取位代谢逻辑。围绕本发明的复合逻辑结构,还有其它几个与bit代谢逻辑相关的代谢逻辑需要说明:成长期的工作池bit代谢、动态驱动向量vectori代谢、和位置链pos_chain代谢。
2.4顺延提位代谢逻辑(raise bit metabolic logic)
顺延提位代谢逻辑的特点是在代谢目标区的轮转周期(即代谢目标区在工作池中逐轮以byte递进时的重复周期)中不存在未被代谢bit位,因此工作池对自然数集的覆盖率更高。
结合附图2、附图5介绍顺延提位代谢逻辑:
2.4.1如图2所示,对原始代谢源伪随机串(即bit取位逻辑从工作池提取的输出伪随机串tmp_str(j),j=0,1,2,...,lsi-1)实施伪随机bit位转换
Figure BDA0003127069810000091
得到代谢源伪随机串metabolsrci(j)(j=0,1,2,...,lsi-1)。
2.4.2如图2所示,选择与操控源起始位置E重叠的字节(并不排斥其他字节)作为顺延提位代谢目标区的起始字节metabolstarti
2.4.3如图2所示,以从该顺延提位代谢目标区的起始字节metabolstarti(E)开始的lsi个字节构成的字节段(E~F)作为顺延提位代谢目标区metabolareai。即图中所有
Figure BDA0003127069810000092
标定的字节。
2.4.4如图5中
Figure BDA0003127069810000093
所示,设定在顺延提位代谢目标区metabolareai中首字节的代谢bit位为首字节的首bit位,随后逐字节提高一个bit位(达到7后从0续延)作为顺延提位目标区各字节的代谢bit位,得到代谢bit位序列metabolbiti(j)(j=0,1,2,...,lsi-1)。
2.4.5如图5中
Figure BDA0003127069810000094
所示,以2.4.1中代谢源伪随机串metabolsrci(j)(j=0,1,2,…,lsi-1)的各bit位之值替换顺延提位目标区各字节的代谢bit位之值,metabolbiti(j)=metabolsrci(j)(j=0,1,2,...,lsi-1)。
2.5被提取位代谢逻辑(matched bit metabolic logic)
结合附图4介绍被提取位代谢逻辑:
如图4所示在被提取位代谢逻辑中,被提取位
Figure BDA0003127069810000096
与代谢位
Figure BDA0003127069810000097
重叠。
2.5.1在任何bit取位逻辑构建输出伪随机串tmp_str(j)(j=0,1,2,…,lsi-1)时保留各提取位作为被提取位序列pickedbiti(j)(j=0,1,2,…,lsi-1)。
2.5.2使用位置链pos_chain(lsi-Lmin,j)(j=0,1,2,…,lsi-1)对原始代谢源伪随机串进行伪随机bit位转换
Figure BDA0003127069810000095
得到代谢源伪随机串metabolsrci(j)(j=0,1,2,…,lsi-1)。
2.5.3逐一以代谢源伪随机串metabolsrci(j)(j=0,1,2,...,lsi-1)对被提取位序列pickedbiti(j)(j=0,1,2,...,lsi-1)代谢pickedbiti(j)=metabolsrci(j)(j=0,1,2,...,lsi-1)。
2.6成长期的工作池bit代谢
2.6.1加密中,按序以加密方生成的长度等于或小于lsi的伪明文位段pMi(按序顺延的剩余伪明文长度大于等于lsi时取pMi=lsi;按序顺延的剩余伪明文长度小于lsi时取pMi=剩余伪明文长度。)追加到工作池尾部或逐bit伪随机***工作池。并增长工作池长度length(Spoolwork)=length(Spoolwork)+length(pMi)。
2.6.2解密中,以解密所得的长度等于或小于lsi的伪明文位段pMi(按序顺延的剩余伪明文长度大于等于lsi时取pMi=lsi;按序顺延的剩余伪明文长度小于lsi时取pMi=剩余伪明文长度。)追加到工作池尾部或伪随机地逐bit***工作池。同时增长工作池长度length(Spoolwork)=length(Spoolwork)+length(pMi)。
注释:2.6.1、2.6.2中,以伪明文位段pMi伪随机地逐bit***工作池的伪随机算法允许是任意的,因为密钥和伪明文都是随机串,都不具有可识别性。
2.7位置链(pos_chain)代谢
位置链代谢有多种可行方法,本说明书介绍一种由工作池的随机性确定位置链的随机性的方法:
2.7.1建立长度为(1/2)length(vectori)的空的过渡位置链tmp_chain。
2.7.2顺序提取动态驱动向量vectori的每两个bits所表示之值作为跳跃值得到一个跳跃值序列rpj(j=0,1,…,(1/2)length(vectori)-1)。
2.7.3令p0=rp0,pj=pj-1+rpj+1,tmp_chain(j)=pos_chain(lsi-Lmin,pj),并逐j从位置链(pos_chain(lsi-Lmin))中剔除位置元pos_chain(lsi-Lmin,pj),j=0,1,…,min((1/2)length(vectori)-1,lsi-1)。
于是将pos_chain(lsi-Lmin)部分或全部地导入tmp_chain。
2.7.4当(1/2)length(vectori)<lsi时,将过渡位置链tmp_chain中的(1/2)length(vectori)个位置元追加到位置链pos_chain(lsi-Lmin)的第lsi-(1/2)length(vectori)之后;当(1/2)length(vectori)≥lsi时,以过渡位置链tmp_chain直接替换位置链pos_chain(lsi-Lmin)。
2.8动态驱动向量vectori代谢
对动态驱动向量vectori的代谢是保证复重构再生密钥位段的随机性的关键之一。存在多种动态驱动向量vectori的代谢方法。本说明书例举两个由工作池的随机性确定动态驱动向量vectori的随机性的方法:
2.8.1以对工作池中原提取动态驱动向量vectori-1的字节段逐轮在工作池中向后顺延一个字节(到达工作池尾部后从头续延)的方式获得动态驱动向量vectori
2.8.2从工作池中提取或者加/解密双方隐秘约定初始动态驱动向量vector0,逐轮以前一轮动态驱动向量vectori-1与工作池中伪随机确定的与前一轮动态驱动向量vectori-1位置不同的等长bits串异或,生成新的动态驱动向量vectori
bit取位逻辑和bit代谢逻辑的关联
2.9 bit取位逻辑和bit代谢逻辑的配套使用
本说明书展示了四个bit取位逻辑、两个bit代谢逻辑,并不排斥其它bit取位逻辑、bit代谢逻辑。
bit取位逻辑和bit代谢逻辑的配套使用是实现‘伪随机错位提取未被代谢的构造源bit位或者重位提取已被代谢的构造源bit位’的无限不循环再生密钥位段序列的关键之一。两者的不同匹配,可以构造不同的再生密钥位段序列,并且实现再生密钥位段序列对自然数集合的不同的覆盖率。其效应在多个再生密钥位段序列的错段叠加加密中尤为明显。
对于本说明书陈列的bit取位逻辑和bit代谢逻辑,共有八种可以使用的配套。为避免赘述,图2、3、4中各展示了其中一套,基本概括各种配套的特征。其中,图2展示的是递进取位逻辑与顺延提位代谢逻辑的匹配工作形态。图3展示的是递进链取位逻辑与被提取位代谢逻辑的匹配工作形态。图4展示的是位跳跃取位逻辑与被提取位代谢逻辑匹配的工作形态。
2.9.1 bit取位逻辑直接作用于当前轮加密,bit代谢逻辑影响后续轮加密。
2.9.2 bit代谢逻辑对工作池代谢中的随机性越高,再生密钥位段序列对自然数集合的覆盖率越高。再生密钥位段序列对自然数集合的覆盖率越高,本发明越接近perfectsecerecy system。
2.9.3对于顺延提位取位逻辑,当选择代谢目标区与构造源重叠时被提取位代谢逻辑和顺延提位代谢逻辑相同。
2.9.4对于顺延提位代谢逻辑,除去匹配顺延提位取位逻辑外,选择代谢目标区的起始位置为操控源的起始位置时随后轮的再生密钥位段的随机性较高。
2.9.5采用被提取位代谢逻辑保证了工作池中不存在重位未被代谢的bit位。采用顺延提位取位逻辑与顺延提位代谢逻辑匹配时,工作池中也不存在重位未被代谢的bit位。
2.9.6顺延提位代谢逻辑与非顺延提位取位逻辑匹配时,尽管当轮的工作池中会出现重位未被代谢的bit位,但由于构造源在工作池的轮转周期中不存在未被代谢的bit位,在逐轮顺延的加密过程中顺延提位代谢逻辑对工作池的整体代谢率更高,这使得工作池对自然数集合的覆盖率更高。
2.9.7图6对比展示了非递进链取位逻辑/被提取位代谢逻辑匹配与递进链取位逻辑/被提取位代谢逻辑匹配的区别。前者中提取位与代谢位顺序对应。后者中由于提取位按位置链指定的顺序排列,提取位与代谢位伪随机地错位。
2.9.8在单一复重构加密模型中顺延提位取位逻辑有概率形成安全漏洞,所以不适合在单一复重构加密模型中使用。但由于其对工作池的使用率更高,在多个再生密钥位段序列的错段叠加加密中顺延提位取位逻辑与非顺延提位取位逻辑混用的效果更好。
2.9.9为保证‘重位提取已被代谢的构造源bit位’,与顺延提位取位逻辑配套的bit代谢逻辑必须是顺延提位代谢逻辑。
2.9.10生成再生密钥位段之前对输出伪随机串的伪随机bit位重排
Figure BDA0003127069810000111
是可选的(这里可选指不选择伪随机bit位重排
Figure BDA0003127069810000112
并不破坏本发明运行结构的可行性),在工作池代谢之前的对原始代谢源伪随机串的伪随机bit位转换
Figure BDA0003127069810000113
中的伪随机bit位重排是必要的。同时使用伪随机bit位重排
Figure BDA0003127069810000114
和伪随机bit位转换
Figure BDA0003127069810000115
并保证后者中伪随机bit位重排与前者互异将提高破解攻击难度(阻断再生密钥位段与代谢源伪随机串间互推)。
2.9.11伪随机bit位转换
Figure BDA0003127069810000116
有三个目的:保证‘重位提取已被代谢的构造源bit位’、消解工作池中‘0’、‘1’非均匀分布的扩散、避免工作池中‘0’、‘1’分布的绝对均匀化。采用的技术手段包括:伪随机bit位重排、在伪随机bit位重排的同时逐位
Figure BDA0003127069810000117
互换、和间隙性地加糖。
伪随机bit位重排的目的是基于工作池中原有‘0’/‘1’比例更新的‘0’/‘1’排列。
在伪随机bit位重排的同时逐位
Figure BDA0003127069810000118
互换的目的是消解工作池中有概率出现的‘0’、‘1’bit值的比例失衡,并阻断这种失衡在再生密钥位段序列构建时的扩散。
加糖是指:利用混沌计算结构中计算参量的伪随机变化特性,根据计算参量间隙性出现的状态(例如:(a)、位置链中特定位置的位置元等于0或lsi时;或者(b)、动态驱动向量vectori的某确定字节之值等于0或者lsi时;(c)、上述(a)或(b)不矛盾地组合成立。(a)或(b)不矛盾地组合成立是指:(1)位置链中特定位置的位置元等于0,并且/或者动态驱动向量vectori的某确定字节之值等于0;(2)位置链中特定位置的位置元等于lsi,并且/或者动态驱动向量vectori的某确定字节之值等于lsi;(3)位置链中特定位置的位置元等于0与动态驱动向量vectori的某确定字节之值等于lsi不同时成立,并且位置链中特定位置的位置元等于lsi与动态驱动向量vectori的某确定字节之值等于0不同时成立。并不排斥其他计算参量间隙性出现的状态。)触发以全‘0’或全‘1’bit串替代代谢源伪随机串。由于逐段逐位的
Figure BDA0003127069810000124
互换有概率导致工作池中‘0’、‘1’分布绝对均匀化,这将削弱再生密钥位段序列的随机性,加糖将破坏这种分布绝对均匀化。由于代谢目标分布的随机性和触发条件的间隙性,加糖处理依然能保证工作池中‘0’、‘1’分布的随机性。
2.9.12伪随机bit位转换
Figure BDA0003127069810000121
中的伪随机bit位重排必须与伪随机bit位重排
Figure BDA0003127069810000122
互异,这保证再生密钥位段序列的伪随机变化轨迹与工作池更替的伪随机变化轨迹之间的相互独立。
2.9.13各轮中对原始代谢源伪随机串必须使用且仅可使用一次
Figure BDA0003127069810000123
互换。
2.9.14加糖需要间隔若干轮实施,间隔轮数需要伪随机确定。并且等概率地交替以全‘0’或全‘1’的bit串作为代谢源伪随机串。
实现了‘伪随机错位提取未被代谢的构造源bit位或者重位提取已被代谢的构造源bit位’并不能证明再生密钥位段序列实现了无限不循环。本发明采用两种措施实现再生密钥位段序列的无限不循环加密:混沌计算结构和错段叠加逻辑结构。混沌计算结构消解复重构再生密钥位段序列中有概率周期性出现重复子bits串,但是这种消解并无法被证明是彻底的。再生密钥位段序列的错段叠加逻辑结构在加密进程中进行不同再生密钥位段序列间的缠绕和过渡伪随机串空间对再生密钥位段序列空间的混沌缠绕。彻底阻断再生密钥位段序列变化的周期性。
3混沌计算结构对‘伪随机错位提取未被代谢的构造源bit位或者重位提取已被代谢的构造源bit位’效应的拓展
在固定计算结构下,产生于有限bit集的输出不能保证不出现周期性重复。同样,在固定计算结构下,‘伪随机错位提取未被代谢的构造源bit位或者重位提取已被代谢的构造源bit位’同样不能保证不周期性出现重复的再生密钥位段子序列。混沌计算结构下的bit代谢逻辑对工作池代谢的混沌效应使得由有限集获取再生密钥位段序列的过程具有混沌特性,其效应体现在:
(1)混沌计算结构造成的位段长度的伪随机变化打破了工作池被代谢位变化的规律性。
(2)当构造源起始字节循环地在工作池中逐轮递进取位时,混沌计算结构造成的位段长度的伪随机变化打破了被重复提取位周期性变化的规律性。
上述规律性的破坏源于bit位为单位处理的伪随机性,具有良好的随机性和均匀分布性。
4错段叠加逻辑结构
错段叠加逻辑结构是指:基于混沌计算结构对明文加密时的多于一个的不同再生密钥位段序列对明文位段的错位叠加加密结构。错段叠加加密与多个再生密钥位段序列的重复加密有本质区别。它是两个或两个以上再生密钥位段序列利用混沌计算结构实现的特定逻辑缠绕加密。由于单一再生密钥位段序列本身具有混沌计算结构,它们的错段叠加产生的再生密钥位段序列的混沌缠绕效应可以达到单一再生密钥位段序列的混沌效应的幂级扩展。
参与错段叠加的再生密钥位段序列都基于相同的混沌计算结构,利用不同再生密钥位段序列间的错位和对再生密钥位段、明文位段、密文位段的同尺度切分实现加密进程中不同再生密钥位段序列的相互缠绕。这样的逻辑结构可以进一步嵌入对加密过程中过渡伪随机串(见4.5)的伪随机bit位缠绕,其实质是过渡伪随机串空间以混沌缠绕方式对再生密钥位段序列空间的拓展。
图7展示的是简单错段叠加逻辑结构。图8展示的是嵌入伪随机bit位缠绕的错段叠加逻辑结构。
结合附图7介绍简单错段叠加逻辑结构:
图7展示的是两个再生密钥位段序列的简单错段叠加逻辑结构。更多重的简单错段叠加逻辑结构同理。4.1基于混沌计算结构的错段切分后的叠加
如图7所示,加/解密进程中基于混沌计算结构生成的两个再生密钥位段序列(k1fi||k1li,i=0,1,...;k2fi||k2li,i=0,1,...;其中‘||’为拼接符,下同)错段交替缠绕。其中再生密钥位段bsk1i bsk2i 被分别切分为两个半位段,k1fi和k1li,k2fi和k2li。计算中按序交错地以一个再生密钥位段序列的前半位段与另一个再生密钥位段序列的后半位段叠加加密(k1fi/k2li-1,k1li/k2fi)。
4.2错段切分的同步
4.2.1以混沌计算结构逐段确定lsi
4.2.2确定切分尺度
以与位段长度限定值Lmin、Lmax相关的λ((1/2)Lmin≤λ<(1/2)Lmax)作为首再生密钥位段序列bsk1i(i=0,1,2,...)与次再生密钥位段序列bsk2i(i=0,1,2,...)之间的位差segment difference(或称sd,参见图7)。于是两个再生密钥位段序列的各位段之间存在关系:p2si=p1si+sd(p1si、p2si分别为bsk1ibsk2i的起始位置)。以此sd作为首再生密钥位段序列bsk1i(i=0,1,2,…)的前半位段的长度l1fi,以4.2.1中的lsi计算首再生密钥位段序列bsk1i(i=0,1,2,...)的后半位段长度l1li并将其作为次再生密钥位段序列bsk2i(i=0,1,2,…)的前半位段长度l2fi:l1li=l2fi=lsi-l1fi,次再生密钥位段序列bsk2i(i=0,1,2,…)的后半位段长度l2li等于首再生密钥位段序列bsk1i(i=0,1,2,…)的前半位段的长度l1fi
由λ的取值公式(1/2)Lmin≤λ<(1/2)Lmax可以看出:这种错段叠加方式依然受混沌计算结构制约。
4.3不同再生密钥位段序列间的缠绕
最简单的缠绕方式是直接使用两个再生密钥位段序列的错段对应半位段对明文的两个半位段错段交替异或,这使得明文总是被不同再生密钥位段序列错段叠加加密。更复杂的缠绕见下述嵌入伪随机bit位缠绕的错段叠加逻辑结构。
4.4错段叠加逻辑结构中工作池代谢
4.4.1根据再生密钥位段序列采用的bit取位逻辑选择bit代谢逻辑:顺延提位取位逻辑使用顺延提位代谢逻辑,其它bit取位逻辑使用被提取位代谢逻辑。
4.4.2 bit代谢逻辑采用被提取位代谢逻辑和顺延提位代谢逻辑交替使用的复合形式(bit取位逻辑同样采用非顺延提位取位逻辑与顺延提位取位逻辑交替使用的复合形式)。
4.4.3采用多重错段叠加逻辑结构时,可以使用差异的bit取位逻辑和bit代谢逻辑以及差异的操控源、构造源,获取差异的代谢源以及差异的代谢目标区。可以根据加密效率要求适当降低位置链代谢重度。
结合图8介绍多次嵌入伪随机bit位缠绕的多重错段叠加逻辑结构:
图8展示的是两组各包含两个再生密钥位段序列的嵌入三次伪随机bit位缠绕的错段叠加逻辑结构。更多次嵌入伪随机bit位缠绕的更多重错段叠加逻辑结构同理。将伪随机bit位缠绕向后挪动半个密钥位段(即伪随机bit位缠绕嵌入在次再生密钥位段序列,见图9)的错段叠加逻辑结构同理。
图8省略了再生密钥位段构造、工作池代谢、及错段叠加过程中的栈调度等处理,聚焦在位段切分、同步处理、及嵌入伪随机bit位缠绕的整合。完整的多次嵌入伪随机bit位缠绕的多重错段叠加计算过程请参见图8’(为清晰展示运算次序,图8’的中间计算步仅以新计算元代替旧计算元、新计算元、计算、及其结果)。
下面参照图8介绍两组各包含多个再生密钥位段序列的多次嵌入伪随机bit位缠绕的多重错段叠加逻辑结构。
4.5利用已存在位置链实现过渡伪随机串的伪随机bit位缠绕
过渡伪随机串是指在同一轮各重加密之间前一再生密钥位段序列所生成的或者伪随机bit位缠绕的用于后一伪随机bit位缠绕的或者再生密钥位段序列计算的伪随机串。
伪随机bit位缠绕是指在一个过渡伪随机串中伪随机地进行各个bit位顺序的重新排列处理,这种处理在错段叠加逻辑结构下导致不同轮的过渡伪随机串间的进一步bit位缠绕。与bit取位逻辑的伪随机bit位重排
Figure BDA0003127069810000141
和bit代谢逻辑的伪随机bit位转换
Figure BDA0003127069810000142
中的伪随机bit位重排所不同的是:(1)伪随机bit位缠绕的对象是过渡伪随机串;(2)缠绕需易于可逆操作。(1)的目的是实现与不同再生密钥位段序列间缠绕的垂直方向的再缠绕;(2)的目的是保证能被解密并且不增加解密计算量。本说明书采用以位段长度等长的位置链pos_chain(lsi-Lmin)中顺序两两配对的位置元对指定过渡伪随机串中的bit位对进行bit值对调。
4.5.1基于混沌计算结构对明文位段、再生密钥位段、密文位段进行同尺度切分;以4.2.2中的sd确定位段切分尺度:sd,lsi-sd。
4.5.2构造分属于不同切分的两组首再生密钥位段序列和次再生密钥位段序列:组内及组间各再生密钥位段序列互不相同
4.5.2.1建立两组再生密钥位段序列;bsk1i,q,bsk2i,q,q=0,1,...,s i=0,1,...(其中q为隶属于不同组(1或2)的各再生密钥位段序列的下标,s为各组中再生密钥位段序列数,i为轮序号)。
4.5.2.2各组再生密钥位段序列中的各再生密钥位段分别遵循4.5.1中的尺度切分:k1fi,q(长度为sd)、k1li,q(长度为lsi-sd),k2fi,q(长度为lsi-sd)、k2li,q(长度为sd);对明文位段也进行同尺度切分Mfi(长度为sd)、Mli(长度为lsi-sd)。
4.5.2.3为各再生密钥位段序列确定差异的bit取位逻辑、bit代谢逻辑、或者差异的构造源、操控源,以确保各再生密钥位段互异。
4.5.3基于同尺度切分的嵌入伪随机bit位缠绕的不同再生密钥位段序列的错段叠加加密
4.5.3.1使用长度为sd的s个缓存区存储次再生密钥位段序列组中各个后半密钥位段k2li,q,q=0,1,2,...,s,用于滞后的错段加密。
4.5.3.2除首轮外(首轮中不存在k2l0,-1,所以在次再生密钥位段序列组的错段加密时只实施k2f0,0的半段加密),其他轮按下述顺序错段加密(所用标识参见4.5.4.5之后的注释):
Figure BDA0003127069810000151
k1fi,q||k1li,q,q=0;
Figure BDA0003127069810000152
i,r,r=r+1;
Figure BDA0003127069810000153
Figure BDA0003127069810000154
k2li-1,q||k2fi,q;q=q+1;
Figure BDA0003127069810000155
i,r;r=r+1;
Figure BDA0003127069810000156
……
Figure BDA0003127069810000157
k1fi,s||k1li,s
Figure BDA0003127069810000158
i,2s-1;
Figure BDA0003127069810000159
Figure BDA00031270698100001510
k2li-1,s||k2fi,s
4.5.4基于同尺度切分的嵌入伪随机bit位缠绕的不同再生密钥位段序列的错段解密
解密时按加密顺序重构或提取所需计算量并完成相应代谢,然后逆序使用所得计算量进行解密计算。4.5.4.1在混沌计算结构初始化时建立(1)长度为Lmax的位置链栈stack_chain,用于存储位置链;(2)长度为Lmax-sd的半段栈stack_k2f,用于存储s个次再生密钥位段的前半位段;(3)长度为sd的半段栈stack_k2l,用于存储下一轮错段拼接用的s个次再生密钥位段的后半位段;(4)长度为sd的错段半段栈s_stack_k2l,用于拷贝出前一轮存储在半段栈stack_k2l中的半密钥位段k2li-1,q,以便拼接错段的次再生密钥位段k2li-1,q||k2fi,q;(5)长度为Lmax的整段栈stack_bsk1,用于存储当前轮使用的首再生密钥位段。4.5.4.2除首轮外,在各轮解密之初将前一轮压入stack_k2l的全部次再生密钥位段的后半位段拷贝进s_stack_k2l,并清空stack_k2l。
4.5.4.3除首轮外,各轮按照加密处理顺序实施s次计算量重构或提取:(1)复重构再生密钥位段bsk1i,q并压入整段栈stack_bsk1,并进行位置链pos_chain(lsi-Lmin)代谢;(2)将位置链pos_chain(lsi-Lmin)压入位置链栈stack_chain并进行位置链pos_chain(lsi-Lmin)代谢;(3)复重构再生密钥位段bsk2i,q,q=0,1,...,s-1并压入半段栈stack_k2f、stack_k2l并进行位置链pos_chain(lsi-Lmin)代谢;(4)除第s次外,将位置链pos_chain(lsi-Lmin)压入位置链栈stack_chain并进行位置链pos_chain(lsi-Lmin)代谢。
4.5.4.4除首轮外,其它轮按加密逆序错段解密(所用标识参见4.5.4.5之后的注释):
Figure BDA00031270698100001511
k2li-1,q||k2fi,q,q=s;
Figure BDA00031270698100001512
i,r,r=2s-2;r=r-1;
Figure BDA00031270698100001513
k1fi,q||k1li,q,q=s;q=q-1;
……
Figure BDA00031270698100001514
i,r,r=r-1;
Figure BDA00031270698100001515
k2li-1,0||k2fi,0
Figure BDA00031270698100001516
i,0;
Figure BDA00031270698100001517
k1fi,0||k1li,0
4.5.4.5各轮各次解密中半位段长度使用sd或lsi-sd,略去Lmax-lsi的多余部分。
注释:上述(4.5.3.2)、(4.5.4.4)公式中:
Figure BDA00031270698100001518
表示用其后指定的错段或不错段的再生密钥位段对前一步计算产生的过渡伪随机串异或;
Figure BDA0003127069810000161
表示以其后指定的(1)加密时使用的位置链pos_chain(r),r=0,1,...,2s-2实施bit位缠绕,或(2)解密时使用的位置链栈stack_chain中释放的位置链pos_chain(r),r=2s-2,2s-3,…,1,0解除bit位缠绕(此处r指定位置链集中的第lsi-Lmin位置链pos_chain(lsi-Lmin)的用于伪随机bit位缠绕的2s-1次代谢中第r代谢的位置链);
Figure BDA0003127069810000162
表示在伪随机bit位缠绕后对位置链pos_chain(lsi-Lmin)代谢(解密时,由于在4.5.4.3中已经完成了各个对位置链pos_chain(lsi-Lmin)的代谢,4.5.4.4中无需再实施对位置链pos_chain(lsi-Lmin)的代谢);’;’表示一个计算步结束。
4.6嵌入伪随机bit位缠绕的错段缠绕
由图8所示伪随机bit位缠绕针对首再生密钥位段的全位段实施。由于错段效应,这种伪随机bit位缠绕分别作用于首再生密钥位段加密后的过渡伪随机串和次再生密钥位段的前一轮后半位段与当前轮前半位段错段重组的再生密钥位段加密后的过渡伪随机串,这实现在两组互异再生密钥位段序列间错段缠绕基础上的再一次前后位段间的错段缠绕。
4.7嵌入伪随机bit位缠绕的错段叠加逻辑结构中工作池代谢
4.7.1根据再生密钥位段序列采用的bit取位逻辑选择bit代谢逻辑:位跳跃取位逻辑使用被提取位代谢逻辑,顺延提位取位逻辑使用顺延提位代谢逻辑,其它bit取位逻辑使用被提取位代谢逻辑。
4.7.2在错段叠加模型中,bit代谢逻辑最好采用被提取位代谢逻辑和顺延提位代谢逻辑交替使用的混合形式(bit取位逻辑同样采用非顺延提位取位逻辑与顺延提位取位逻辑交替使用的复合形式)。
5与复重构逻辑结构相关的若干问题
5.1混沌计算结构客户化配置逻辑的关联
混沌计算结构客户化仅运行一次,其开销可以忽略不计。
对复合逻辑结构的不同客户化配置得到不同的混沌计算结构。本发明通过结构配置量及相关配置逻辑实现客户化。本节聚焦于理清这些配置逻辑单元间的承接关联:
5.1.1以结构配置量确定密钥长度,进而确定安全***的密度及资源消耗的量级。这里列出若干有标尺意义的结构配置量,以明确密度及资源消耗的量级:512,640,768,896...。
5.1.2以结构配置量根据配置逻辑确定密钥尺寸、选取池尺寸、初始工作池尺寸、并根据初始工作池尺寸以密钥加载初始工作池。
5.1.3从工作池中根据密钥伪随机确定动态驱动向量vector0的获取位置,并提取初始动态驱动向量vector0
5.1.4用初始动态驱动向量vector0计算位段长度限定最大值Lmax、位段长度限定最小值Lmin
5.1.5根据选取池尺寸与初始工作池尺寸之差生成伪明文pM。
5.1.6根据初始动态驱动向量vector0生成明文结束符EOP。
5.1.7根据位段长度限定最大值Lmax和位段长度限定最小值Lmin生成位置链集pos_chain并对其初始化。
5.2存在多种对位置链集pos_chain的初始化方法,本说明书使用一种由密钥的随机性引领位置链的随机性的方法:
5.2.1设定位置链集pos_chain(j),j=0,1,2,...,Lmax-Lmin的初值为{0,1,2,...,Lmin+j-1},j=0,1,2,…,Lmax-Lmin
5.2.2设定位置链初始化操控量pos_init0为初始动态驱动向量vector0的首字节之值。
5.2.3逐j(j=0,1,2,…,Lmax-Lmin)循环对位置链pos_chain(j)进行初始化
5.2.3.1以bit取位逻辑和bit代谢逻辑的整合中的2.7所述方法对位置链pos_chain(j)进行(pos_initj%initLmt)+3次代谢(initLmt为由vector0的头三位bit表示的数字)。
5.2.3.2对每个j+1重置位置链初始化操控量pos_initj+1
Figure BDA0003127069810000171
其中:
Figure BDA0003127069810000172
为异或运算。
5.2.3.3 j=j+1。
5.3由于伪随机bit取位逻辑的均匀分布性很高,再生密钥位段中会高概率地(约等于1/256)出现‘0’或‘F’字节,这导致在仅以单一复重构逻辑结构加密的密文中会高概率地直接输出明文字节或其反字节(明文字节与‘F’的异或)。对于嵌入伪随机bit位缠绕的错段叠加逻辑结构不存在上述问题。
实施例
本说明书选择递进取位逻辑/顺延提位代谢逻辑配套的非叠加&单代谢模型作为实施例1,选择递进链取位逻辑/顺延提位代谢逻辑和位跳跃取位逻辑/被提取位代谢逻辑配套的嵌入伪随机bit位缠绕的双叠加&双代谢的错段叠加模型作为实施例2。目的是:(1)通过实施例1说明复合逻辑结构的基本形态以及混沌计算结构与bit取位逻辑、bit代谢逻辑的关联形态;(2)通过实施例2说明复合逻辑结构的更复杂关联形态:混沌计算结构对错段叠加逻辑结构的协同作用、嵌入伪随机bit位缠绕的混沌形态。由于更多重错段叠加的计算结构同理,实施例2仅选择一次嵌入伪随机bit位缠绕的双重叠加模型。
实施例1递进取位逻辑/顺延提位代谢逻辑配置的非叠加&单代谢模型
实施例1的计算参量及计算公式(运算公式都基于实数型式)
混沌计算结构配置
1作为加/解密双方的隐秘约定,定义实施例1的结构配置量ctlinit=640,并且令密钥长度与其相等。
2定义实施例1的选取池、工作池,并定义和生成伪明文
2.1定义选取池SPool
选取池SPool满足:length(SPool)=2*ctlinit (1)
2.2定义工作池SPoolwork并加载工作池SPoolwork
定义初始工作池SPoolwork满足:length(SPoolwork)=ctlinit
设定工作池SPoolwork的初始内容为密钥。
3作为加/解密双方的隐秘约定,定义实施例1的动态驱动向量vectori为选取池Spool中的子串:
Figure BDA0003127069810000173
其中:vectstart0为密钥首三个字节所确定的字节位置
vectstart0=((Spoolwork[0]+Spoolwork[1]+Spoolwork[2])%640)/8,
l为正整数,满足64=l,
length(Spoolwork)为工作池长度,其初值为密钥长度,
Figure BDA0003127069810000181
是由密钥中vectstart0伪随机指定的长度为l的bits串(h到达工作池尾端后从头续延)。
Figure BDA0003127069810000182
vectstarti为第i轮动态驱动向量在工作池中的首字节首位(到达工作池尾端后从头续延),
vectori为第i轮动态驱动向量,
如(2’)所示动态驱动向量逐轮后移一个字节(到达工作池尾端后从头续延),
由l=64可知vectori长度为8个bytes。
4计算实施例1的位段长度限定最大值Lmax、位段长度限定最小值Lmin
4.1计算位段长度限定最大值Lmax
Lmax=ctlinit/12+((vector0[0]+vector0[1])%(ctlinit/128))+ctlinit/128 (3)
其中:vector0[0]、vector0[1]为初始动态驱动向量vector0的头两个字节。
4.2计算位段长度限定最小值Lmin
Lmin=ctlinit/12-((vector0[2]+vector0[3])%(ctlinit/128))-ctlinit/128 (4)
其中:vector0[2]、vector0[3]为初始动态驱动向量vector0的第三、第四字节。
5定义实施例1的伪明文pM、明文结束符EOP
5.1根据2生成伪明文pM为长度满足length(pM)=ctlinit的伪随机串。
5.2定义明文结束符EOP为长度满足length(EOP)=length(vector0)的由初始工作池中的子串
Figure BDA0003127069810000183
与初始动态驱动向量vector0异或生成的bit串:
Figure BDA0003127069810000184
其中:l=length(vector0),
vectstart0见3。
6定义位置链集并进行初始化
6.1定义位置链集pos_chain(j,k),j=0,1,2,…,Lmax-Lmin,k=0,1,...,Lmin+j-1(6)
6.2对位置链集pos_chain的初始化遵循复重构密钥的序列加密方法的说明5.2。
实施例1的加/解密计算公式及计算单元
7定义被加密明文M(rebuild plaintext)为伪明文pM、明文plaintext、明文结束符EOP、补齐伪随机串msadditn的拼接
M=pM||plaintext||EOP||msadditn (7)
其中:补齐伪随机串msadditn的长度为Lmax
8伪随机构造实施例1的各轮加密的lsi
8.1设定首轮位段长度
ls0=(vector0[2])%(Lmax-Lmin)+Lmin (8)
其中:vector0[2]为初始动态驱动向量vector0的第三字节。
8.2定义各轮位段定长函数
lsi=(vectori[vectori[2]%8])%(Lmax-Lmin)+Lmin (8’)
9伪随机构造实施例1的再生密钥位段bski
9.1定义构造源SPoolwork中的构造字节pickbytei,j(计算公式以byte为单位):
pickbytei,0=(pickbytei-1,0+1)%workbyte (9)
pickbyte0,0=vector0%workbyte (9’)
其中:vector0为初始驱动向量,
Workbyte为以字节计算的工作池长度(下同),
pickbytei-1,0为上一轮首构造字节,
(9’)中pickbyte0,0为首轮首构造字节,(9)中pickbytei,0为其后第i轮首构造字节,pickbytei,0在工作池SPoolwork中逐轮递进一个字节(到达工作池尾端后从头续延)。
pickbytei,j=(pickbytei,j-1+1)%workbyte (9”)
其中:pickbytei,j为第i轮第j个构造字节,在工作池SPoolwork中逐字节递进(到达工作池尾端后从头续延)。
9.2定义构造操控值pickdrivevali,j
9.2.1定义操控源中的首操控元Pickdrivelmti,0(计算公式以bit为单位)
pickdrivelmt0,0=((pickbyte0,0+workbyte)*8-vector0[0])%length(Spoolwork) (10)
pickdrivelmti,0=(pickdrivelmti-1,0+1)%workbyte (10’)
其中:pickdrivelmt0,0为工作池中的一个位置,与pickbyte0,0相差一个由密钥伪随机确定的相对位差。
9.2.2操控源中操控元序列
pickdrivelmti,j=(pickdrivelmti,j-1+4)%length(Spoolwork),j=0,...,lsi-1 (10”)
pickdrivelmti,j在工作池SPoolwork中逐操控元以4个bits递进(到达工作池尾端后从头续延),得到操控元序列pickdrivelmti,j,j=0,1,...,lsi-1。
9.2.3从操控元中提取操控值pickdrivevali,j
如果操控元pickdrivelmti,j的最后bit位之值为‘0’则提取其前3个bits位之值作为操控值pickdrivevali,j,否则提取其后3个bits位之值作为操控值pickdrivevali,j,得到操控值序列pickdrivevali,j,j=0,1,...,lsi-1。
9.3构造再生密钥位段bski
9.3.1提取首操控值pickdrivevali,0,定位构造源的首构造字节Pickbytei,0,清空输出伪随机串tmp_str(j),j=0,1,...,lsi-1。
9.3.2从当前构造字节pickbytei,j按当前操控值pickdrivevali,j指定的bit位提取其值更新输出伪随机串中元素tmp_str(j)。
9.3.3定位到下一操控值pickdrivevali,j+1及下一构造字节pickbytei,j+1
9.3.4步进j=j+1,重复上述9.3.2、9.3.3直至输出伪随机串的长度达到lsi
9.3.5以不进行伪随机bit位重排的输出伪随机串tmp_str(j),j=0,1,...,lsi-1作为再生密钥位段bski
10顺延提位代谢逻辑
10.1定义代谢目标区metabolizebytei,j,j=0,1,2,...,lsi-1(计算公式以byte为单位):
metabolizebytei,0=pickdrivelmti,0 (11)
metabolizebytei,j=(metabolizebytei,j-1+1)%workbyte,j=0,1,…,lsi-1 (11’)
其中:workbyte为工作池长度,以字节为单位。
metabolizebytei,j在工作池SPoolwork中逐字节递进(到达工作池尾端后从头续延)。
10.2获取代谢源伪随机串metabol_str(j)(j=0,1,2,…,lsi-1)。
10.2.1定义与再生密钥位段bski等长的代谢源伪随机串metabol_str(j)(j=0,1,2,…,lsi-1)。
10.2.2如果与再生密钥位段等长的位置链pos_chain(lsi-Lmin)中pos_chain(lsi-Lmin,0)=0则代谢源伪随机串metabol_str(j)=0,(j=0,1,2,...,lsi-1);如果与再生密钥位段等长的位置链pos_chain(lsi-Lmin)中pos_chain(lsi-Lmin,0)=lsi则代谢源伪随机串metabol_str(j)=1,(j=0,1,2,...,lsi-1)。
否则
10.2.3对原始代谢源伪随机串(即9.3.6中输出伪随机串tmp_str(j),j=0,1,...,lsi-1)逐个以位置链中的位置元指定的bit位之值进行
Figure BDA0003127069810000201
互换后,拼接代谢源伪随机串metabol_str(j)=tmp_str[pos_chain(lsi-Lmin,j)],(j=0,1,2,...,lsi-1)。
10.3以10.2所得代谢源伪随机串metabol_str对工作池中代谢目标区顺延提位代谢
10.3.1定义代谢bit位metabolbiti(0)=0 (12)
metabolbiti(j)=(metabolbiti(j-1)+1)%8 (12’)
10.3.2对代谢目标区的各字节中的代谢bit位代谢:
metabolizebytei,j(metabolbiti(j))=metabol_str(j),j=0,1,2,...,lsi-1 (13)
11位置链pos_chain(lsi-Lmin)代谢
按复重构密钥的序列加密方法的说明2.7所述方式对pos_chain(lsi-Lmin)代谢。
实施例1的加/解密进程操控
加密
1令结构配置量ctlinit=640。
2按上述混沌计算结构配置逐一构建选取池Spool、工作池SPoolwork、位段长度限定最大值Lmax、位段长度限定最小值Lmin、计算伪明文pM长度并生成伪明文pM、明文结束符EOP,并构建位置链集pos_chain。
3按实施例1的加/解密计算公式及计算单元7拼接被加密明文M,计算位段长度ls0,并按实施例1的加/解密计算公式及计算单元8提取初始动态驱动向量vector0
4按实施例1的加/解密计算公式及计算单元9.2在操控源中定位首操控元pickdrivelmti,0并提取首操控值pickdrivevali,0,定位构造源的首构造字节Pickbytei,0,并清空输出伪随机串tmp_str(j),j=0,1,…,lsi-1。
5按实施例1的加/解密计算公式及计算单元9.3循环提取输出伪随机串tmp_str(j),j=0,1,…,lsi-1,构造再生密钥位段bski
6顺序从明文M提取长度为lsi的明文位段Mi,并用再生密钥位段bski 对明文位段Mi进行异或加密。
7如果工作池未达到成熟期,则以明文位段Mi(即伪明文pMi)对工作池实施成长期代谢(参见单一复重构逻辑结构1.5.5.1);否则,按实施例1的加/解密计算公式及计算单元10用顺延提位代谢逻辑对工作池代谢。
8按复重构密钥的序列加密方法的说明2.7对位置链pos_chain(lsi-Lmin)代谢,vectori在工作池中后移一个字节。
9步进i=i+1,计算lsi,如果明文位段Mi的长度小于lsi则执行下述加密后处理,否则循环执行上述4至8。
10将明文的计算结束位之后的剩余bits串拼接到密文。
解密
1同加密1。
2按上述混沌计算结构配置逐一构建选取池Spool、工作池SPoolwork、位段长度限定最大值Lmax、位段长度限定最小值Lmin、计算伪明文pM长度、明文结束符EOP,并构建位置链集pos_chain。
3计算位段长度ls0,并按实施例1的加/解密计算公式及计算单元8提取初始动态驱动向量vector0
4按实施例1的加/解密计算公式及计算单元9.2在操控源中定位首操控元pickdrivelmti,0并提取首操控值pickdrivevali,0,定位构造源的首构造字节Pickbytei,0,并清空输出伪随机串tmp_str(j),j=0,1,...,lsi-1。
5按实施例1的加/解密计算公式及计算单元9.3循环提取输出伪随机串tmp_str(j),j=0,1,...,lsi-1,构造再生密钥位段bski
6顺序从密文C提取长度为lsi的密位段Ci,并用再生密钥位段bski 对密文位段C进行异或解密。
7如果工作池未达到成熟期,则以解密所得明文位段Mi(即伪明文pMi)对工作池实施成长期代谢(参见单一复重构逻辑结构1.5.5.1),否则按实施例1的加/解密计算公式及计算单元10用顺延提位代谢逻辑对工作池代谢。
8按复重构密钥的序列加密方法的说明2.7对位置链pos_chain(lsi-Lmin)代谢,vectori在工作池中后移一个字节。
9步进i=i+1,计算lsi,如果密文位段Ci的长度小于lsi则执行下述解密后处理,否则循环执行上述4至8。
9.1剔除解密所得的明文中的伪明文pM。
9.2在解密所得明文的尾部的倒序Lmax+length(vector0)的位置比对明文结束符EOP,如果找到则剔除明文结束符EOP及随后的补齐伪随机串msadditn;如果找不到明文结束符EOP则说明加密、传输、解密过程中出现错误。
实施例2递进链取位逻辑/顺延提位代谢逻辑和位跳跃取位逻辑/被提取位代谢逻辑配套的嵌入伪随机bit位缠绕的双叠加&双代谢错段叠加模型
由于本实施例的各再生密钥位段序列组中仅使用了一个再生密钥位段序列(s=1,参见错段叠加逻辑结构4.5),本实施例将再生密钥位段序列组标识(bsk1i,q、bsk2i,q中的1、2,参见错段叠加逻辑结构4.5)和组中再生密钥位段序列子标示(bsk1i,q、bsk2i,q中的q,参见错段叠加逻辑结构4.5)合并成‘1’或‘2’,并且以单缓存区代替栈。
实施例2的计算参量及计算公式
混沌计算结构配置
同实施例1的混沌计算结构配置之1~6。
实施例2的加/解密计算公式及计算单元
7同实施例1的加/解密计算公式及计算单元7。
8同实施例1的加/解密计算公式及计算单元8。
9伪随机构造首再生密钥位段序列的再生密钥位段bsk1
9.1定义首再生密钥位段序列的构造源pickarea1 i中的构造字节pickbyte1i,j(计算公式以byte为单位)
9.1.1定义首再生密钥位段序列的构造源pickarea1i
9.1.1.1定义首再生密钥位段序列的构造源在工作池SPoolwork中的起始字节位置:
pickarea1start0=vector0%workbyte (14)
pickarea1starti=(pickarea1starti-1+1)%workbyte (14’)
(14)为首轮构造源在工作池SPoolwork中的起始字节位置,(14’)为其它轮构造源在工作池SPoolwork中的起始字节位置。
9.1.1.2定义首再生密钥位段序列的构造源pickarea1i
Figure BDA0003127069810000221
(15)为从pickarea1starti开始的lsi个字节(h以字节进位,到达工作池尾端从头续延)所构成的构造源。
9.1.2定义首再生密钥位段序列的构造字节序列pickbyte1i,j,j=0,1,...,lsi-1:
pickbyte1i,j=pickarea1i(pos_chain(lsi-Lmin,j))%workbyte,j=0,1,...,lsi-1 (16)
其中:pos_chain(lsi-Lmin,j)为与位段长度等长的位置链pos_chain(lsi-Lmin)中第j个位置元。
9.2同实施例1的加/解密计算公式及计算单元9.2。
9.3构造首再生密钥位段序列的再生密钥位段bsk1i
9.3.1从首再生密钥位段序列的首操控元pickdrivelmt1i,0按实施例1的加/解密计算公式及计算单元9.2.3的方法提取首操控值pickdriveval1i,0,并清空输出伪随机串tmp_str(j),j=0,1,...,lsi-1。
9.3.2从当前构造字节pickarea1i(j)按当前操控值pickdriveval1i,j指定的bit位,提取其值更新输出伪随机串中的元素tmp_str(j)。
9.3.3将当前操控元pickdrivelmt1i,j向后移动4个bits作为下一操控元pickdrivelmt1i,j+1,并按(16)定位到下一构造字节。
9.3.4按实施例1的加/解密计算公式及计算单元9.2.3的方法提取下一操控值pickdriveval1i,j
9.3.5步进j=j+1,重复上述9.3.2、9.3.3、9.3.4直至j=lsi-1,得到输出伪随机串tmp_str(j),j=0,1,…,lsi-1。
9.3.6依输出伪随机串tmp_str(j),j=0,1,…,lsi-1进行伪随机bit位重排,并将结果作为首再生密钥位段序列的再生密钥位段bsk1i
10同实施例1的加/解密计算公式及计算单元10(代谢目标为首再生密钥位段序列的代谢目标区)。
11同实施例1的加/解密计算公式及计算单元11。
12伪随机构造实施例2的次再生密钥位段序列的再生密钥位段bsk2i
12.1确定实施例2的次再生密钥位段序列构造源pickarea2i和操控源pickdrivearea2i
12.1.1由动态驱动向量vectori伪随机确定次再生密钥位段序列的构造源起始位置:pickstart2i,0=vectori[2]%length(Spoolwork)
12.1.2构造源pickarea2i由从构造源起始位置pickstart2i,0到选取池尾部的bits串和从选取池首部到构造源起始位置pickstart2i,0之前的两个bits串拼接而成。
12.1.3由动态驱动向量vectori伪随机确定次再生密钥位段序列的操控源起始位置:pickdrivstart2i,0=(pickstart2i,0+length(Spoolwork)-vectori[4]-1)%length(Spoolwork)
12.1.4操控源pickdrivearea2i由从操控源起始位置pickdrivstart2i,0到选取池尾部的bits串和从选取池首部到操控源起始位置pickdrivstart2i,0之前的两个bits串拼接而成。
12.2从操控源起始位置pickdrivstart2i,0开始顺序(顺延至工作池尾部后从头续延)提取lsi个长度为log2(workbyte*8/lmax))+1的bits串构成位跳跃值序列jump2_num(j),j=1,2,...,lsi-1。
12.3令j=0,并清空输出伪随机串tmp_str(j),j=0,1,...,lsi-1。
12.4使用公式pickbit0=pickstart2i,0,pickbitj=(pickbitj-1+jump2_num(j))%length(Spoolwork),j=1,…,lsi-1,得到lsi个构造源中的bit位串pickbitj,j=0,1,...,lsi-1,提取其各个bit位之值构成输出伪随机串tmp_str(j),j=0,1,...,lsi-1。
12.5使用单一复重构逻辑结构1.5.3的方法对输出伪随机串tmp_str(j),j=0,1,...,lsi-1进行伪随机bit位重排,得到次再生密钥位段序列的再生密钥位段bsk2i
13被提取位代谢逻辑
13.1在12.4中保留各pickbitj,j=0,1,...,lsi-1作为被提取位代谢目标区。
13.2使用位置链pos_chain(lsi-Lmin,j)(j=0,1,2,...,lsi-1)对12.4所得输出伪随机串tmp_str(j),j=0,1,…,lsi-1进行伪随机bit位转换
Figure BDA0003127069810000231
获取代谢源伪随机串metabol_str(j)(j=0,1,2,…,lsi-1):
13.2.1定义与再生密钥位段bsk2i 等长的代谢源伪随机串metabol_str(j)(j=0,1,2,...,lsi-1)。
13.2.2如果与再生密钥位段bsk2i 等长的位置链pos_chain(lsi-Lmin)中pos_chain(lsi-Lmin,0)=0则代谢源伪随机串metabol_str(j)=0,(j=0,1,2,...,lsi-1);如果与再生密钥位段等长的位置链pos_chain(lsi-Lmin)中pos_chain(lsi-Lmin,0)=lsi-1则代谢源伪随机串metabol_str(j)=1,(j=0,1,2,...,lsi-1)。
否则
13.2.3逐个以位置链中的位置元指定的输出伪随机串中相应位置的bit位之值进行
Figure BDA0003127069810000232
互换后,拼接代谢源伪随机串metabol_str(j)=tmp_str[pos_chain(lsi-Lmin,j)],(j=0,1,2,...,lsi-1)。
13.3逐一以代谢源伪随机串metabol_str(j)(j=0,1,2,...,lsi-1)对被提取位代谢目标位(即被提取位)pickbitj,j=0,1,...,lsi-1代谢:pickbiti(j)=metabol_str(j)(j=0,1,2,...,lsi-1)。
14确定位段切分值为(1/2)Lmin,并设定切分公式
14.1首再生密钥位段序列的上半位段及次再生密钥位段序列的下半位段的长度:L1fi=L2li=(1/2)Lmin
首再生密钥位段序列的下半位段及次再生密钥位段序列的上半位段的长度:L1li=L2fi=lsi-(1/2)Lmin
于是有:
14.2切分后的半位段(或称半段)标示(参见图8):
明文前/后半位段Mfi,Mli,(明文前、后半位段)
首密钥前/后半位段K1fi,K1li,(首再生密钥位段序列的再生密钥位段的前、后半位段)
次密钥前/后半位段K2fi,K2li,(次再生密钥位段序列的再生密钥位段的前、后半位段)
首过渡前/后半位段T1fi,T1li,(首再生密钥位段序列加密后的前、后半位段)
缠绕的过渡前/后半位段T1fiX,T1liX,(首再生密钥位段序列加密后并实施伪随机bit位缠绕的前/后半位段)
次过渡前/后半位段T1fiX2li-1,T1liX2fi(实施伪随机bit位缠绕后用次再生密钥位段序列加密的前/后半位段)
密文前/后半位段Cfi,Cli,(密文前、后半位段)
实施例2的加/解密进程操控
本实施例中只嵌入一次伪随机bit位缠绕,所以省略用于倒序处理的栈(stack_k2f、stack_k2l、s_stack_k2l、stack_bsk1、stack_chain,见图8’-2)。
加密
1按上述混沌计算结构配置1令结构配置量ctlinit=640。
2按上述混沌计算结构配置构建动态驱动向量vector0、选取池Spool、工作池SPoolwork、位段长度限定最大值Lmax、位段长度限定最小值Lmin、伪明文pM、明文结束符EOP、位置链集pos_chain。
3按实施例2的加/解密计算公式及计算单元生成被加密明文M=pM||plaintext||EOP||msadditn;计算位段长度ls0
4从被加密明文M提取长度为位段长度ls0的明文位段M0(Mf0||Ml0)。
5按实施例2的加/解密计算公式及计算单元9构造首再生密钥位段序列的首再生密钥位段bsk10 (K1f0||K1l0)。按实施例2的加/解密计算公式及计算单元12构造次再生密钥位段序列的首再生密钥位段bsk20 (K2f0||K2l0)。以明文位段M0(即伪明文pM0)对工作池实施成长期代谢(参见单一复重构逻辑结构1.5.5.1)。
6按实施例2的加/解密计算公式及计算单元11实施位置链pos_chain(ls0-Lmin)代谢。
7将次再生密钥位段序列的首再生密钥位段bsk20 的后半段k2l0存入缓存queue2l。
8以首再生密钥位段序列的首再生密钥位段bsk10 对明文位段M0进行异或加密生成首过渡位段T1f0||T1l0
9以位置链pos_chain(ls0-Lmin)对首过渡位段T1f0||T1l0伪随机bit位缠绕,生成重排的过渡位段T1f0X||T1l0X。
10按实施例2的加/解密计算公式及计算单元11对位置链pos_chain(lsi-Lmin)代谢。
11以次密钥后半位段K2f0加密重排的过渡后半位段T1l0X,生成次过渡后半位段T1l0X2f0
12 i=i+1,计算下一lsi
13提取动态驱动向量vectori,从被加密明文M顺延提取长度为lsi的明文位段Mi
14将queue2l拷贝进q_queue2l,并将queue2l清空。
15按实施例2的加/解密计算公式及计算单元9构造首再生密钥位段序列的再生密钥位段bsk1i (K1fi||K1li),若工作池达到成熟期则按实施例2的加/解密计算公式及计算单元10使用所提取的输出伪随机串实施顺延提位代谢;按实施例2的加/解密计算公式及计算单元12构造次再生密钥位段序列的再生密钥位段bsk2i (K2fi||K2li),若工作池达到成熟期则按实施例2的加/解密计算公式及计算单元13使用所提取的输出伪随机串实施被提取位代谢。如果工作池未达到成熟期,则以明文位段Mi(即伪明文pMi)对工作池实施成长期代谢(参见单一复重构逻辑结构1.5.5.1)。
16按实施例2的加/解密计算公式及计算单元11实施位置链pos_chain(lsi-Lmin)代谢。
17以首再生密钥位段序列的再生密钥位段bsk1i 对Mi计算得到首过渡位段T1fi||T1li
18对首过渡位段T1fi||T1li以位置链pos_chain(lsi-Lmin)的位置序进行伪随机bit位缠绕生成缠绕的过渡位段T1fiX||T1liX。
19对位置链pos_chain(lsi-Lmin)代谢。
20从缓存q_queue2l中提取前一轮次再生密钥位段后半段k2li-1,错段重组再生密钥位段k2li-1||k2fi,并用其对T1fiX||T1liX进行加密生成错段次过渡位段T1fiX2li-1||T1liX2fi(即本实施例的密文位段)。
21将本轮生成的次再生密钥位段序列的再生密钥位段的后半段k2li存入缓存queue2l。
22 i=i+1,计算下一lsi,并做循环条件判断:
22.1如果lsi大于未加密明文的长度则进行加密后处理23并结束计算。
22.2否则,执行13至22,进行下一轮嵌入伪随机bit位缠绕的错段叠加计算直至22.1的条件成立。
23将22.1中未加密剩余明文追加到密文尾端。
解密
由于在加密进程中嵌入了伪随机bit位缠绕过程,解密处理必须在提取完再生密钥位段和解除伪随机bit位缠绕使用的位置链pos_chain(lsi-Lmin)后按加密倒序进行处理:
1同加密进程1、2,配置结构操控量:动态驱动向量vector0、选取池Spool、工作池SPoolwork、位段长度限定最大值Lmax、位段长度限定最小值Lmin、伪明文pM长度、明文结束符EOP、位置链集pos_chain。
2令i=0,计算位段长度ls0
3从密文C提取长度为位段长度ls0的密文位段C0(Cf0||Cl0)。
4构造首再生密钥位段序列的再生密钥位段bsk10 (K1f0||K1l0);构造次再生密钥位段序列的再生密钥位段bsk20 (K2f0||K2l0)。以明文位段M0(即伪明文pM0)对工作池实施成长期代谢(参见单一复重构逻辑结构1.5.5.1)。
5按实施例2的加/解密计算公式及计算单元11实施位置链pos_chain(lsi-Lmin)代谢。
6将次再生密钥位段序列的再生密钥位段的后半段k2l0存入stack_k2l。
7以次密钥前半位段k2f0对密文后半位段Cl0进行异或,得到加密时被重排的过渡后半位段T1l0X。
8用7中所得T1l0X与密文前半位段Cf0拼接,得到重排的过渡位段T1f0X||T1l0X,并以位置链pos_chain(ls0-Lmin)的位置序进行伪随机bit位解除缠绕,得到首过渡位段T1f0||T1l0
9对位置链pos_chain(ls0-Lmin)代谢。
10以首再生密钥位段序列的再生密钥位段bsk10对所得过渡位段T1f0||T1l0解密得到明文位段Mf0||Ml0
11 i=i+1,并计算lsi,提取动态驱动向量vectori
11.1如果lsi大于未加密明文的长度,则进行22解密后处理。
11.2否则,从密文C提取长度为lsi的密文位段Ci(Cfi||Cli)。
12拷贝stack_k2l到s_stack_k2l,并清空stack_k2l。
13按实施例2的加/解密计算公式及计算单元9构造首再生密钥位段序列的再生密钥位段bsk1i (K1fi||K1li),若工作池达到成熟期则按实施例2的加/解密计算公式及计算单元10使用所提取的输出伪随机串实施顺延提位代谢;按实施例2的加/解密计算公式及计算单元12构造次再生密钥位段序列的再生密钥位段bsk2i (K2fi||K2li),若工作池达到成熟期则按实施例2的加/解密计算公式及计算单元13使用所提取的输出伪随机串实施被提取位代谢。
14按实施例2的加/解密计算公式及计算单元11实施位置链pos_chain(lsi-Lmin)代谢。
15将次再生密钥位段序列的再生密钥位段的后半段k2li存入stack_k2l。
16错段重组再生密钥位段k2li-1||k2fi,然后对密文位段Ci(Cfi||Cli)解密计算,得到加密时被重排的过渡位段T1fiX||T1liX。
17以位置链pos_chain(lsi-Lmin)对T1fiX||T1liX解除伪随机bit位缠绕,得到首过渡位段T1fi||T1li
18对位置链pos_chain(lsi-Lmin)代谢。
19以首再生密钥位段序列的再生密钥位段bsk1i 对所得首过渡位段T1fi||T1li解密得到明文位段Mfi||Mli
20如果工作池未达到成熟期,则以解密所得的明文位段Mi(即伪明文pMi)对工作池实施成长期代谢(参见单一复重构逻辑结构1.5.5.1)。
21重复11至20步骤进行下一轮嵌入伪随机bit位缠绕的解密计算直至lsi大于未被解密的密文的长度。
22解密后处理
22.1剔除解密所得的明文中的伪明文pM。
22.2效验解密所得明文中的明文结束符EOP是否正确,如果明文结束符EOP正确则剔除明文结束符EOP及随后的补齐伪随机串msadditn;如果明文结束符EOP不正确则说明加密、传输、解密过程中出现错误。
发明特征说明
1采用无限不循环的再生密钥位段序列构造机制实施错段叠加加密,安全性得到充分保证。由于底层循环中以bit位计算为主,本发明实现速度也可以得到保证。
2相较于传统的序列加密方法本发明可以根据应用形态的需要配置相应的加密模型,应用范围更加广阔。并且具有一定的可调整空间和与其它方法的整合空间。
3由于结构配置量可以根据需要调整,本发明可以适应计算能力不断增长的安全需要。可以证明的是:除蛮力攻击密钥外,不存在破解密钥的多项式时间复杂度的攻击算法,即本发明提供一个P<nP的实例。
可以理解的是,对本领域技术人员来说,对本发明的技术方案及发明构思加以等同替换、改变或简化都应属于本发明所附权利要求的保护范围。

Claims (8)

1.一种复重构密钥的序列加密方法,其特征在于:使用密钥和结构配置量生成结构操控量,并利用结构操控量操控混沌计算结构调度配套的复合逻辑实现混沌的bit位段流序列加密;逐轮伪随机重构构造源和操控源并利用操控源伪随机操控构造源复重构再生密钥位段;利用对多于一个的再生密钥位段序列的整合实现不同再生密钥位段序列间错段缠绕;利用伪随机bit位缠绕实现与再生密钥位段序列间错段缠绕不相关的前后位段间的错段缠绕;发明核心包括三个紧密关联的计算:(A)构建混沌计算结构,在加密进程中逐段对工作池新陈代谢,进而对工作池承载的操控源、构造源逐段以操控源中的bit位操控bit取位逻辑提取构造源中的bit位,伪随机复重构再生密钥位段;(B)基于混沌计算结构,整合bit取位逻辑和bit代谢逻辑,构建‘伪随机错位提取未被代谢的构造源bit位或者重位提取已被代谢的构造源bit位’的再生密钥位段无限不循环构建逻辑;(C)基于混沌计算结构对多于一个的不同再生密钥位段序列实现错段叠加加密;技术方案包括:
(1)由密钥通过计算结构配置量构建混沌计算结构,支撑伪随机确定各段计算参量的逐位段序列加密;
(2)以密钥加载初始工作池,引领逐位段逻辑缠绕的混沌加密进程;
(3)以加密方独立构建的伪明文扩展工作池,进一步混沌加密进程,提升安全阀值;
(4)建立工作池逐轮代谢机制,配套配置bit取位逻辑和bit代谢逻辑,建立‘伪随机错位提取未被代谢的构造源bit位或者重位提取已被代谢的构造源bit位’的再生密钥位段构建逻辑;
(5)以混沌计算结构消解所构建的再生密钥位段序列的有概率出现的周期律;
(6)使用差异的构造源、操控源、bit取位逻辑和bit代谢逻辑,构造不同的再生密钥位段序列,并基于混沌计算结构实现不同再生密钥位段序列的嵌入伪随机bit位缠绕的错段叠加加密;
(7)基于密钥建立明文结束符,化解明文结束位置与分段计算结束位置之间的错位并以明文结束符作为解密计算正确性的效验码。
2.根据权利要求1所述的复重构密钥的序列加密方法,其特征在于:由密钥通过结构配置量配置结构操控量,操控混沌的不定长分段加密计算:
(1)使用密钥key结合结构配置量ctlinit配置选取池Spool的长度,初始工作池Spoolwork的长度;
(2)根据密钥伪随机确定初始动态驱动向量vector0在工作池Spoolwork中的提取位置;
(3)根据选取池Spool的长度和密钥的长度确定伪明文pM的长度;
(4)根据初始动态驱动向量vector0伪随机确定位段长度限定最大值Lmax、位段长度限定最小值Lmin
(5)根据初始动态驱动向量vector0和密钥中其它bits串生成明文结束符EOP;
(6)根据位段长度限定最大值Lmax及位段长度限定最小值Lmin构建位置链集pos_chain;
(7)拼接伪明文pM、明文plaintext、明文结束符EOP,并追加长度为Lmax的补齐伪随机串msadditn,重构计算用明文M;
(8)通过上述(1)至(6)所得结构操控量操控混沌计算结构加密被重构的明文M。
3.根据权利要求1所述的复重构密钥的序列加密方法,其特征在于:使用密钥key初始加载工作池SPoolwork,启动再生密钥位段序列的构建进程。
4.根据权利要求1所述的复重构密钥的序列加密方法,其特征在于:以加密方独立构建的与明文内容无关的伪明文pM扩展工作池SPoolwork;进而以密钥key和伪明文pM共同引领复重构再生密钥位段序列的进程,提升安全阀值。
5.根据权利要求1所述的复重构密钥的序列加密方法,其特征在于:依据计算结构的配置逐轮使用bit代谢逻辑代谢工作池SPoolwork,进而以操控源操控bit取位逻辑提取构造源的bit值,实现‘伪随机错位提取未被代谢的构造源bit位或者重位提取已被代谢的构造源bit位’的逐bit位复重构再生密钥位段逻辑;
(1)以bit代谢逻辑实现工作池代谢,以bit取位逻辑从工作池中复重构再生密钥位段;
(2)所列举的bit取位逻辑:
(2.1)递进取位逻辑;
以初始动态驱动向量vector0伪随机确定首轮构造源在工作池中的起始字节pickstart0,0
以初始动态驱动向量vector0伪随机获取相对位差dif,dif<length(Spoolwork),在工作池中确定首***控源起始位置pickdrivstart0,0=(pickstart0,0+length(Spoolwork)-dif)%length(Spoolwork);
逐轮递进一个字节,到达工作池Spoolwork尾端后从头续延,确定随后各轮:①构造源起始字节pickstarti,0=(pickstarti-1,0+8)%length(Spoolwork),②操控源起始位置pickdrivstarti,0=(pickdrivstarti-1,0+8)%length(Spoolwork);
以工作池中从构造源起始字节开始的lsi个字节构成的字节段作为各轮构造源pickareai
以工作池中从操控源起始位置开始的lsi的n倍个bit构成的bits串作为操控源pickdriveareai,n为3或4或8;
以操控源pickdriveareai中顺序地每3或4或8个bits构成的bits串序列构成操控元序列,并提取各操控元中3个bits作为操控值构成操控值序列pickdriveri(j),j=0,1,2,...,lsi-1;
顺序地配对操控值序列中的操控值和构造源中的构造字节pickdriveri(j)/pickareai(j),j=0,1,2,...,lsi-1;
逐对从操控值指定的构造字节的bit位之值作为输出bit值,拼接输出伪随机串tmp_str(j),j=0,1,2,...,lsi-1;
使用所构造的输出伪随机串tmp_str(j),j=0,1,2,…,lsi-1,或对其进行伪随机bit位重排
Figure FDA0003127069800000021
后,作为再生密钥位段bski
(2.2)递进链取位逻辑;
在配置混沌计算结构时,以位段长度限定最大值Lmax及位段长度限定最小值Lmin构建位置链集pos_chain并以密钥对其初始化;
在工作池中以初始动态驱动向量vector0伪随机确定首轮构造源起始字节pickstart0,0
以初始动态驱动向量vector0伪随机获取相对位差dif,dif<length(Spoolwork),在工作池中确定首***控源起始位置pickdrivstart0,0=(pickstart0,0+length(Spoolwork)-dif)%length(Spoolwork);
逐轮递进一个字节,到达工作池Spoolwork尾端后从头续延,确定随后各轮中:①构造源起始字节pickstarti,0=(pickstarti-1,0+8)%length(Spoolwork),②操控源起始bit位pickdrivstarti,0=(pickdrivstarti-1,0+8)%length(Spoolwork);
以工作池中从构造源起始字节开始的lsi个字节构成的字节段作为构造源pickareai
以工作池中从操控源起始位置开始的lsi的n,n为3或4或8,倍个bit所组成的bits串作为操控源pickdriveareai
以操控源pickdriveareai中顺序地每3或4或8个bit构成的bits串作为操控元构成操控元序列,并提取操控元中3个bits作为操控值构成操控值序列pickdriveri(j),j=0,1,2,...,lsi-1;
顺序地配对操控值序列中的操控值和由位置链pos_chain(lsi-Lmin)中位置元pos_chain(lsi-Lmin,j)确定的构造源中的构造字节pickdriveri(j)/pickareai(pos_chain(lsi-Lmin,j)),j=0,1,2,...,lsi-1;
逐对以操控值指定的构造字节中的bit位之值作为输出bit值,拼接输出伪随机串tmp_str(j),j=0,1,2,…,lsi-1;
使用所构造的输出伪随机串tmp_str(j),j=0,1,2,...,lsi-1或对其进行伪随机bit位重排
Figure FDA0003127069800000031
后,作为再生密钥位段bski
(2.3)位跳跃取位逻辑;
以动态驱动向量vectori伪随机确定各轮构造源起始位置pickstarti,0,并以构造源起始位置pickstarti,0到工作池尾端的bits串与从工作池头端到构造源起始位置pickstarti,0之前的bits串拼接构造源pickareai
以动态驱动向量vectori伪随机获取相对位差dif,dif≤length(Spoolwork),在工作池中确定各***控源起始位置pickdrivstarti,0=(pickstarti,0+length(Spoolwork)-dif)%length(Spoolwork),并以操控源起始位置pickdrivstarti,0到工作池尾端的bits串与从工作池头端到操控源起始位置pickdrivstarti,0之前的bits串拼接操控源pickdriveareai
从操控源中跳跃或不跳跃地提取lsi个定长bits子串作为位跳跃值构成位跳跃值序列junp_num(j),j=0,1,2,...,lsi-1,到达工作池尾部后从头续延;
逐一,j=0,1,2,...,lsi-1,依位跳跃值序列中的各位跳跃值为间隔从构造源中跳跃地,到达工作池尾部后从头续延,确定被提取bit位,并以其值拼接输出伪随机串tmp_str(j),j=0,1,2,…,lsi-1;
使用所构造的输出伪随机串tmp_str(j),j=0,1,2,...,lsi-1或对其进行伪随机bit位重排
Figure FDA0003127069800000032
后,作为再生密钥位段bski
(2.4)顺延提位取位逻辑:
由初始动态驱动向量vector0伪随机确定首轮构造源起始字节pickstart0;随后各轮构造源起始字节pickstarti逐轮顺延一个字节,顺延到达工作池尾端从头续延,pickstarti=(pickstarti-1+8)%length(Spoolwork);
各轮中构造源pickareai由从构造源起始字节pickstarti开始顺延的lsi个字节构成,顺延到达工作池尾端从头续延;
令上述构造源pickareai中首构造字节的被提取bit位为第0bit位,随后构造字节的被提取bit位逐字节提高一个bit位,达到7后从0续延,顺序地以构造字节的被提取bit位之值拼接输出伪随机串tmp_str(j),j=0,1,2,…,lsi-1;
使用所构造的输出伪随机串tmp_str(j),j=0,1,2,...,lsi-1或对其进行伪随机bit位重排
Figure FDA0003127069800000043
后,作为再生密钥位段bski
(3)所列举的bit代谢逻辑及其相关代谢:
(3.1)对length(SPoolwork)<length(SPool)的成长期中的工作池SPoolwork的代谢:
当length(Spool)-length(Spoolwork)≥lsi时,加密时追加或伪随机***从明文中依序提取的长度为lsi的伪明文子串pMi到工作池SPoolwork并维护工作池SPoolwork长度length(Spoolwork)=length(Spoolwork)+lsi;解密时追加或伪随机***从被解密明文中提取的长度为lsi的伪明文子串pMi到工作池SPoolwork并维护工作池SPoolwork长度length(Spoolwork)=length(Spoolwork)+lsi
当length(Spool)-length(Spoolwork)<lsi时,加密时追加或伪随机***从明文中依序提取的长度为length(Spool)-length(Spoolwork)的伪明文子串pMi到工作池SPoolwork并且令length(Spoolwork)=length(Spool);解密时追加或伪随机***从被解密明文中提取的长度为length(Spool)-length(Spoolwork)的伪明文子串pMi到工作池SPoolwork并且令length(Spoolwork)=length(Spool);工作池达到成熟期;
(3.2)对length(SPoolwork)=length(SPool)的工作池SPoolwork成熟期,采用bit代谢逻辑代谢工作池:
(3.2.1)顺延提位代谢逻辑:
在工作池中从操控源起始位置pickdrivstarti,0起选取lsi个字节构成顺延提位代谢目标区metabolareai
顺延提位代谢目标区metabolareai在工作池中逐轮后移一个字节,到达工作池尾端从头续延;
使用位置链pos_chain(lsi-Lmin)对原始代谢源随机串,即任意bit取位逻辑的输出伪随机串tmp_str(j),j=0,1,2,...,lsi-1,进行伪随机bit位转换
Figure FDA0003127069800000044
,其中的伪随机bit重排必须与构造再生密钥位段时的伪随机bit位重排
Figure FDA0003127069800000045
互异,得到代谢源随机串metabolsrci(j),j=0,1,2,...,lsi-1;
设定在顺延提位代谢目标区metabolareai首字节中的代谢bit位为第0bit位,随后逐字节提高一个bit位,达到7后从0续延,作为顺延提位目标区各字节的代谢bit位,得到被代谢bit位序列metabolbiti(j),j=0,1,2,...,lsi-1;
按序逐bit位以代谢源随机串metabolsrci(j),j=0,1,2,...,lsi-1的bit位之值替换顺延提位目标区相应字节的代谢bit位之值metabolbiti(j)=metabolsrci(j),j=0,1,2,...,lsi-1;
(3.2.2)被提取位代谢逻辑:
在任何bit取位逻辑构建输出伪随机串tmp_str(j),j=0,1,2,...,lsi-1时,顺序拼接其bit位作为被提取位序列pickedbiti(j),j=0,1,2,…,lsi-1;
使用位置链pos_chain(lsi-Lmin)对原始代谢源伪随机串,即任意bit取位逻辑的输出伪随机串tmp_str(j),j=0,1,2,...,lsi-1,进行伪随机bit位转换
Figure FDA0003127069800000041
其中的伪随机bit重排必须与构造再生密钥位段时的伪随机bit位重排
Figure FDA0003127069800000042
互异,得到代谢源伪随机串metabolsrci(j),j=0,1,2,...,lsi-1;
实施被提取位代谢pickedbiti(j)=metabolsrci(j),j=0,1,2,...,lsi-1;
(3.3)利用密钥的随机性实现位置链pos_chain(lsi-Lmin)代谢:
建立长度为(1/2)length(vectori)-1的空过渡位置链tmp_chain;
顺序提取动态驱动向量vectori的每两个bits所表示之值作为跳跃值得到一个跳跃值序列rpj,j=0,1,...,min((1/2)length(vectori)-1,lsi-1);
令p0=rp0,pj=pj-1+rpj+1,
计算:①tmp_chain(j)=pos_chain(lsi-Lmin,pj)并②剔除位置元pos_chain(lsi-Lmin,pj),j=0,1,...,(1/2)length(vectori)-1;于是pos_chain(lsi-Lmin)部分或全部地伪随机导入tmp_chain;
当(1/2)length(vectori)<lsi时,将新位置链tmp_chain中生成的(1/2)length(vectori)个位置元追加到被压缩了的位置链pos_chain(lsi-Lmin)的尾端;当(1/2)length(vectori)≥lsi时,以新位置链tmp_chain替换已使用位置链pos_chain(lsi-Lmin);
(3.4)对动态驱动向量vectori以下述两者之一代谢
(3.4.1)以在工作池中逐轮向后顺延一个字节的方式实现动态驱动向量vectori代谢;
(3.4.2)逐轮以工作池中与前一轮动态驱动向量vectori-1互异的等长bits串与前一轮动态驱动向量vectori-1异或生成新的vectori
(4)在生成再生密钥位段前对输出伪随机串的伪随机bit位重排
Figure FDA0003127069800000051
,在工作池代谢之前对原始代谢源伪随机串,即任意bit取位逻辑的输出伪随机串tmp_str(j),j=0,1,2,...,lsi-1,的伪随机bit位转换
Figure FDA0003127069800000052
(4.1)基于位置链pos_chain(lsi-Lmin)的随机性对由bit取位逻辑获取的输出伪随机串tmp_str(j),j=0,1,2,...,lsi-1,实现伪随机bit位重排
Figure FDA0003127069800000053
(4.2)基于位置链pos_chain(lsi-Lmin)的随机性实现对原始代谢源伪随机串,即任意bit取位逻辑的输出伪随机串tmp_str(j),j=0,1,2,...,lsi-1,的伪随机bit位转换
Figure FDA0003127069800000054
,包括:
(4.2.1)基于位置链pos_chain(lsi-Lmin)的随机性对原始代谢源伪随机串,由任意bit取位逻辑获取的输出伪随机串tmp_str(j),j=0,1,2,...,lsi-1,实施与(4.1)不同的伪随机bit位重排;
(4.2.2)在实施(4.2.1)的伪随机bit位重排时逐bit位
Figure FDA0003127069800000055
互换;
(4.2.3)加糖:根据计算参量间隙性出现的状态触发以全‘0’或全‘1’的bit串替代代谢源伪随机串;计算参量间隙性出现的状态的例子:(a)、位置链中特定位置的位置元等于0或lsi,或者(b)、动态驱动向量vectori的某确定字节之值等于0或者lsi,或者(c)、上述(a)或(b)不矛盾地组合成立;
(5)在混沌计算结构支撑下配套使用bit取位逻辑和bit代谢逻辑及所列其它相关逻辑,构建‘伪随机错位提取未被代谢的构造源bit位或者重位提取已被代谢的构造源bit位’的再生密钥位段序列。
6.根据权利要求1所述的复重构密钥的序列加密方法,其特征在于:以混沌计算结构消解被构建的再生密钥位段序列的有概率出现的周期律;
(1)利用混沌计算结构造成的位段长度lsi的伪随机变化,打乱被代谢位变化的规律性;
(2)利用混沌计算结构造成的位段长度lsi的伪随机变化,打乱被重复提取位之值变化的规律性。
7.根据权利要求1所述的复重构密钥的序列加密方法,其特征在于:基于混沌计算结构实现不同再生密钥位段序列间的错段缠绕并嵌入伪随机bit位缠绕实现前后位段间的错段缠绕的错段叠加加密;
(1)基于混沌计算结构对明文位段、再生密钥位段、密文位段进行同尺度切分;
(1.1)以由位段长度限定值Lmin、Lmax确定的λ,(1/2)Lmin≤λ<(1/2)Lmax,作为位段切分尺度sd;
(1.2)以sd作为错段位差,确定两组数量同为s的再生密钥位段序列间的位差,s≥1;
(2)构造差异的分属于不同切分的两组再生密钥位段序列;
(2.1)建立两组再生密钥位段序列;首再生密钥位段序列组bsk1i,q,次再生密钥位段序列组bsk2i,q,q=1,2,...,si=0,1,2,...其中q为隶属于各组的各再生密钥位段序列的下标,s为各组中再生密钥位段序列数,i为轮序号;
(2.2)各组再生密钥位段序列中的再生密钥位段遵循尺度sd切分:k1fi,q,长度为sd;k1li,q,长度为lsi-sd;k2fi,q,长度为lsi-sd;k2li,q,长度为sd;对明文位段也进行同尺度切分:Mfi,长度为sd;Mli,长度为lsi-sd;
(2.3)为各再生密钥位段序列确定差异的bit取位逻辑、bit代谢逻辑、或者差异的构造源、操控源;
(3)确定2s-1个逐轮以位置链pos_chain(lsi-Lmin,j),j=0,1,...,ls-1实现的伪随机bit位重排逻辑;
(4)基于同尺度切分的嵌入伪随机bit位缠绕的不同再生密钥位段序列的错段叠加加密:
(4.1)使用长度为sd的s个缓冲区存储次再生密钥位段序列组各后半密钥位段k2li,q,q=1,2,...,s;
(4.2)除首轮外,其他轮按下述顺序错段加密:
Figure FDA0003127069800000061
k1fi,q||k1li,q,q=0;
Figure FDA0003127069800000062
i,r,r=r+1;
Figure FDA0003127069800000063
Figure FDA0003127069800000064
k2li-1,q||k2fi,q;q=q+1;
Figure FDA0003127069800000065
i,r;r=r+1;
Figure FDA0003127069800000066
……
Figure FDA0003127069800000067
k1fi,s||k1li,s
Figure FDA0003127069800000068
i,2s-1;
Figure FDA0003127069800000069
Figure FDA00031270698000000610
k2li-1,s||k2fi,s
(5)基于同尺度切分的嵌入伪随机bit位缠绕的不同再生密钥位段序列的错段解密:
(5.1)在开始解密前建立:(1)长度为Lmax的位置链栈stack_chain,用于存储位置链;(2)长度为Lmax-sd的半段栈stack_k2f,用于存储s个次再生密钥位段的前半位段;(3)长度为sd的半段栈stack_k2l,用于存储下一轮错段拼接用的s个次再生密钥位段的后半位段;(4)长度为sd的错段半段栈s_stack_k2l,用于拷贝出前一轮存储在半段栈stack_k2l中的半密钥位段k2li-1,q,以便拼接错段的次再生密钥位段k2li-1,q||k2fi,q;(5)长度为Lmax的整段栈stack_bsk1,用于存储当前轮使用的首再生密钥位段;
(5.2)除首轮外,在各轮解密之初将前一轮压入stack_k2l的全部次再生密钥位段的后半位段k2li-1,q,q=0,1,...,s-1拷贝进s_stack_k2l,并清空stack_k2l;
(5.3)除首轮外,各轮按照加密处理顺序实施s次计算量重构或提取:(1)复重构再生密钥位段bsk1i,q并压入整段栈stack_bsk1,并进行位置链pos_chain(lsi-Lmin)代谢;(2)将位置链pos_chain(lsi-Lmin)压入位置链栈stack_chain并进行位置链pos_chain(lsi-Lmin)代谢;(3)复重构再生密钥位段bsk2i,q,q=0,1,...,s-1并压入半段栈stack_k2f、stack_k2l并进行位置链pos_chain(lsi-Lmin)代谢;(4)除第s次外,将位置链pos_chain(lsi-Lmin)压入位置链栈stack_chain并进行位置链pos_chain(lsi-Lmin)代谢;
(5.4)除首轮外,其他轮按(5.3)的逆序错段解密:
Figure FDA0003127069800000071
k2li-1,q||k2fi,q,q=s;
Figure FDA0003127069800000072
i,r,r=2s-2;r=r-1;
Figure FDA0003127069800000073
k1fi,q||k1li,q,q=s;q=q-1;
……
Figure FDA0003127069800000074
i,r,r=r-1;
Figure FDA0003127069800000075
k2li-1,0||k2fi,0
Figure FDA0003127069800000076
i,0;
Figure FDA0003127069800000077
k1fi,0||k1li,0
(5.5)各轮各次解密中半位段长度使用sd或lsi-sd,略去Lmax_lsi的多余部分。
8.根据权利要求1所述的复重构密钥的序列加密方法,其特征在于:以明文结束符EOP化解由混沌加密进程导致的明文结束位与加密结束位的错位;以明文结束符EOP作为解密计算正确性的效验码;
(1)、在加/解密之初,根据初始动态驱动向量vector0生成明文结束符EOP,及长度为位段长度限定最大值Lmax的追加伪随机串msadditn,将两者追加到明文尾端;
(2)、加密过程中当计算所得位段长度lsi小于未加密明文的长度时停止计算;
(3)、解密完成后以明文结束符EOP判定明文结束位置,并效验解密生成的明文的正确性。
CN202110693421.7A 2020-06-29 2021-06-22 复重构密钥的序列加密方法 Pending CN113472514A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2020106028612 2020-06-29
CN202010602861 2020-06-29

Publications (1)

Publication Number Publication Date
CN113472514A true CN113472514A (zh) 2021-10-01

Family

ID=77869222

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110693421.7A Pending CN113472514A (zh) 2020-06-29 2021-06-22 复重构密钥的序列加密方法

Country Status (7)

Country Link
US (1) US20220038256A1 (zh)
EP (1) EP4160979A4 (zh)
JP (1) JP2023532945A (zh)
CN (1) CN113472514A (zh)
AU (1) AU2021298570B2 (zh)
CA (1) CA3184576A1 (zh)
WO (1) WO2022001885A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118018331B (zh) * 2024-04-09 2024-06-18 江苏琦易数字科技有限公司 一种大数据云服务的隐私保护方法及***

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8767954B2 (en) * 2011-12-01 2014-07-01 Colloid, Llc Methods and systems for deriving a cryptographic framework
CN107196760B (zh) * 2017-04-17 2020-04-14 徐智能 具有可调整性的伴随式随机重构密钥的序列加密方法
CN108377180A (zh) * 2018-03-29 2018-08-07 哈尔滨理工大学 一种基于stm32的无线保密通信***

Also Published As

Publication number Publication date
EP4160979A1 (en) 2023-04-05
AU2021298570A1 (en) 2023-02-09
JP2023532945A (ja) 2023-08-01
EP4160979A4 (en) 2024-07-17
AU2021298570B2 (en) 2024-05-02
US20220038256A1 (en) 2022-02-03
CA3184576A1 (en) 2022-01-06
WO2022001885A1 (zh) 2022-01-06

Similar Documents

Publication Publication Date Title
JP2003535377A (ja) 疑似乱数発生器
US10855458B2 (en) Sequence encryption method accompanying adjustable random reconfiguration of key
TWI485992B (zh) 猛禽碼之編碼加速裝置與方法
TW201118555A (en) Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
EP3698513A1 (en) Cryptographic device with updatable shared matrix
JP2005535190A5 (zh)
US6772343B1 (en) Data processor, communication system and recording medium
CN115659409B (zh) 一种金融资产交易数据安全存储方法
MXPA05005358A (es) Metodo para generar una cifra de corriente usando multiples claves.
JP2003535378A (ja) ビット単位の論理演算を使用した並列モジュロ演算
CN113472514A (zh) 复重构密钥的序列加密方法
CN109274484A (zh) 一种对数据进行保密增强的方法及量子密钥分发终端
US20020114451A1 (en) Variable width block cipher
CN116545771A (zh) 一种智能驾驶***测试数据的智能存储方法及***
Perriello et al. A complete quantum circuit to solve the information set decoding problem
CA2413381A1 (en) A method of protecting a cryptosystem from a multiple transmission attack
EP1287641B1 (en) A method of validating an encrypted message
EP1287638B1 (en) Decoding of cipher polynomials
AU2001260451A1 (en) End of message markers
US8611533B2 (en) Method and system for the Orange family of stream ciphers and method and system for generating stream ciphers based on the ERINDALE-PLUS hashing function
KR101984297B1 (ko) 메시지 인코딩 방법, 메시지 암호화 방법 및 장치
WO2011140368A1 (en) Hybrid mode cryptographic method and system with message authentication
Sakshaug Security analysis of the NTRUEncrypt public key encryption scheme
CN117155538A (zh) 基于Polar码和多样性DNA联合编码的加密方法
Andreeva et al. AES-COBRA v1

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination