CN107819573A - 高维安全算术编码方法 - Google Patents
高维安全算术编码方法 Download PDFInfo
- Publication number
- CN107819573A CN107819573A CN201710964900.1A CN201710964900A CN107819573A CN 107819573 A CN107819573 A CN 107819573A CN 201710964900 A CN201710964900 A CN 201710964900A CN 107819573 A CN107819573 A CN 107819573A
- Authority
- CN
- China
- Prior art keywords
- mrow
- msub
- data
- mtd
- dimension
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Storage Device Security (AREA)
Abstract
本发明提出了一种高维安全算术编码方法,该方法为能够快速的执行压缩和加密过程,能够在保证原始信息压缩率的同时,提供较高的安全性机制。原始的算术编码方法依赖于一维的线段收缩过程,本发明将编码过程扩展到了N维空间中。在更高的维度上,通过引入非线性***密码算法,使得算术编码在保持高压缩率的前提下,提供了额外的信息安全性机制。该方法具有加密效果好,效率高,压缩性好等特点。能够应用于实时信息的传输过程。
Description
技术领域
本发明属于信息安全、多媒体信息编码以及多媒体数据压缩技术领域,具体涉及到基于高维度的安全算数编码方法。
背景技术
算术编码作为熵编码的一种,被广泛的应用于各类信息压缩算法当中。例如算术编码已经应用于H.264视频编码标准和JPEG2000静态图像编码标准中。然而,原始的算术编码虽然能够提供较高的压缩率,但是不能有效的对信息进行保护。混沌***近年来被广泛应用于信息安全算法的设计当中,基于混沌***的数字图像加密技术、视频加密技术、以及二进制加密技术得到了长足的发展。算数编码的编码过程依赖于基于概率模型的一维线段的收缩过程。本发明中,为了解决信息安全问题,首先将算术编码的编码过程扩展到高维空间(而不是原始的一维线段),并在此基础上在高维编码空间中引入混沌密码学,使得新的高维安全叔叔编码能够在保证压缩率的前提下,能够提供对原始信息的保护机制。
发明内容
原始的算术编码过程仅考虑了压缩率的问题,而忽略了信息安全问题。本发明旨在为算术编码压缩算法提供安全性机制。并且使得多种利用算术编码的多媒体压缩标准提供安全编码的能力。本方法在传统的算数编码基础上进行了改进。传统的算术编码在一维数组上进行,算法逐个读取待压缩文件中的字符并将其压缩。传统算数编码的压缩结果可以看作是数轴上的一个点,而本算法将算数编码过程扩展至高维空间,其结果可以看作高维空间中的一个点。在扩展到高维空间的过程中,可以设计加密部分增强算法的安全性。
本方法提供了一种高维安全算术编码方法,包括步骤如下:
Step 1,依次读取一维数组中每个元素;利用伪随机数生成器结合分割算法将一维数组中的元素分配到N维空间,即分割成N个部分;
Step2,通过压缩算法对分割出的每一部分执行压缩编码;所述的压缩编码为自适应算数编码、静态算数编码、哈夫曼编码中的一种;对于每一部分的数据,统计其各个字符的出现次数,得数据的概率模型,并利用此概率模型进行静态算数编码,得到每部分的编码数据;由于概率模型需要在解码过程中用到,所以同时保存概率模型并传输给解码方;
Step3,通过合并算法将各部分压缩编码的结果合并到一维数组中;并记录下各部分的长度以方便解码过程的实现;
Step4,通过加密算法对一维数组中的数据进一步加密,所述的加密算法为置乱、扩散或者置乱加扩散的方法中的一种。
进一步地,所述Step4中利用伪随机数生成器,再对Step3产生的一维数组中的数据进行加密操作。
进一步地,所述的伪随机数生成器为Logistic***。
本方法的有益效果为能够快速的执行压缩和加密过程,能够在保证原始信息压缩率的同时,提供较高的安全性机制。原始的算术编码方法依赖于一维的线段收缩过程,本发明将编码过程扩展到了N维空间中。在更高的维度上,通过引入非线性***密码算法,使得算术编码在保持高压缩率的前提下,提供了额外的信息安全性机制。该方法具有加密效果好,效率高,压缩性好等特点。能够应用于实时信息的传输过程。
附图说明
图1高维安全算术编码整体框架流程图;
图2高维安全算术编码解码框架流程图。
具体实施方式
本方法将带压缩数据随机分配至高维空间,对每一维中的数据进行压缩编码,合并高维数据,并加密合并数据。这样,既能在一定程度上保证压缩率,也可以增强压缩算法的安全性。
以将原始数据分配到三维空间、使用静态算数编码、采用Logistic***生成伪随机数为例,详细阐述算法实现步骤。算法需要输入待压缩数据及密钥k0、k1。
Step 1将待压缩编码的数据读入一维数组。
Step 2利用Logistic***(xi+1=μxi(1-xi)),将一维数组中的数据随机分为三个部分,其详细步骤如下:
1)依次读取一维数组中每个元素ai。
2)利用Logistic***递推产生xi,其中x0初始为密钥k0。
3)若xi属于[0,0.33333],则将ai分配到第一部分。若xi属于(0.33333,0.66666],则将ai分配到第二部分。若xi属于(0.66666,1],则将ai分配到第三部分。
Step 3对于每一部分的数据,统计其各个字符的出现次数,得数据的概率模型,并利用此概率模型进行静态算数编码,得到每部分的编码数据。由于概率模型需要在解码过程中用到,所以概率模型需要保存下来并传输给解码方。
Step 4采用第一部分数据+第二部分数据+第三部分数据的方式将三部分数据合并到一维数组中,并记录下各部分的长度以方便解码过程的实现。
Step 5利用Logistic***(xi+1=μxi(1-xi)),对一维数组中的数据进行置乱操作,其详细步骤如下:
1)依次读取一维数组中每个元素ai。
2)利用Logistic***递推产生xi,其中x0初始为密钥k1。
3)利用如下公式计算当前数据置乱位置SwapPos,其中n代表数组长度。
4)交换位置i及SwapPos中的数据。
Swap(ai,aSwapPos)
理论上可以证明,如果生成的随机数是完全随机的,那么该置乱算法也可以达到完全随机的置乱效果。所以该算法置乱效果取决于伪随机数生成器,如果想要提升算法的安全性,可以选用更复杂的伪随机数生成算法。
Step 6继续利用Logistic***,对置乱后的一维数组进行扩散,以完成整个数据的加密部分,其详细步骤如下:
1)依次读取一维数组中每个元素ai。
2)利用上一步置乱过程中最后产生的伪随机数xn-1,产生一个在0至255之间的随机整数r。这里假设编码字符,即ai,可以用0到255之间的整数表示,比如C语言中的unsigned char类型的数据。
3)对当前元素ai进行异或操作。
Step 7将加密后的一维数组写入文件,得到最终的高维安全算数编码文件。
上述算法步骤中,Step 2属于分割算法,Step 3属于压缩算法,Step 4属于合并算法,Step5、Step6属于加密算法。解码过程为上述过程的逆过程。
1.以编码速度为例对算法进行分析
为评估本方法的有效性,选用了Bib、Book1、Book2等标准压缩测试文件进行测试和分析。编码算法采用上述详细步骤描述的算法,在Logistic***中μ=3.99999。
测试环境为CPU:Intel Core i7-6700HQ2.60GHz;RAM:8.0GB。
测试语言:C++。
编译器:mingw,采用Realse模式,O2优化。
编码速度是衡量编码算法的重要指标,本测试主要测试了算法主要部分(Step 2–Step 6)的编码速度及编码吞吐量。本测试对每个测试文件执行压缩编码200次,并对总时间取平均。对于一个文件的每一次执行采用随机密钥以防止密钥带来的结果偏差。测试结果如表1所示。
表1编码速度分析
2.以压缩率为例对算法分析
衡量压缩编码算法的另一个重要指标是压缩率,一个好的压缩加密算法应该尽可能减少压缩率。压缩率的计算公式如下:
本测试将算法对标准压缩测试文件的压缩结果与传统静态算数编码的压缩结果进行比较,结果如表2所示。可见本算法对压缩率的影响非常小,接近于静态算数编码。
表2编码压缩率分析
3.以安全性为例对算法进行分析
本方法将传统算数编码过程扩展到高维空间,在其中加入加密过程,提高了算法的安全性。为了测试算法的安全性,本测试对压缩加密编码后的文件与去掉加密过程的压缩编码文件进行了比较,计算了两种文件的相异率,其结果见表3。可见加密算法部分可以大幅度改变编码的结果,提高了算法的安全性。
表3编码安全性分析
通过以上测试表明,本方法能够快速的执行压缩和加密过程,能够在保证原始信息压缩率的同时,提供较高的安全性机制。测试结果入表1-3所示。
Claims (4)
1.高维安全算术编码方法,其特征在于,包括步骤如下:
Step1,依次读取一维数组中每个元素;利用伪随机数生成器结合分割算法将一维数组中的元素分配到N维空间,即分割成N个部分;
Step2,通过压缩算法对分割出的每一部分执行压缩编码;所述的压缩编码为自适应算数编码、静态算数编码、哈夫曼编码中的一种;对于每一部分的数据,统计其各个字符的出现次数,得数据的概率模型,并利用此概率模型进行静态算数编码,得到每部分的编码数据;保存概率模型并传输给解码方;
Step3,通过合并算法将各部分压缩编码的结果合并到一维数组中;并记录下各部分的长度;
Step4,通过加密算法对一维数组中的数据进一步加密,所述的加密算法为置乱、扩散或者置乱加扩散的方法中的一种。
2.根据权利要求1所述的高维安全算术编码方法,其特征在于,所述Step4中利用伪随机数生成器,再对Step3产生的一维数组中的数据进行加密操作。
3.根据权利要求1或2所述的高维安全算术编码方法,其特征在于,所述的伪随机数生成器为Logistic***。
4.根据权利要求3所述的高维安全算术编码方法,其特征在于,
Step1将待压缩编码的数据读入一维数组;
Step2利用Logistic***(xi+1=μxi(1-xi)),将一维数组中的数据随机分为三个部分,其详细步骤如下:
1)依次读取一维数组中每个元素ai;
2)利用Logistic***递推产生xi,其中x0初始为密钥k0;
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>x</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<msub>
<mi>k</mi>
<mn>0</mn>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>x</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<msub>
<mi>&mu;x</mi>
<mrow>
<mi>i</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>-</mo>
<msub>
<mi>x</mi>
<mrow>
<mi>i</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>i</mi>
<mo>&Element;</mo>
<mo>&lsqb;</mo>
<mn>1</mn>
<mo>,</mo>
<mi>n</mi>
<mo>-</mo>
<mn>1</mn>
<mo>&rsqb;</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
3)若xi属于[0,0.33333],则将ai分配到第一部分;若xi属于(0.33333,0.66666],则将ai分配到第二部分;若xi属于(0.66666,1],则将ai分配到第三部分;
Step3对于每一部分的数据,统计其各个字符的出现次数,得数据的概率模型,并利用此概率模型进行静态算数编码,得到每部分的编码数据;概率模型保存下来并传输给解码方;
Step4采用第一部分数据+第二部分数据+第三部分数据的方式将三部分数据合并到一维数组中,并记录下各部分的长度;
Step5利用Logistic***(xi+1=μxi(1-xi)),对一维数组中的数据进行置乱操作,其详细步骤如下:
1)依次读取一维数组中每个元素ai;
2)利用Logistic***递推产生xi,其中x0初始为密钥k1;
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>x</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<msub>
<mi>k</mi>
<mn>1</mn>
</msub>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>x</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<msub>
<mi>&mu;x</mi>
<mrow>
<mi>i</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>-</mo>
<msub>
<mi>x</mi>
<mrow>
<mi>i</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>i</mi>
<mo>&Element;</mo>
<mo>&lsqb;</mo>
<mn>1</mn>
<mo>,</mo>
<mi>n</mi>
<mo>-</mo>
<mn>1</mn>
<mo>&rsqb;</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
3)利用如下公式计算当前数据置乱位置SwapPos,其中n代表数组长度;
4)交换位置i及SwapPos中的数据;
Swap(ai,aSwapPos)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710964900.1A CN107819573A (zh) | 2017-10-17 | 2017-10-17 | 高维安全算术编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710964900.1A CN107819573A (zh) | 2017-10-17 | 2017-10-17 | 高维安全算术编码方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107819573A true CN107819573A (zh) | 2018-03-20 |
Family
ID=61607330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710964900.1A Pending CN107819573A (zh) | 2017-10-17 | 2017-10-17 | 高维安全算术编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107819573A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108446099A (zh) * | 2018-05-02 | 2018-08-24 | 如般量子科技有限公司 | 源无关高维时间编码的量子随机数发生器 |
CN116545771A (zh) * | 2023-07-05 | 2023-08-04 | 上海伯镭智能科技有限公司 | 一种智能驾驶***测试数据的智能存储方法及*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101150719A (zh) * | 2006-09-20 | 2008-03-26 | 华为技术有限公司 | 并行视频编码的方法及装置 |
CN103119849A (zh) * | 2010-04-13 | 2013-05-22 | 弗兰霍菲尔运输应用研究公司 | 概率区间分割编码器和译码器 |
KR101646072B1 (ko) * | 2015-04-22 | 2016-08-05 | 유승진 | 동영상 데이터 암호화 장치 및 방법 |
KR20160125704A (ko) * | 2015-04-22 | 2016-11-01 | 유승진 | 하이브리드 동영상 처리 장치 및 방법 |
CN106778304A (zh) * | 2016-12-09 | 2017-05-31 | 交通运输部水运科学研究所 | 一种具有明文相关置乱机制的快速混沌图像加密方法 |
-
2017
- 2017-10-17 CN CN201710964900.1A patent/CN107819573A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101150719A (zh) * | 2006-09-20 | 2008-03-26 | 华为技术有限公司 | 并行视频编码的方法及装置 |
CN103119849A (zh) * | 2010-04-13 | 2013-05-22 | 弗兰霍菲尔运输应用研究公司 | 概率区间分割编码器和译码器 |
KR101646072B1 (ko) * | 2015-04-22 | 2016-08-05 | 유승진 | 동영상 데이터 암호화 장치 및 방법 |
KR20160125704A (ko) * | 2015-04-22 | 2016-11-01 | 유승진 | 하이브리드 동영상 처리 장치 및 방법 |
CN106778304A (zh) * | 2016-12-09 | 2017-05-31 | 交通运输部水运科学研究所 | 一种具有明文相关置乱机制的快速混沌图像加密方法 |
Non-Patent Citations (3)
Title |
---|
倪泽峰等: ""并行哈夫曼编码器的硬件设计与实现"", 《微电子学与计算机》 * |
曹光辉等: ""基于Logistic均匀分布图像置乱方法"", 《物理学报》 * |
王如亲等: ""并行算术编码在Android上的实现"", 《计算机与数字工程》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108446099A (zh) * | 2018-05-02 | 2018-08-24 | 如般量子科技有限公司 | 源无关高维时间编码的量子随机数发生器 |
CN108446099B (zh) * | 2018-05-02 | 2024-05-14 | 如般量子科技有限公司 | 源无关高维时间编码的量子随机数发生器 |
CN116545771A (zh) * | 2023-07-05 | 2023-08-04 | 上海伯镭智能科技有限公司 | 一种智能驾驶***测试数据的智能存储方法及*** |
CN116545771B (zh) * | 2023-07-05 | 2023-09-15 | 上海伯镭智能科技有限公司 | 一种智能驾驶***测试数据的智能存储方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yasser et al. | A new image encryption scheme based on hybrid chaotic maps | |
US10785545B2 (en) | Systems and methods for simultaneous compression and encryption | |
CN105704500B (zh) | 一种新的基于混沌的图像无损压缩加密联合方法 | |
CN109660696B (zh) | 一种新的图像加密方法 | |
CN106301759B (zh) | 一种数据加密的方法、解密的方法及装置 | |
CN103428495B (zh) | 图像加密方法、图像解密方法和装置 | |
CN102523365B (zh) | 一种基于元胞自动机的图像加密和解密方法 | |
CN105634732A (zh) | 一种密文域多比特可逆信息隐藏方法 | |
CN101465724A (zh) | 一种加密的Huffman编码方法,及其解码方法 | |
CN107578452A (zh) | 一种具有兼容格式和不变尺寸的jpeg图像加密方法 | |
CN114157772B (zh) | 一种基于时空混沌***和半张量积压缩感知的数字图像加密方法 | |
CN107819573A (zh) | 高维安全算术编码方法 | |
CN113691362A (zh) | 基于超混沌***和dna编码的位平面图像压缩加密算法 | |
Sreelakshmi et al. | An encryption-then-compression scheme using autoencoder based image compression for color images | |
Ge et al. | Fast chaotic image encryption algorithm using a novel divide and conquer diffusion strategy | |
Xiong et al. | A bit-plane encryption algorithm for RGB image based on modulo negabinary code and chaotic system | |
Lee et al. | Information hiding based on block match coding for vector quantization-compressed images | |
CN103581677B (zh) | 图像加密压缩和解压解密方法及装置 | |
CN103490876B (zh) | 基于超混沌Lorenz***构建Hash函数的数据加密方法 | |
CN101409830A (zh) | Dct系数块相似性判断、图像加解密方法及装置 | |
Ritchey et al. | A Context Sensitive Tiling System for Information Hiding. | |
CN115190216B (zh) | 基于预测误差图的加密图像可逆数据隐藏及解密方法 | |
Liu et al. | Hiding Information in a Well-Trained Vector Quantization Codebook | |
CN114866657A (zh) | 选择明文安全且密文图像文件大小减小的jpeg图像加密方法 | |
CN114820268A (zh) | 一种基于离散超混沌***和具有扩散性的动态dna编码的图像处理方法 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180320 |
|
WD01 | Invention patent application deemed withdrawn after publication |