CN101610088B - 基于具有安全特性的压缩技术来编码数据的系统和方法 - Google Patents

基于具有安全特性的压缩技术来编码数据的系统和方法 Download PDF

Info

Publication number
CN101610088B
CN101610088B CN200910203696.7A CN200910203696A CN101610088B CN 101610088 B CN101610088 B CN 101610088B CN 200910203696 A CN200910203696 A CN 200910203696A CN 101610088 B CN101610088 B CN 101610088B
Authority
CN
China
Prior art keywords
dictionary
random
row
character string
carried out
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.)
Expired - Fee Related
Application number
CN200910203696.7A
Other languages
English (en)
Other versions
CN101610088A (zh
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.)
Hong Kong University of Science and Technology HKUST
Original Assignee
Hong Kong University of Science and Technology HKUST
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 Hong Kong University of Science and Technology HKUST filed Critical Hong Kong University of Science and Technology HKUST
Publication of CN101610088A publication Critical patent/CN101610088A/zh
Application granted granted Critical
Publication of CN101610088B publication Critical patent/CN101610088B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3088Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/30Compression, e.g. Merkle-Damgard construction

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本文描述的是一种有效的加密方法和系统,该方法和系统具有改进的基于随机性的安全特性。该方法和系统采用随机字典插入和随机字典排列、以及由流密码器所产生的密钥流。安全性分析结果显示,与现有的编码方法相比,该方法和系统提供了更高级别的安全性,而没有引入任何编码效率的损失。

Description

基于具有安全特性的压缩技术来编码数据的系统和方法
对相关申请的交叉引用
本专利申请要求于2008年6月17日提交的美国临时专利申请
No.61/129,298的优先权,通过引用将其整体并入本文。
技术领域
本发明通常涉及数据编码和加密,尤其是涉及Lempel-Ziv-Welch数据压缩。
背景技术
Ziv和Lempel在1977和1978年的他们的具有里程碑意义的分别被称为LZ77和LZ78的论文中提出了两种通用的无损数据压缩算法。从那以后,已经提出了很多的变型,例如Lempel-Ziv-Welch(LZW)、Lempel-Ziv-Storer-Szymanski(LZSS)以及Lempel-Ziv-Ross(LZR)。在最初的LZ78的这些变型中,Welch于1984年所设计的LZW可能是最著名和最流行的变型。已经采用了这种变型用于很多系统和标准中,并作为一种选择用于TIFF图像和PDF格式文档中,这些系统和标准包括UNIX系统、图形互换格式(GIF)标准、V.42位调制解调器标准。
一种保护由LZW算法所产生的位流的简单方法是采用流密码对其进行加密,即,对LZW位流和密钥流进行异或(XOR)运算。但是,
这种机制极易受到选择明文攻击。特别地,攻击者可以对源符号序列S进行编码并获得压缩的和加密的位流Y。由于LZW算法是公知的,攻击者可以很容易地确定LZW编码器所产生的中间位流X。因此,通过进行 K = X ⊕ Y | 运算(其中
Figure G2009102036967D00012
是XOR运算符),可以容易地恢复密钥流。可替换地,可以采用诸如在高级加密标准(AES)中定义的密码之类的分组密码对由LZW算法所产生的位流进行加密。实际上,这种加密机制提供了非常高的安全性能。但是,分组密码的一个重要缺陷是,由于分组密码通常涉及几个查表操作的循环、XOR操作以及混合操作,与流密码相比,它是复杂的且计算速度缓慢。另外,由于在大多数多媒体应用中,所需要的安全级别远低于军事应用中的安全级别,不需要采用AES以较低的运算速度为代价来实现这么高的安全性。
有一些利用LZW算法其自身来实现高安全性能的现存系统和方法。例如,Xie et al.“Secure Lempel Ziv Compression with EmbeddedEncryption,”Proc.SPIE,vol.5681,pp.318-327,2005描述了一种基于LZ78方法的加密机制。其基本思想是用不同的条目顺序建立多个字典,并接着在每个压缩步骤中选择随机字典。但是,这些现有的方法仍然容易受到大量的攻击(如选择明码攻击)。
发明内容
本文描述的是在多媒体应用中基于数据压缩技术进行数据加密的系统和方法,具有三个要求:(1)没有编码效率损失;(2)高安全性;(3)加密成本应当大致等于采用其后接流密码器的标准LZW的方案的加密成本。
根据一些实施例,该系统包括低成本的改进的LZW模块和流密码器,所述LZW模块采用随机字典插入和随机字典排列。这种低成本的改进的LZW的一个非常期望的属性是可以很容易地将随机字典插入与散列算法合并在一起,这种散列算法已经广泛地用于实际LZW实现中来加速字典中的字符串比较。密码分析结果显示,在不影响编码效率的情况下,该系统可以提供令人满意的安全级别。
根据其他的一些实施例,提供了一种用于采用基于字典的压缩技术对数据进行编码的方法。这种方法包括:(1)接收源符号序列,(2)根据随机插入采用源字符表对字典进行初始化,以及(3)根据基于字典的压缩技术对源符号序列进行编码。所述源符号表包括多个字符且所述字典具有多个条目。所述源符号序列包括至少第一和第二符号。
在字典的初始化过程中,多个字符中的每一个均被分配至多个条目中的一个。
在编码过程中,根据随机插入和随机排列对字典进一步更新。
对源符号序列进行编码的步骤还包括将第一字符添加到一个字符串,并在字典中搜索具有第一符号的该字符串。另外,编码步骤还包括确定该字典具有对具有第一符号的字符串的匹配,并将第二符号添加到具有第一符号的字符串。
可替换地,如果该字典不具有对具有第一符号的字符串的匹配,该方法还包括确定没有第一符号的字符串的字典索引,在字典中随机地选择一个空条目来存储具有第一符号的字符串,并将字符串初始化为第一符号。基于具有私有密钥的键控散列函数来选择空条目。
在另一个实施例中,该编码步骤包括将字典布置成具有多个列和多个行的二维矩阵,在所述多个列上执行列排列,并在所述多个行上执行行排列。行排列包括对多个列中的每一个以及多个行中的每一个进行循环移位。特别地,用第一随机偏移量对每一个偶数列进行循环移位,用第二随机偏移量对每一个奇数列进行循环移位,用第三随机偏移量对每一个偶数行进行循环移位,用第四随机偏移量对每一个奇数行进行循环移位。
在又一个实施例中,该方法包括通过组合已编码的符号序列和流密码器所产生的密钥流来产生编码数据流。
在另外一些实施例中,压缩技术是Lempel-Ziv-Welch压缩、Lempel-Ziv-Storer-Szymanski压缩和Lempel-Ziv-Ross压缩中的一种。
根据其他一些实施例,提供了一种计算机可读媒介,其上具有存储的计算机代码。该计算机代码包括计算机可执行指令,当这些可执行指令被一个或多个数字处理器执行时,提供采用基于字典的压缩技术的数据编码。该计算机代码包括接收源符号序列的指令、根据随机插入采用源字符表初始化字典的指令、根据压缩技术对该源符号序列进行编码的指令、以及在编码过程中根据随机插入和随机字典排列对字典进行更新的指令。
在另一个实施例中,源符号序列包括多个符号。而且计算机代码还包括将第一符号添加到字符串的指令、确定字典不具有与具有第一符号的字符串相匹配的条目、确定不具有第一符号的字符串的字典索引的指令、在字典中随机选择空条目来存储具有第一符号的字符串的指令、以及将字符串初始化为第一符号的指令。
根据本发明的其他一些实施例,提供了一种用来采用具有多个条目的字典对源符号序列进行编码的方法。该源符号序列包括多个符号。该方法包括执行下列步骤,直到该源符号序列被用尽为止:(1)将字符串初始化为源符号序列的一个符号,(2)在字典中搜索与该字符串匹配的最长条目,(3)执行(a)-(b),直到在字典中不能找到对该字符串的匹配:(a)确定字典具有与字符串相匹配的最长条目和与字符串相匹配的最长条目的字典索引,(b)将来自源符号序列的另一个符号插入字符串。该方法还包括存储该字典索引、随机地选择字典中的条目来存储不具有另一个符号的字符串、以及执行随机字典排列。
在一个实施例中,执行随机字典排列的步骤还包括将字典布置成具有多个列和多个行的二维矩阵,并对所述的多个列和多个行执行随机字典排列。特别地,该方法包括:用第一随机偏移量对所述多个列的至少一个奇数列进行循环移位,用第二随机偏移量对所述多个列的至少一个偶数列进行循环移位,用第三随机偏移量对所述多个行的至少一个奇数行进行循环移位,用第四随机偏移量对所述多个行的至少一个偶数行进行循环移位。
在另一个实施例中,该方法还包括产生用于随机插入和随机字典排列的密钥流。基于具有与该密钥流的一部分相关联的秘密密钥的散列函数,选择用于存储不具有另一个符号的字符串的条目。
在又一个实施例中,该方法还包括产生表示源符号序列的字典索引流、按照异或运算将字典索引流与密钥流组合起来,产生编码数据流,并输出已编码的数据流。
附图说明
图1是我们所提出的机制的示意图;
图2是(a)在排列之前、(b)在列排列之后以及(c)在列和行排列之后的字典排列的示例;
图3是用以实现图1中的编码方法和系统的计算系统的视图;
图4描述了具有用于实现所述编码方法的多个部件的计算装置的示意图;
图5描述了采用基于字典的压缩技术对符号序列进行编码的方法的一个实施例的示意图;
图6(a)示出了明文形式的源符号序列的一个示例,且图6(b)示出了采用标准LZW技术对源符号序列进行解码的结果,所述源符号序列是基于本文所述的方法进行编码的。
具体实施方式
根据一些实施例,在图1中示出了用于采用压缩技术执行数据加密的系统100的示意图。该压缩技术可以是任何采用字典的技术,如Lempel-Ziv-Welch(LZW)压缩、Lempel-Ziv-Storer-Szymanski(LZSS)压缩以及Lempel-Ziv-Ross(LZR)压缩。为了便于讨论,在图中示出了改进的LZW压缩。但是,本文所描述的发明不局限于LZW压缩,且本领域技术人员在阅读本说明书之后,可以将本发明修改为采用字典的其他压缩方法。
根据图1中所示的实施例,改进的LZW压缩具有一些安全特性,将在下文进一步描述。特别地,系统100包括两个基本部件:用于产生密码流的密钥调度器102,以及用于执行LZW编码的改进的LZW模块104。在另外一些实施例中,该系统可以包括如图1中所示的XOR运算符106,用于基于密钥调度器102所产生的密钥流,采用流密码对LZW数据流进行进一步加密。
与现有的基于LZW的编码技术不同,本文所述的LZW压缩采用随机字典插入以及随机字典排列来获得改进的针对各种攻击类型(如纯密文攻击、已知明文攻击、选择明文攻击和选择密文攻击)的安全性。如图1所示,改进的LZW模块104采用密钥调度器102所产生的密钥流的部分来对源符号序列S执行安全压缩。接着由XOR运算符106对改进的LZW模块104所产生的位流X和密钥调度器102所产生的保留密钥流执行XOR运算,来形成最后的加密输出B。下文将描述基于改进的LZW压缩而提供数据加密的系统和方法的细节。在下文的描述中,假定i表示正整数,且(i)2 b表示具有长度b的i的二进制表示。
具有随机插入和随机字典排列的改进的LZW
假定源字符表为A={a1,a2,...,aN},其中N是源字符表A的字符数。假定要被编码的输入源符号序列是S={s1,s2,...sM},其中M是源序列S中的符号数。为了便于讨论,采用b=12的位数来表示每个字典索引,即,字典的大小为2b=4096。当然,在阅读本说明书之后,b的其他选择对于本领域技术人员也是可行并显而易见的。下文将说明该编码过程。
根据图4所示的实施例,在接收到要被编码的输入符号序列S之后(步骤402),采用源字符表对字典进行初始化(步骤404)。特别地,构建具有2b个空条目的字典,从其中随机地选择N个条目来存储源字符表A的字符ai(1≤i≤N)。换句话说,源字符表A的每个字符ai随机插入或填充在字典中。
这个过程与传统的LZW压缩不同,在传统LZW压缩中,源字符表A的字符ai(1≤i≤N)被分配给该字典的第一个N个条目。传统LZW方法的一个缺点是第一个b-[log2N]个位被固定为零。攻击者可以采用这个信息来恢复密钥流的部分,从而使编码的数据特别容易受到攻击。相反,根据本文所描述的实施例,由于是基于随机插入对字典进行初始化,攻击者很难恢复密钥流。
在对字典进行初始化之后,采用改进的LZW方法来对源符号序列S进行编码(步骤406),其中根据每个迭代中的随机插入对LZW机制的字典进行更新。特别地,来自符号序列S的源符号sj(1≤j≤M)被输入,并在字符串I中一个接一个地累加。在每个字符被输入并被连结到字符串I之后,对字典进行搜索来查找字符串I的匹配。只要在字典中找到字符串I的匹配,就继续连结和搜索过程。
在某一点,将来自符号序列S的下一个符号x添加到字符串I,使得搜索第一次失败,即,在添加符号x之前找到对字符串I的匹配,而在添加符号x之后没有找到对字符串Ix的匹配。接着执行后续的步骤。特别地,确定指向添加x之前的字符串I的匹配的字典索引。如上文所述,该字典索引由b个二进制位所表示。接着,从字典中随机选择一个空条目来存储添加x之后的字符串Ix的副本。基于以字符串Ix为输入的密钥散列函数,对空条目进行随机选择。在将字符串Ix的副本存入字典之后,将字符串I初始化为符号x。
根据一个实施例,根据字符串自身采用公共散列函数所形成的地址,将新字符串Ix存储在字典中的位置中。这种策略极大地提升了字典搜索的速度。可替换地,采用具有秘密密钥的私有散列函数来确定用于存储字符串Ix的地址。换句话说,用秘密密钥来取代该散列函数的一些参数,使得在没有这些秘密密钥的情况下,该散列函数的输出是不可预知的。
根据本发明的另一个实施例,在将字符串Ix存储到字典中之后,如下对更新的字典执行随机排列。
首先,将字典布置成具有2b/2个列和2b/2个行的二维矩阵。两个索引集合被定义为G1={1,3,...,2b/2-1}和G2={2,4,...,2b/2}。因此,首先对这个二维矩阵执行循环的列排列,用偏移量c1对那些具有索引m∈G1的列进行循环移位,其中c1是一个随机数且0≤c1≤2b/2-1。用偏移量c2对那些具有索引m∈G2的列进行循环移位,其中c2是另一个随机数且0≤c2≤2b/2-1。类似地,分别用偏移量r1和r2对二维矩阵的奇数行和偶数行采用循环的行排列。图2描述了用参数b=4,c1=2,c2=3,r1=1和r2=2进行随机字典排列的示例。图2(a)示出了排列之前的二维字典,图2(b)示出了列排列之后的二维字典,且图2(c)示出了列和行排列之后的二维字典。
重复上述的搜索、存储、初始化和排列步骤,直到源符号序列S中的所有符号都被编码。
根据一些实施例,在不采用随机字典排列的情况下可以执行上述的基于改进的LZW压缩的数据编码和加密方法。
根据如图5所示的另一个实施例,提供了方法500,用来采用具有多个与上述条目相似的条目的字典来对源符号序列进行编码,其中该源符号序列包括多个符号。如图5所示,方法500包括下列步骤。在步骤502,将一个字符串初始化为来自符号序列的多个符号中的一个。在步骤504和508,方法500执行字典搜索来确定是否存在具有最长长度的匹配字符串的条目。如果发现了这种匹配,方法500接着前进到确定匹配字符串的最长条目的字典索引(步骤510),并将来自源符号序列的另一个符号添加到该字符串(步骤506)。执行步骤504-510,直到没有该字符串的匹配被发现。方法500接着前进到存储在步骤510中所确定的最近的字典索引(步骤512),随机地选择字典中的条目来存储最近的字符串(步骤514),并对更新的字典执行随机的字典排列(步骤516)。如果方法500确定源符号序列中的所有符号都已经被编码(步骤518),那么,其接着前进到输出编码的符号序列。根据上述的各个实施例,编码的符号序列包括一系列的字典索引。
密钥调度器
密钥调度器102的作用是产生用于改进的LZW和XOR运算的必要的密钥流。根据一个实施例,流密码(如本领域所公知的RC4)用于这个目的。RC4密码的一个优点是在密钥流产生中所涉及的软件和硬件的复杂度非常低。可替换地,在阅读本说明书之后本领域技术人员很容易理解,还可以采用如密码块链接模式(Cipher BlockChaining mode)中的数据加密标准密码(Data Encryption Standardcipher)和高效替代转换密码(Very Efficient SubstitutionTransposition)之类的其他流密码。
实现该数据加密方法的计算机系统
图3示出了其中可以实现本发明的合适的硬件系统300的示例。该硬件系统300只是合适的操作环境的一个示例,并不意味着对本发明的使用范围或功能的任何限制。适于与本发明一起使用的其他已知的计算系统、环境和/或配置包括但不限于个人计算机、服务器、手持或膝上装置、多处理器系统、基于微处理器的系统、可编程电子器件、网络PC、小型计算机、大型计算机、包括任何上述系统或装置的分布式计算环境等。
参照图3,用于实现本发明的示例系统300包括计算装置(如装置110)。在其最基本的配置中,装置110通常包括处理单元120和系统存储器130。根据计算装置的精确配置和类型,系统存储器130可包括易失性存储器(例如RAM 132)、非易失性存储器(例如ROM 131)或二者的组合。另外,系统300还可以具有海量存储单元,该海量存储单元包括不可拆除的存储器141(如硬盘)和/或可拆除存储器(如通常的软盘152或光盘(CD/DVD)156或闪存存储器装置)。类似地,系统100还可以具有输入装置(如鼠标161、键盘162),和/或输出装置(如显示单元191、打印机196和扬声器197)。系统100的其他方面还包括采用有线或无线媒介到其他装置、计算机、网络、服务器等的网络连接。例如,系统100还可以包括用于通过广域网(WAN)173和/或局域网(LAN)171与远程计算机180进行通信的调制解调器172和网络接口170。另外,装置110还包括系统总线121,该系统总线121电学上连接至处理单元120、各种存储器模块、输入/输出装置以及上述的其他功能部件。因此,处理单元120可以从/向系统存储器130直接读取/写入数据。它还可以通过各种接口(如存储器接口140和150、用户输入接口160、网络接口170、视频接口190以及输出外围接口195)与各种输入/输出装置以及网络装置交换数据。所有这些装置都是本领域公知的装置,在这里不需要对其进行长篇讨论。
可以将上述的编码方法实现为在类似于装置110的通用数字处理器上运行的软件程序。特别地,用于实现该编码方法的软件程序可以包括用于指示装置110的各个部件执行上述方法步骤的程序代码。例如,这些程序代码可以包括提供密钥调度器102、改进的LZW模块104以及XOR运算符106的功能的功能模块。可替换地,该软件程序可以包括分离的程序,单独地执行每一个程序用于提供密钥调度器102、改进的LZW104和XOR运算符106的功能。无论该软件程序的结构如何,这些程序代码通常包括用于接收包括源符号序列和其他编码参数的输入数据的指令、用于初始化字典的指令、用于根据上述改进的LZW对符号序列进行编码的指令。更具体地,用于指示装置110执行改进的LZW的程序代码还包括用于对字典进行搜索来查找字符串I的匹配的指令、通过随机插入和随机排列的方式更新字典的指令、以及确定字符串I的字典索引的指令。
采用标准编程语言(如C/C++、C#、Java以及Basic)可以实现该软件程序。可替换地,可以在商业计算机平台(如Matlab)中实现。该软件程序可以是独立于装置110上运行的其他程序的可以由装置110所执行的独立的程序,或者它还可以是嵌入在其他程序中或操作系统中用来提供数据编码和加密的程序。例如,它可以嵌入到UNIX操作系统或Adobe文档处理程序中,来提供其中的数据压缩和加密。用以实现编码系统100的软件程序可以位于不可拆除的存储器141或可拆除存储器(如软盘152或CD/DVD 156)上。一旦启动系统300或者通过鼠标161或键盘162接收用于执行该软件程序的输入时,可以将该程序代码加载到与系统存储器130中的应用程序相关的存储器空间135中。
另一方面,装置110可通过各种装置接收要被编码的数据(如图1中的源符号序列S)。例如,可以将数据存储到不可拆除的存储器141中,并加载到与系统存储器130中的程序数据相关的存储器空间137中。可替换地,可以将要被编码的数据存储在软盘152或CD/DVD 156上,并通过存储器接口150和盘阅读器151或155将其读入存储器空间137。还可替换地,用户通过键盘162或通过网络接口170从远程计算机180输入要被编码的数据。根据另一个实施例,可以由各种格式的输入数据产生源符号序列S。例如,输入数据可以是ASCII文本格式、Microsoft Word格式、HTML格式、XML格式、PDF格式或其它合适的专用格式。
当接收到用以执行编码过程的另一个指令时,从存储器空间135中读出并由处理单元120解释包括这些指令的程序代码。这些程序代码可以指示处理单元120来加载以之前接收并存储在存储空间137中的数据,并根据本文所述的方法对这些数据进行处理。在编码过程中,可以将中间数据和包括密钥流、位流X和字典的编码参数存储在与程序数据相关的存储器空间137中,或者存储在处理单元120的内部寄存器中。当完成编码时,可将已编码的数据流B存储在存储空间137中,用于后续的处理,或者被其他的程序所利用。可替换地,可以将已编码的数据流B输出到不可拆除的存储器141或可拆除的存储器(包括软盘152和CD/DVD 156)中来进行存储。还可以通过LAN171上的网络接口170或WAN 173上的调制解调器172将其发送到远程计算机180上。还可替换地,可以在现实装置191上显示已编码的数据流B。可以将其嵌入到其他未编码的数据中,以使已编码的数据流B与内容已被编码且访问这些内容需要得到授权的表示一起被显示为无意义的文本。
根据其他一些实施例,还可以在形式为插入到通用计算机系统中的计算机卡的专有软件/硬件系统上实现本文所述的编码方法和系统。可替换地,可以在现场可编程门阵列(FPGA)或专用集成电路(ASIC)中实现。
根据如图4所示的一些实施例,提供计算装置400来执行上文所述的编码方法的各种实施例。特别地,如图4所示,计算装置400包括用以接收输入的源符号序列的接收模块402、用于对编码过程中所采用的字典进行初始化的字典初始化装置404以及用来基于该字典对输入的符号序列进行编码的编码器406。
根据另外一些实施例,接收模块402可以包括图1所示的各种接口和存储器装置,例如不可拆除的存储器接口140与存储器141、可拆除存储器接口150与软盘152和CD/DVD 156、用户输入接口160与键盘162和调制解调器172以及网络接口170。接收模块402还可以包括其中存储了用于后续编码的源符号序列的系统存储器130。例如,可以将符号序列存储在与程序数据相关的存储空间137中,之后可以将所述程序数据读取并加载到处理单元120中。
参照图4,通过采用用于执行初始化过程的程序代码,可以在数字处理器上实现用于对字典进行初始化的字典初始化装置404。例如,可以采用处理单元120来执行一组用于执行字典的初始化过程的程序代码。特别地,可以将这组程序代码存储在与应用程序相关的存储空间135中,并读入存储单元120用于执行。
对于图4所示的编码器406,还可以在与实现了初始化装置404的处理器不同的数字处理器上或在如处理单元120同一个数字处理器上实现。特别地,用于执行编码器406的程序代码组可以被读入并存储在存储空间135中,接着由处理单元120连续地读取并加载用于对源符号序列进行编码。
可以从系统存储器中逐个读出要被编码的源符号序列的符号,并将其存储在处理单元120的内部寄存器中。另外,还可以将字典存储在存储空间137中,并将其加载到处理单元120中以用于执行编码步骤(例如字典搜索、随机插入和字典排列)。可以将在每个编码迭代更新后的字典重新存回到存储器空间137中或存储在处理单元120的内部寄存器中。此外,处理单元120可以根据用于执行编码的程序代码来执行对字典的附加操作。例如,处理单元120可以采用内部指针或存储器地址对字典中的每个条目进行检索。可以安排这些指针和存储器地址,使得由具有多个行和多个列的二维矩阵来表示字典。处理单元120还可以根据程序代码的指令来识别每个偶数或奇数列以及每个偶数或奇数行,接着如根据该编码方法的各种实施例的描述,对这些行和列的每一个执行循环移位。
安全分析
在一些已知攻击的情况下,分析由上述各种实施例所提供的安全性,并将显示这些实施例比基于传统的LZW压缩的编码策略能更安全地对抗这些攻击。根据攻击者可以访问的信息,通常将攻击分成几种类型,包括:(1)纯密文攻击,(2)已知明文攻击,(3)选择明文攻击和(4)选择密文攻击。对于攻击模式(4),攻击通常依赖于安全性分析,所述安全性分析高度依赖于解码器中的误差纠正。在选择密文攻击的情况下,攻击者不能访问本文所述的编码机制的信息。因此,本文所述的加密和编码机制在选择密文攻击下是安全的。关于攻击模式(2)(已知明文攻击),对于本领域技术人员而言,很明显它是攻击模式(3)(选择明文攻击)的弱化版本。因此,为了防止已知明文攻击,系统在选择明文攻击下是足够安全的。出于这些原因,本领域技术人员将意识到,在分析上述方法和系统的安全性能时,讨论攻击模式(1)和(3)就足够了。
纯密文攻击
在这种攻击情形下,攻击者只能访问加密位流,并希望找到系统中所采用的密钥。由于攻击者可用的信息非常有限,非常普通的攻击是复杂性涉及到密钥空间的强力攻击。
根据上述实施例,只有私有信息是密钥调度器102中所采用的密钥,该密钥的长度是128位。因此,密钥空间是2128,这保证了令人满意的安全级别。
可替换地,攻击者可能希望恢复在改进的LZW 104和OXR运算符106中所采用的密钥流。但是,可以显示出这个任务甚至比仅采用强力攻击来找到密钥调度器102中的密钥更加困难。为了便于讨论,只考虑随机字典插入。由于可以将字符ai(1≤i≤N)分配给2b大小的字典中的任意条目,随机字典初始化和随机字典插入的密钥空间将是2b!。在b=12的情况下,密钥空间将是4096!级别的,这是难以置信地大,且即使采用当今的计算能力进行攻击也是极度困难的。因此,攻击者宁愿采用具有复杂度为2128的强力攻击来找到密钥调度器中所采用的密钥,这已经被证实是极度困难的。
因此,针对纯密文攻击本文所述的数据编码方法是安全的。
选择明文攻击
在这种攻击情形下,允许攻击者向编码器输入几个源符号序列,并得到相应的位流。
如上所述,在不采用随机字典排列的情况下,可以执行基于改进的LZW压缩的数据编码和加密方法。但是,如下文所示,这并是一个容易受到选择明文攻击的非优选的实施例。
特别地,对于输入源符号序列S={s1,s2,...sM},给定对应的位流为B=B1B2...BL,其中Bi的长度为b位,且L是由改进的LZW所产生的索引的数量。假定与初始字典中的符号s1相关的索引是i1,那么
( i 1 ) 2 b ⊕ K 1 = B 1 , - - - ( 1 )
其中K1是XOR运算符106中所采用的密钥流中的第一个b个位。
如果攻击者采用强力攻击来破解具有2b=4096复杂度的K1,那么攻击者可以对一系列的源符号序列Xj={sj,x2,...xM}(1≤j≤N)进行编码,其中xm∈A(2≤m≤M)是任意符号。由于K1是通过强力攻击已知的,攻击者可以接着确定与初始字典中的符号sj相关的所有索引。应当注意的是,在不进行随机字典排列的情况下,由于新的字符串Ix的随机插入将不会影响已经填充进字典的条目,与符号sj相关的索引不会随时间改变。因此,为了恢复K2,攻击者可以类似地对另一个符号序列X={sj,sj,x3,..xL}进行编码。假定sj的索引是ij,那么,
( i j ) 2 b ⊕ K 2 = B 2 . - - - ( 2 )
由于采用强力攻击已经知道了(ij)2 b,而且B2是公知的,攻击者可以唯一地确定K2。类似地,攻击者可以恢复所有后续的Km。在确定XOR运算符106中所采用的整体密钥流K之后,恢复改进的LZW104中所采用的密钥流就很简单了。因此,针对这个没有采用随机字典排列的实施例的攻击的复杂度是2b=4096量级的,在当今的计算能力下这是完全可以接受的。
因此,采用随机字典插入和随机字典排列的编码是一种更优选的实施例。如下文所示,该实施例提供了一种比没有采用随机字典排列情况下在选择明文攻击下更加严密的安全性。
特别地,在对采用了随机字典插入和随机字典排列的实施例的攻击尝试中,攻击者还可以采用等式(1)所示的关系和强力攻击来找到K1。但是,与上文一些实施例中所述相同,在每个编码步骤之后,通过将每个条目移动到随机位置的循环的列排列和行排列来进一步更新该字典。如果对符号序列X={sj,sj,x3,...xL}进行编码,并将随机排列应用于该字典,那么,
( i ′ j ) 2 b ⊕ K 2 = B 2 | , - - - ( 3 )
其中i′j是sj在行和列排列后的新索引且K2是K的第二个b个位。由于排列偏移量是随机数,因此攻击者对解方程(3)为之。因此,攻击者不得不采用强力攻击来确定K2或i′j。由于行排列偏移量和列排列偏移量均位于[0,2b/2-1]范围内,采用强力攻击找到i′j的复杂度是22b,其中奇数列和偶数列的偏移量是不同的,且奇数行和偶数行的偏移量也是不同的。由于破解K2的复杂度是2b,比22b小,攻击者愿意瞄准K2。应该注意,在这个实施例中对奇数和偶数列以及奇数和偶数行进行不同的处理,因为这有助于破坏条目的局部依赖性。换句话说,在几次循环排列之后,彼此接近的两个条目被迅速地隔离远离彼此。这使得攻击者难以利用条目的相对位置信息来设计潜在的攻击。
如上所述,攻击者不得不采用强力攻击来找到K的随后发生的位。在确定K之后,恢复随机插入中所采用的随机数以及字典排列中所采用的排列偏移量是很简单的。因此,这种选择明文攻击的复杂度是2bL量级的,其中L是由改进的LZW 104所产生的索引数。当L比很大时,攻击者将宁愿采用强力攻击来找到密钥调度器102中所采用的密钥,已经示出其具有2b!的复杂度,并因此难以攻击。因此,采用随机插入和随机排列的实施例确保了相应编码的数据针对选择明文攻击是安全的。
编码效率
由于采用固定的b个位对每个字典索引进行编码,最终压缩和加密的文件的大小等于bL,其中L是索引数量。可以很容易地看出,随机插入和随机字典排列只改变了索引的分布,但是没有影响索引的数量。当然,XOR运算符106不会增大最终位流的长度。因此,可以发现最终的位流与由标准LZW所产生的位流具有相同的大小。换句话说,没有编码效率的损失。
实验结果
下文所描述的是说明该编码方法和系统的有效性的示例。采用作为最常用的软件流密码的流密码RC4来实现密钥调度器102。128位16进制密钥是9F7AC6DC。改进的LZW 104采用了由RC4所产生的密钥流来在字典上执行随机插入和随机字典排列。由RC4密码所产生的密钥流还可以用于XOR级106,通过对来自改进的LZW 104的位流进行编码来产生最终的位流。
图6(a)示出了要被编码和加密的一段ASCII字符。当然,如果将图1所示的系统100所产生的位流B输入到授权的采用具有正确密钥的适当编码策略的解码器,已解码的符号序列与图6(a)所示的原始序列完全相同。但是,如果将系统100所编码的位流B输入到标准的LZW解码器,解码的符号序列如图6(b)所示,是完全无意义的序列。应该注意,标准LZW解码器由于不同的实现而有一些差异。例如,考虑ASCII字符表,如果第一个索引大于255,一些实现只是声明一个严重错误,而不输出任何的符号序列。根据一些实施例,在这种情况下解码器仍然继续解码。可以注意到,在采用标准LZW解码的符号序列中,有很多的重复符号。这是因为在标准LZW中如果索引所指的条目为空,该解码器将输出与第一符号连接的最后的解码符号串。M.Nelson,“LZW Data Compression,”http://marknelson.us/1989/10/01/lzw-d atacompression/有关于标准LZW的更多细节。
虽然在本文中公开了发明的注入-增强注入-锁定分频器的一些示例实施例,这不意味着对本发明范围的必然限制。因此,不脱离权利要求的原理或范围的简单改进或变型仍然处于本发明的范围内。
所有本文引用的参考,包括出版物、专利申请以及专利,均通过引用合并到与单独地且专门地将每个参考通过引用合并而且在这里以全文阐述的相同的范围。
在描述本发明的上下文中(特别是如下权利要求的上下文中)将所采用的术语“一个”、“一种”和“这种”以及类似的指示对象解释为涵盖单数和复数,除非在本文中另行说明或与上下文的内容明确地出现了抵触。将术语“包含”“具有”“包括”以及“含有”解释为开放性术语(如意思是“包括但不限于”),除非另行说明。本文所述的值的范围仅仅用来作为对落在范围内的每个分离值单独引用的速记方法,除非在文中另行说明,且如果每个分离值在本文中被单独引用,将该值均合并到本说明书中。可以以任何合适的顺序执行本文所述的所有方法,除非在文中另行说明,或者与上下文的内容明确地出现了抵触。本文提供的所采用的任何示例和所有示例或示例语言(例如“如”)仅仅是为了更好地说明本发明,而不是要对本发明的范围提出限制,除非另行声明。说明书中的任何语言都不解释为表示本发明的实践要素的任何非声明元素。
本文对本发明的优选实施例进行了说明,包括发明人所知的用于执行本发明的最佳模式。本领域技术人员在阅读前述说明书之后,各种优选实施例的变型将变得很明显。发明人希望技术人员以合适的方式采用这些变型,且发明人希望可以以本说明书中没有明确说明的方式来实践本发明。因此,本发明包括所附的权利要求所列举的主题的所有变型和等价,这是适用的法律所允许的。此外,本发明包含上述元素所有可能的变型的任何组合,除非在文中另行说明,或者与上下文的内容明确地出现了抵触。

Claims (20)

1.一种采用基于字典的压缩技术对数据进行编码的方法,该方法包括:
接收源符号序列;
根据随机插入采用源字符表对所述字典进行初始化;以及
根据基于字典的压缩技术对所述源符号序列进行编码,其中根据编码过程中的随机插入和随机排列更新字典。
2.根据权利要求1所述的方法,其中所述源字符表包括多个字符,所述字典包括多个条目,
对所述字典进行初始化的步骤还包括将所述多个字符中的每一个随机地分配给所述多个条目中的一个。
3.根据权利要求1所述的方法,其中所述源符号序列至少包括第一字符,对源符号序列进行编码的步骤还包括:
将所述第一符号添加到字符串;以及
在字典中搜索具有所述第一符号的字符串。
4.根据权利要求3所述的方法,所述源符号序列还包括第二符号,对所述源符号序列进行编码的步骤还包括:
确定字典中存在对具有第一符号的字符串的匹配;以及
将第二符号添加到具有第一符号的字符串。
5.根据权利要求3所述的方法,对所述源符号序列进行编码的步骤还包括:
确定字典中不存在对具有第一符号的字符串的匹配;
确定不具有第一符号的字符串的字典索引;
在字典中随机选择一个空条目,用来存储具有第一符号的字符串;以及
将所述字符串初始化为第一符号。
6.根据权利要求5所述的方法,在字典中随机选择一个空条目来存储具有第一符号的字符串的步骤还包括:
基于具有私有密钥的键控散列函数来选择所述空条目。
7.根据权利要求1所述的方法,还包括:
将字典布置成具有多个列和多个行的二维矩阵;
对所述的多个列执行列排列;以及
对所述的多个行执行行排列。
8.根据权利要求7所述的方法,还包括对所述多个列中的每一列进行循环移位。
9.根据权利要求8所述的方法,其中用第一随机偏移量对每一个偶数列进行循环移位,并用第二随机偏移量对每一个奇数列进行循环移位。
10.根据权利要求7所述的方法,还包括对所述多个行中的每一行进行循环移位。
11.根据权利要求8所述的方法,其中用第三随机偏移量对每一个偶数行进行循环移位,并用第四随机偏移量对每一个奇数行进行循环移位。
12.根据权利要求1所述的方法,还包括通过组合已编码的源符号序列与流密码器所产生的密钥流,来产生编码数据流。
13.根据权利要求1所述的方法,其中所述压缩技术是Lempel-Ziv-Welch压缩、Lempel-Ziv-Storer-Szymanski压缩和Lempel-Ziv-Ross压缩中的一种。
14.一种用于采用具有多个条目的字典来对源符号序列进行编码的方法,所述源符号序列包括多个符号,该方法包括执行下列步骤,直到源符号序列被用尽为止:
将字符串初始化为源符号序列的一个符号;
在字典中搜索与所述字符串匹配的最长条目;
执行(a)-(b)直到在所述字典中不能找到对该字符串的匹配:
(a)确定字典具有与该字符串相匹配的最长条目和与所述字符串相匹配的最长条目的字典索引,
(b)将来自源符号序列的另一个符号添加到该字符串;
存储所述字典索引;
随机地选择字典中的条目来存储不具有所述另一个符号的字符串;以及
执行随机字典排列。
15.根据权利要求14所述的方法,其中执行所述随机字典排列还包括:
将字典布置成具有多个列和多个行的二维矩阵;以及
对所述的多个列和所述的多个行执行随机字典排列。
16.根据权利要求15所述的方法,还包括:
用第一随机偏移量对所述的多个列的至少一个奇数列进行循环移位;以及
用第二随机偏移量对所述的多个列的至少一个偶数列进行循环移位。
17.根据权利要求16所述的方法,还包括:
用第三随机偏移量对所述多个行的至少一个奇数行进行循环移位;以及
用第四随机偏移量对所述多个行的至少一个偶数行进行循环移位。
18.根据权利要求14所述的方法,还包括:
产生用于随机插入和随机字典排列的密钥流。
19.根据权利要求18所述的方法,其中,基于具有与密钥流的一部分相关联的秘密密钥的散列函数来选择用于存储不具有另一个符号的字符串的条目。
20.根据权利要求14所述的方法,其中所述字典索引包括一个或多个二进制位,所述方法还包括:
产生表示源符号序列的字典索引流,
通过根据异或运算将字典索引流与密钥流进行组合,来产生编码数据流;以及
输出编码数据流。
CN200910203696.7A 2008-06-17 2009-06-17 基于具有安全特性的压缩技术来编码数据的系统和方法 Expired - Fee Related CN101610088B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12929808P 2008-06-17 2008-06-17
US61/129,298 2008-06-17

Publications (2)

Publication Number Publication Date
CN101610088A CN101610088A (zh) 2009-12-23
CN101610088B true CN101610088B (zh) 2013-07-24

Family

ID=41414254

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910203696.7A Expired - Fee Related CN101610088B (zh) 2008-06-17 2009-06-17 基于具有安全特性的压缩技术来编码数据的系统和方法

Country Status (2)

Country Link
US (1) US7868788B2 (zh)
CN (1) CN101610088B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201037521A (en) * 2009-04-13 2010-10-16 Io Interconnect Ltd Peripheral interface
US8467416B2 (en) * 2009-07-09 2013-06-18 Nec Laboratories America, Inc. Deterministic rotational coding
US8862900B2 (en) * 2010-01-08 2014-10-14 The Research Foundation For The State University Of New York Secure distributed storage system and method
US8705894B2 (en) 2011-02-15 2014-04-22 Digital Optics Corporation Europe Limited Image rotation from local motion estimates
US8587665B2 (en) 2011-02-15 2013-11-19 DigitalOptics Corporation Europe Limited Fast rotation estimation of objects in sequences of acquired digital images
US8587666B2 (en) 2011-02-15 2013-11-19 DigitalOptics Corporation Europe Limited Object detection from image profiles within sequences of acquired digital images
WO2015017023A2 (en) * 2013-06-03 2015-02-05 Brown University Secure compression
CN104734723A (zh) * 2015-03-10 2015-06-24 中国人民解放军信息工程大学 一种基于压缩和加扰的数据变换方法
WO2016162792A1 (en) * 2015-04-07 2016-10-13 Rodney Smith Method for randomising data compression dictionaries
US11138152B2 (en) 2017-10-11 2021-10-05 Lognovations Holdings, Llc Method and system for content agnostic file indexing
US10963429B2 (en) 2017-10-11 2021-03-30 Lognovations Holdings, Llc Method and system for content agnostic file indexing
CN108259041A (zh) * 2017-12-29 2018-07-06 中国电子科技集团公司第二十研究所 一种基于改进型lzw编码压缩技术的北斗数据扩容方法
US10824718B2 (en) * 2018-07-05 2020-11-03 Nxp B.V. Shuffling mechanism for shuffling an order of data blocks in a data processing system
EP3767832A1 (en) * 2019-07-15 2021-01-20 Use-256 B.V. Permutation-based coding for data storage and data transmission
US11742877B2 (en) * 2021-03-31 2023-08-29 DRIC Software, Inc. File compression system
CN115347902B (zh) * 2022-10-17 2023-02-28 四川省华存智谷科技有限责任公司 存储系统镜像数据传输过程中自适应压缩方法及系统
CN115842621B (zh) * 2023-02-21 2023-04-18 安徽汇迈信息科技有限公司 一种基于大数据与云边协同的智慧医疗系统
CN117294314B (zh) * 2023-11-27 2024-03-19 微山信威食品有限公司 一种果蔬罐头生产信息数据记录管理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1251449A (zh) * 1998-10-18 2000-04-26 华强 两类字典压缩算法在数据压缩中的组合带参运用
US6920154B1 (en) * 2001-12-17 2005-07-19 Supergate Technology Usa, Inc. Architectures for a modularized data optimization engine and methods therefor
CN1786939A (zh) * 2005-11-10 2006-06-14 浙江中控技术有限公司 实时数据压缩方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5771010A (en) * 1995-03-22 1998-06-23 Ibm Corporation Apparatus for compressing data using a Lempel-Ziv-type algorithm
US5861827A (en) * 1996-07-24 1999-01-19 Unisys Corporation Data compression and decompression system with immediate dictionary updating interleaved with string search
US20050015608A1 (en) * 2003-07-16 2005-01-20 Pkware, Inc. Method for strongly encrypting .ZIP files
US20070028088A1 (en) * 2005-08-01 2007-02-01 Coskun Bayrak Polymorphic encryption method and system
JP4456554B2 (ja) * 2005-10-31 2010-04-28 富士通株式会社 データ圧縮方法及び圧縮データ送信方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1251449A (zh) * 1998-10-18 2000-04-26 华强 两类字典压缩算法在数据压缩中的组合带参运用
US6920154B1 (en) * 2001-12-17 2005-07-19 Supergate Technology Usa, Inc. Architectures for a modularized data optimization engine and methods therefor
CN1786939A (zh) * 2005-11-10 2006-06-14 浙江中控技术有限公司 实时数据压缩方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
林小竹等.一种改进的LZW压缩算法.《计算机工程》.2005,第31卷(第14期),199-201. *
袁占亭等.数据通信中文本元件无损压缩算法的实现.《计算机工程与应用》.2001,(第9期),44-46. *

Also Published As

Publication number Publication date
US20090309769A1 (en) 2009-12-17
US7868788B2 (en) 2011-01-11
CN101610088A (zh) 2009-12-23

Similar Documents

Publication Publication Date Title
CN101610088B (zh) 基于具有安全特性的压缩技术来编码数据的系统和方法
WO2019153867A1 (zh) 二维码生成及识别
US8811611B2 (en) Encryption/decryption of digital data using related, but independent keys
EP2056462B1 (en) Data processing system and method
CN116032474B (zh) 一种基于大数据计算机网络安全防护系统
US11902417B2 (en) Computer-implemented method of performing format-preserving encryption of a data object of variable size
JPH09230786A (ja) データの暗号化方法及び装置
CN101335616B (zh) 一种具有无限密钥空间的对称加密方法
CN115470508B (zh) 一种版式文件矢量化加密方法
Dumas et al. Foundations of coding: compression, encryption, error correction
SubhamastanRao et al. Simultaneous data compression and encryption
AU2013334491B2 (en) Methods and systems for concealing information
Külekci On scrambling the Burrows–Wheeler transform to provide privacy in lossless compression
CN116664123A (zh) 一种基于区块链技术的数字钱包设计方法
Lin et al. Generalized arithmetic coding using discrete chaotic maps
CN115297218A (zh) 基于哈夫曼编码规则和位置图压缩的可逆数据隐藏方法
EP3970399B1 (en) A computer-implemented method of performing feistel-network-based block-cipher encryption of plaintext
CN114943205A (zh) 一种身份识别编码uuid生成方法、系统、存储介质及电子设备
CN114928363A (zh) 数据处理方法、装置、计算机设备和存储介质
RU2259639C2 (ru) Способ комплексной защиты распределенной обработки информации в компьютерных системах и система для осуществления способа
Sagheer et al. Ensure security of compressed data transmission
Alsaffar An encryption by using DNA algorithm for hiding a compressed message in Image
Gbashi Text Compression & Encryption Method Based on RNA and MTF
Al-Jarrah et al. Word-based encryption algorithm using dictionary indexing with variable encryption key length
US10216942B1 (en) Method for preserving the integrity of stored data

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CI01 Publication of corrected invention patent application

Correction item: Claims

Correct: Correct

False: Error

Number: 30

Volume: 29

CI01 Publication of corrected invention patent application
CI03 Correction of invention patent

Correction item: Claims

Correct: Correct

False: Error

Number: 30

Page: Description

Volume: 29

CI03 Correction of invention patent
ERR Gazette correction

Free format text: CORRECT: CLAIMS; FROM: ERROR TO: CORRECT

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130724

Termination date: 20170617