CN103095449A - 一种基于流密码的动态加密解密方法 - Google Patents

一种基于流密码的动态加密解密方法 Download PDF

Info

Publication number
CN103095449A
CN103095449A CN2013100156405A CN201310015640A CN103095449A CN 103095449 A CN103095449 A CN 103095449A CN 2013100156405 A CN2013100156405 A CN 2013100156405A CN 201310015640 A CN201310015640 A CN 201310015640A CN 103095449 A CN103095449 A CN 103095449A
Authority
CN
China
Prior art keywords
character pointer
ciphertext
file
stored
read
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.)
Granted
Application number
CN2013100156405A
Other languages
English (en)
Other versions
CN103095449B (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.)
Jilin University
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201310015640.5A priority Critical patent/CN103095449B/zh
Publication of CN103095449A publication Critical patent/CN103095449A/zh
Application granted granted Critical
Publication of CN103095449B publication Critical patent/CN103095449B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于流密码的动态加密解密方法,包括:根据明文文件的长度,选择加密系数;对密钥文件的不同的二进制位,设定其对应的加密规则及相应的解密规则;选取参考文件,并读取密钥文件,选择密钥文件的一个二进制位,根据该二进制位对应的加密规则,结合加密系数及参考文件,将明文文件的二进制位进行读写处理,进而生成密文文件;读取密钥文件,根据加密过程中所选择的二进制位对应的解密规则,结合加密系数及参考文件,将密文文件的二进制位进行读写处理,进而得到还原的明文文件。本发明的一种基于流密码的动态加密解密方法加密方法实现方式简单,安全性高,灵活性强,可广泛应用于计算机通信领域中。

Description

一种基于流密码的动态加密解密方法
技术领域
本发明涉及一种加密解密方法,特别是一种基于流密码的动态加密解密方法。
背景技术
流密码(stream cipher),也称之为序列密码。
由于流密码的分析和设计往往用于一个国家的军事和外交通信。所以,流密码的研发和设计基本上都是在保密的状态下进行,各个国家研发流密码的学者和专家为了保密几乎没有过多的这方面的公开的论著。各国都将流密码技术和产品,作为军工产品而限制出口。由于它具有许多其他密码不可比拟的优点,所以,它是当今最为通用的密码系统之一。
现在的流密码学的研究方向,都是以数学模型为基础,使用复杂的代数运算、布尔代数运算、伪随机数、移位寄存器、线性反馈等。完成流密码的加密和解密。在这方面比较成功的方法有A5方法,S盒方法,RC4方法,K2方法等。这些方法已经是不公开的秘密,经过多年的研究,对其加密和解密已经具有了一定的成熟手段。现在已有很多学者研究攻击和破译上述方法加密的密文。这就使得使用以上的方法进行加密的密文,其安全性受到极大的挑战。
发明内容
为了解决上述的技术问题,本发明提供了一种实现方式简单、安全性高、灵活性强的基于流密码的动态加密解密方法。
本发明解决其技术问题所采用的技术方案是:
一种基于流密码的动态加密解密方法,包括:
读取明文文件,获得明文文件的长度m后,根据明文文件的长度m,选择一个小于长度m的自然数k作为加密系数;
对密钥文件的不同的二进制位,设定其对应的加密规则及相应的解密规则;
加密步骤:选取参考文件,并读取密钥文件,选择密钥文件的一个二进制位,根据该二进制位对应的加密规则,结合加密系数及参考文件,将明文文件的二进制位进行读写处理,进而生成密文文件;
解密步骤:读取密钥文件,根据加密过程中所选择的二进制位对应的解密规则,结合加密系数及参考文件,将密文文件的二进制位进行读写处理,进而得到还原的明文文件。
进一步,所述加密步骤包括:
S11、读取明文文件的字节数,根据该字节数,在计算机内存开辟明文存储空间,读取明文文件并将其存储在明文存储空间中,并创建第一明文字符指针Q1指向明文存储空间的第k位,同时创建第二明文字符指针Q2指向明文存储空间的第k+1位;
S12、根据明文文件的字节数,选择参考文件;
S13、根据明文文件的字节数,在计算机内存开辟参考存储空间后,读取参考文件并将其存储在参考存储空间中,并创建参考字符指针pf指向参考存储空间的首地址;
S14、读取密钥文件的字节数,根据密钥文件的字节数,在计算机内存开辟密钥存储空间后,读取密钥文件并将其存储在密钥存储空间中,并创建密钥字符指针pp指向密钥存储空间的首地址;
S15、根据明文文件的字节数,在计算机内存开辟密文存储空间,并创建密文字符指针pc指向密文存储空间的首地址;
S16、根据密钥字符指针pp所指向的二进制字符串的位所定义的加密规则,按顺序扫描参考字符指针pf所指向的二进制字符串的位,结合该扫描情况及加密规则,将第一明文字符指针Q1或第二明文字符指针Q2所指向的二进制位填入密文字符指针pc指向的密文存储空间中;
S17、读取密文存储空间的字节,进而生成密文文件;
其中,所述明文存储空间为循环链表,k为加密系数,所述第一明文字符指针Q1是向前遍历的,所述第二明文字符指针Q2是向后遍历的。
进一步,所述步骤S13,其具体为:
根据明文文件的字节数,在计算机内存开辟参考存储空间后,读取参考文件并将其存储在参考存储空间中,在读取参考文件的过程中,剔除为“0x00”和“0xff”的值,且所读取并存储的参考文件的字节数等于明文文件的字节数,并创建参考字符指针pf指向参考存储空间的首地址。
进一步,所述步骤S16中所述加密规则为:
按顺序扫描参考字符指针pf所指向的二进制字符串的位,若遇到值为“0”的位,则将第一明文字符指针Q1所指向的二进制位填入密文字符指针pc指向的密文存储空间,若遇到值为“1”的位,则将第二明文字符指针Q2所指向的二进制位填入密文字符指针pc指向的密文存储空间。
进一步,所述步骤S16中所述加密规则为:
按顺序扫描参考字符指针pf所指向的二进制字符串的位,若遇到值为“1”的位,则将第一明文字符指针Q1所指向的二进制位填入密文字符指针pc指向的密文存储空间,若遇到值为“0”的位,则将第二明文字符指针Q2所指向的二进制位填入密文字符指针pc指向的密文存储空间。
进一步,所述解密步骤包括:
S21、读取密文文件的字节数,根据该字节数,在计算机内存开辟密文存储空间后,读取密文文件并将其存储在密文存储空间中,并创建密文字符指针pc指向密文存储空间的首地址;
S22、根据密文文件的字节数,在计算机内存开辟参考存储空间后,读取在生成密文文件的加密过程中所使用的参考文件,并将参考文件存储在参考存储空间中,并创建参考字符指针pf指向参考存储空间的首地址;
S23、读取密钥文件的字节数,根据密钥文件的字节数,在计算机内存开辟密钥存储空间后,读取密钥文件并将其存储在密钥存储空间中,并创建密钥字符指针pp指向密钥存储空间的首地址;
S24、根据密文文件的字节数,在计算机内存开辟明文存储空间,并创建第一明文字符指针Q1指向明文存储空间的第k位,同时创建第二明文字符指针Q2指向明文存储空间的第k+1位;
S25、根据密钥字符指针pp所指向的二进制字符串的位所定义的解密规则,按顺序扫描参考字符指针pf所指向的二进制字符串的位,结合该扫描情况及解密规则,将密文字符指针pc所指向的二进制字符串读出后填入第一明文字符指针Q1或第二明文字符指针Q2所指向的明文存储空间中; 
S26、读取明文存储空间的字节,进而得到还原的明文文件;
其中,所述明文存储空间为循环链表,k为加密系数,所述第一明文字符指针Q1是向前遍历的,所述第二明文字符指针Q2是向后遍历的。
进一步,所述步骤S22,其具体为:
根据密文文件的字节数,在计算机内存开辟参考存储空间,读取在生成密文文件的加密过程中所使用的参考文件,并将参考文件存储在参考存储空间中,在读取参考文件的过程中,剔除为“0x00”和“0xff”的值,且所读取并存储的参考文件的字节数等于密文文件的字节数,并创建参考字符指针pf指向参考存储空间的首地址。
进一步,所述步骤S25中所述解密规则为:
按顺序扫描参考字符指针pf所指向的二进制字符串的位,若遇到值为“0”的位,则将密文字符指针pc所指向的二进制位填入第一明文字符指针Q1指向的明文存储空间,若遇到值为“1”的位,则将密文字符指针pc所指向的二进制位填入第二明文字符指针Q2指向的明文存储空间。
进一步,所述步骤S25中所述解密规则为:
按顺序扫描参考字符指针pf所指向的二进制字符串的位,若遇到值为“1”的位,则将密文字符指针pc所指向的二进制位填入第一明文字符指针Q1指向的明文存储空间,若遇到值为“0”的位,则将密文字符指针pc所指向的二进制位填入第二明文字符指针Q2指向的明文存储空间。
本发明的有益效果是:本发明的一种基于流密码的动态加密解密方法,选取参考文件后,结合预先设定的加密系数及加密规则对明文文件的二进制文件进行加密,从而生成密文文件,在解密过程中,结合密文文件、参考文件、加密系数及对应的解密规则,将密文文件还原为明文文件,实现方式简单,安全性高,灵活性强。
附图说明
下面结合附图和实施例对本发明作进一步说明。
图1是本发明的一种基于流密码的动态加密解密方法的流程图。
具体实施方式
参照图1,本发明提供了一种基于流密码的动态加密解密方法,包括:
读取明文文件,获得明文文件的长度m后,根据明文文件的长度m,选择一个小于长度m的自然数k作为加密系数;
对密钥文件的不同的二进制位,设定其对应的加密规则及相应的解密规则;
加密步骤:选取参考文件,并读取密钥文件,选择密钥文件的一个二进制位,根据该二进制位对应的加密规则,结合加密系数及参考文件,将明文文件的二进制位进行读写处理,进而生成密文文件;
解密步骤:读取密钥文件,根据加密过程中所选择的二进制位对应的解密规则,结合加密系数及参考文件,将密文文件的二进制位进行读写处理,进而得到还原的明文文件。
例如密钥文件的二进制值为“01011100”,设定其第1、3、4、7二进制位所对应的加密规则为a1,相应的解密规则为b1,设定其第2、5、6、8二进制位所对应的加密规则为a2,相应的解密规则为b2,或者设定每一个二进制位都对应不同的加密规则及相应的解密规则,如,从最低位算起,每一位对应的加密规则为a1、a2、a3、a4、a5、a6、a7及a8,相应的解密规则分别为b1、b2、b3、b4、b5、b6、b7及b8,这里,加密规则a1、a2等还与密钥文件的二进制位的值有关,值为“0”时,对应一种加密方法,值为“1”时,对应另外一种加密方法。
进一步作为优选的实施方式,所述加密步骤包括:
S11、读取明文文件的字节数,根据该字节数,在计算机内存开辟明文存储空间,读取明文文件并将其存储在明文存储空间中,并创建第一明文字符指针Q1指向明文存储空间的第k位,同时创建第二明文字符指针Q2指向明文存储空间的第k+1位;
S12、根据明文文件的字节数,选择参考文件;
S13、根据明文文件的字节数,在计算机内存开辟参考存储空间后,读取参考文件并将其存储在参考存储空间中,并创建参考字符指针pf指向参考存储空间的首地址;
S14、读取密钥文件的字节数,根据密钥文件的字节数,在计算机内存开辟密钥存储空间后,读取密钥文件并将其存储在密钥存储空间中,并创建密钥字符指针pp指向密钥存储空间的首地址;
S15、根据明文文件的字节数,在计算机内存开辟密文存储空间,并创建密文字符指针pc指向密文存储空间的首地址;
S16、根据密钥字符指针pp所指向的二进制字符串的位所定义的加密规则,按顺序扫描参考字符指针pf所指向的二进制字符串的位,结合该扫描情况及加密规则,将第一明文字符指针Q1或第二明文字符指针Q2所指向的二进制位填入密文字符指针pc指向的密文存储空间中;
S17、读取密文存储空间的字节,进而生成密文文件;
其中,所述明文存储空间为循环链表,k为加密系数,所述第一明文字符指针Q1是向前遍历的,所述第二明文字符指针Q2是向后遍历的。
进一步作为优选的实施方式,所述步骤S13,其具体为:
根据明文文件的字节数,在计算机内存开辟参考存储空间后,读取参考文件并将其存储在参考存储空间中,在读取参考文件的过程中,剔除为“0x00”和“0xff”的值,且所读取并存储的参考文件的字节数等于明文文件的字节数,并创建参考字符指针pf指向参考存储空间的首地址。这里,因为“0x00”对应的二进制数为“00000000”,而“0xff”对应的二进制数为“11111111”,为了避免加密过程中因全“0”值或全“1”的数导致加密不完全,故将它们都剔除。
进一步作为优选的实施方式,所述步骤S16中所述加密规则为:
按顺序扫描参考字符指针pf所指向的二进制字符串的位,若遇到值为“0”的位,则将第一明文字符指针Q1所指向的二进制位填入密文字符指针pc指向的密文存储空间,若遇到值为“1”的位,则将第二明文字符指针Q2所指向的二进制位填入密文字符指针pc指向的密文存储空间。
进一步作为优选的实施方式,所述步骤S16中所述加密规则为:
按顺序扫描参考字符指针pf所指向的二进制字符串的位,若遇到值为“1”的位,则将第一明文字符指针Q1所指向的二进制位填入密文字符指针pc指向的密文存储空间,若遇到值为“0”的位,则将第二明文字符指针Q2所指向的二进制位填入密文字符指针pc指向的密文存储空间。
进一步作为优选的实施方式,所述解密步骤包括:
S21、读取密文文件的字节数,根据该字节数,在计算机内存开辟密文存储空间后,读取密文文件并将其存储在密文存储空间中,并创建密文字符指针pc指向密文存储空间的首地址;
S22、根据密文文件的字节数,在计算机内存开辟参考存储空间后,读取在生成密文文件的加密过程中所使用的参考文件,并将参考文件存储在参考存储空间中,并创建参考字符指针pf指向参考存储空间的首地址;
S23、读取密钥文件的字节数,根据密钥文件的字节数,在计算机内存开辟密钥存储空间后,读取密钥文件并将其存储在密钥存储空间中,并创建密钥字符指针pp指向密钥存储空间的首地址;
S24、根据密文文件的字节数,在计算机内存开辟明文存储空间,并创建第一明文字符指针Q1指向明文存储空间的第k位,同时创建第二明文字符指针Q2指向明文存储空间的第k+1位;
S25、根据密钥字符指针pp所指向的二进制字符串的位所定义的解密规则,按顺序扫描参考字符指针pf所指向的二进制字符串的位,结合该扫描情况及解密规则,将密文字符指针pc所指向的二进制字符串读出后填入第一明文字符指针Q1或第二明文字符指针Q2所指向的明文存储空间中; 
S26、读取明文存储空间的字节,进而得到还原的明文文件;
其中,所述明文存储空间为循环链表,k为加密系数,所述第一明文字符指针Q1是向前遍历的,所述第二明文字符指针Q2是向后遍历的。
进一步作为优选的实施方式,所述步骤S22,其具体为:
根据密文文件的字节数,在计算机内存开辟参考存储空间,读取在生成密文文件的加密过程中所使用的参考文件,并将参考文件存储在参考存储空间中,在读取参考文件的过程中,剔除为“0x00”和“0xff”的值,且所读取并存储的参考文件的字节数等于密文文件的字节数,并创建参考字符指针pf指向参考存储空间的首地址。
进一步作为优选的实施方式,所述步骤S25中所述解密规则为:
按顺序扫描参考字符指针pf所指向的二进制字符串的位,若遇到值为“0”的位,则将密文字符指针pc所指向的二进制位填入第一明文字符指针Q1指向的明文存储空间,若遇到值为“1”的位,则将密文字符指针pc所指向的二进制位填入第二明文字符指针Q2指向的明文存储空间。
进一步作为优选的实施方式,所述步骤S25中所述解密规则为:
按顺序扫描参考字符指针pf所指向的二进制字符串的位,若遇到值为“1”的位,则将密文字符指针pc所指向的二进制位填入第一明文字符指针Q1指向的明文存储空间,若遇到值为“0”的位,则将密文字符指针pc所指向的二进制位填入第二明文字符指针Q2指向的明文存储空间。
在计算机系统中,每对字符指针指向的值做一次操作,字符指针都会相移的偏移,故上述描述中,没有重复描述这一点。同时,为了保证完整的进行加密,选取参考文件时须保证参考文件的字节数大于或等于明文文件的字节数,考虑到参考文件可能出现值为“0x00”或“0xff”的情况,一般选择字节数稍大于明文文件的字节数的参考文件。
下面结合实施例对本发明的一种基于流密码的动态加密解密方法做进一步说明:
首先定义加密规则:设明文文件M中码元个数为m,参考文件F中码元个数为n,n≥m,若n>m,读取参考文件F时,只需读入到到第m位即可,这里,码元个数即前面所述的文件的长度,例如明文文件的码元个数为m,即其长度也为m。选择自然数k作为加密系数,0≤k≤m-1,创建第一明文字符指针Q1指向明文文件M的第k位,同时创建第二明文字符指针Q2指向明文文件M的第k+1位;根据密钥文件P的最低位的值进行加密:
(1)若该值为“0”,则加密规则为:按位扫描参考文件,当扫描到参考文件F的某位为“0”时,将第一明文字符指针Q1所指向的二进制位填入参考文件F且第一明文字符指针Q1向前移位,而当扫描到参考文件F的某位为“1”时,将第二明文字符指针Q2所指向的二进制位填入参考文件F且第二明文字符指针Q2向后移位,最后,生成密文文件C;
(2)若该值为“1”,则加密规则为:按位扫描参考文件,当扫描到参考文件F的某位为“1”时,将第一明文字符指针Q1所指向的二进制位填入参考文件F且第一明文字符指针Q1向前移位,而当扫描到参考文件F的某位为“0”时,将第二明文字符指针Q2所指向的二进制位填入参考文件F且第二明文字符指针Q2向后移位,最后,生成密文文件C;明显的,密文文件C的码元个数也为m。
本发明在实施中,为了避免参考文件F被更改,加密过程中采用方法为:建立与明文文件M具有相同码元m的密文文件C,加密时,根据第一明文字符指针Q1及第二明文字符指针Q2的指向,将明文文件M的码元按位填入到密文文件C与参考文件F对应为{0}或为{1}的位上。
解密过程与加密过程类似,与密钥文件P的最低位的值相关,上述两种加密规则对应的解密规则为:
(1-1)若该值为“0”,则解密规则为:按位扫描参考文件,当扫描到参考文件F的某位为“0”时,将密文文件C与参考文件的该相应位填入第一明文字符指针Q1所指向的二进制位,且第一明文字符指针Q1向前移位,而当扫描到参考文件F的某位为“1”时,将密文文件C与参考文件的该相应位填入第二明文字符指针Q2所指向的二进制位,且第二明文字符指针Q2向后移位,最后,得到还原的明文文件M;
(1-2)若该值为“1”,则解密规则为:按位扫描参考文件,当扫描到参考文件F的某位为“1”时,将密文文件C与参考文件的该相应位填入第一明文字符指针Q1所指向的二进制位,且第一明文字符指针Q1向前移位,而当扫描到参考文件F的某位为“0”时,将密文文件C与参考文件的该相应位填入第二明文字符指针Q2所指向的二进制位,且第二明文字符指针Q2向后移位,最后,得到还原的明文文件M。
本发明的一实施例为:设明文文件M={01100001},明文文件M的位数为m=8,参考文件F={01000001},密钥文件P={01000001},密钥文件P的最低位的值为“0”,取加密系数k=5,即第一明文字符指针Q1明文文件M的第5位,第二明文字符指针Q2指向明文字符M的第6位,根据加密规则及对应的解密规则建立算法集合A={a,b},其中a为加密算法,b为对应的解密算法,因此,用加密算法a加密明文文件M之后得到密文文件C={00001101},同样的,对密文文件C采用解密算法b解密后得到还原的明文文件M={01100001}。要得到还原的明文文件M,需要结合加密系数k、参考文件F、密钥文件P及解密算法b,因此,就算密文文件C被窃取,也无法得到原始的明文文件M。实际应用中,密钥文件P的位数可为32位至128位,每一位可以定义不同的加密解密规则,例如定义从参考文件F的第几位码元开始扫描,定义循环扫描参考文件F的码元位等。再结合选择不同类型及不同大小的参考文件F,如文档、图片及音视频等,可实现加密的多样化,从而保证了加密解密过程的安全性。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可作出种种的等同变形或替换,这些等同的变型或替换均包含在本申请权利要求所限定的范围内。

Claims (9)

1.一种基于流密码的动态加密解密方法,其特征在于,包括:
读取明文文件,获得明文文件的长度m后,根据明文文件的长度m,选择一个小于长度m的自然数k作为加密系数;
对密钥文件的不同的二进制位,设定其对应的加密规则及相应的解密规则;
加密步骤:选取参考文件,并读取密钥文件,选择密钥文件的一个二进制位,根据该二进制位对应的加密规则,结合加密系数及参考文件,将明文文件的二进制位进行读写处理,进而生成密文文件;
解密步骤:读取密钥文件,根据加密过程中所选择的二进制位对应的解密规则,结合加密系数及参考文件,将密文文件的二进制位进行读写处理,进而得到还原的明文文件。
2.根据权利要求1所述的一种基于流密码的动态加密解密方法,其特征在于,所述加密步骤包括:
S11、读取明文文件的字节数,根据该字节数,在计算机内存开辟明文存储空间,读取明文文件并将其存储在明文存储空间中,并创建第一明文字符指针Q1指向明文存储空间的第k位,同时创建第二明文字符指针Q2指向明文存储空间的第k+1位;
S12、根据明文文件的字节数,选择参考文件;
S13、根据明文文件的字节数,在计算机内存开辟参考存储空间后,读取参考文件并将其存储在参考存储空间中,并创建参考字符指针pf指向参考存储空间的首地址;
S14、读取密钥文件的字节数,根据密钥文件的字节数,在计算机内存开辟密钥存储空间后,读取密钥文件并将其存储在密钥存储空间中,并创建密钥字符指针pp指向密钥存储空间的首地址;
S15、根据明文文件的字节数,在计算机内存开辟密文存储空间,并创建密文字符指针pc指向密文存储空间的首地址;
S16、根据密钥字符指针pp所指向的二进制字符串的位所定义的加密规则,按顺序扫描参考字符指针pf所指向的二进制字符串的位,结合该扫描情况及加密规则,将第一明文字符指针Q1或第二明文字符指针Q2所指向的二进制位填入密文字符指针pc指向的密文存储空间中;
S17、读取密文存储空间的字节,进而生成密文文件;
其中,所述明文存储空间为循环链表,k为加密系数,所述第一明文字符指针Q1是向前遍历的,所述第二明文字符指针Q2是向后遍历的。
3.根据权利要求2所述的一种基于流密码的动态加密解密方法,其特征在于,所述步骤S13,其具体为:
根据明文文件的字节数,在计算机内存开辟参考存储空间后,读取参考文件并将其存储在参考存储空间中,在读取参考文件的过程中,剔除为“0x00”和“0xff”的值,且所读取并存储的参考文件的字节数等于明文文件的字节数,并创建参考字符指针pf指向参考存储空间的首地址。
4.根据权利要求2所述的一种基于流密码的动态加密解密方法,其特征在于,所述步骤S16中所述加密规则为:
按顺序扫描参考字符指针pf所指向的二进制字符串的位,若遇到值为“0”的位,则将第一明文字符指针Q1所指向的二进制位填入密文字符指针pc指向的密文存储空间,若遇到值为“1”的位,则将第二明文字符指针Q2所指向的二进制位填入密文字符指针pc指向的密文存储空间。
5.根据权利要求2所述的一种基于流密码的动态加密解密方法,其特征在于,所述步骤S16中所述加密规则为:
按顺序扫描参考字符指针pf所指向的二进制字符串的位,若遇到值为“1”的位,则将第一明文字符指针Q1所指向的二进制位填入密文字符指针pc指向的密文存储空间,若遇到值为“0”的位,则将第二明文字符指针Q2所指向的二进制位填入密文字符指针pc指向的密文存储空间。
6.根据权利要求2所述的一种基于流密码的动态加密解密方法,其特征在于,所述解密步骤包括:
S21、读取密文文件的字节数,根据该字节数,在计算机内存开辟密文存储空间后,读取密文文件并将其存储在密文存储空间中,并创建密文字符指针pc指向密文存储空间的首地址;
S22、根据密文文件的字节数,在计算机内存开辟参考存储空间后,读取在生成密文文件的加密过程中所使用的参考文件,并将参考文件存储在参考存储空间中,并创建参考字符指针pf指向参考存储空间的首地址;
S23、读取密钥文件的字节数,根据密钥文件的字节数,在计算机内存开辟密钥存储空间后,读取密钥文件并将其存储在密钥存储空间中,并创建密钥字符指针pp指向密钥存储空间的首地址;
S24、根据密文文件的字节数,在计算机内存开辟明文存储空间,并创建第一明文字符指针Q1指向明文存储空间的第k位,同时创建第二明文字符指针Q2指向明文存储空间的第k+1位;
S25、根据密钥字符指针pp所指向的二进制字符串的位所定义的解密规则,按顺序扫描参考字符指针pf所指向的二进制字符串的位,结合该扫描情况及解密规则,将密文字符指针pc所指向的二进制字符串读出后填入第一明文字符指针Q1或第二明文字符指针Q2所指向的明文存储空间中; 
S26、读取明文存储空间的字节,进而得到还原的明文文件;
其中,所述明文存储空间为循环链表,k为加密系数,所述第一明文字符指针Q1是向前遍历的,所述第二明文字符指针Q2是向后遍历的。
7.根据权利要求6所述的一种基于流密码的动态加密解密方法,其特征在于,所述步骤S22,其具体为:
根据密文文件的字节数,在计算机内存开辟参考存储空间,读取在生成密文文件的加密过程中所使用的参考文件,并将参考文件存储在参考存储空间中,在读取参考文件的过程中,剔除为“0x00”和“0xff”的值,且所读取并存储的参考文件的字节数等于密文文件的字节数,并创建参考字符指针pf指向参考存储空间的首地址。
8.根据权利要求6所述的一种基于流密码的动态加密解密方法,其特征在于,所述步骤S25中所述解密规则为:
按顺序扫描参考字符指针pf所指向的二进制字符串的位,若遇到值为“0”的位,则将密文字符指针pc所指向的二进制位填入第一明文字符指针Q1指向的明文存储空间,若遇到值为“1”的位,则将密文字符指针pc所指向的二进制位填入第二明文字符指针Q2指向的明文存储空间。
9.根据权利要求6所述的一种基于流密码的动态加密解密方法,其特征在于,所述步骤S25中所述解密规则为:
按顺序扫描参考字符指针pf所指向的二进制字符串的位,若遇到值为“1”的位,则将密文字符指针pc所指向的二进制位填入第一明文字符指针Q1指向的明文存储空间,若遇到值为“0”的位,则将密文字符指针pc所指向的二进制位填入第二明文字符指针Q2指向的明文存储空间。
CN201310015640.5A 2013-01-16 2013-01-16 一种基于流密码的动态加密解密方法 Expired - Fee Related CN103095449B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310015640.5A CN103095449B (zh) 2013-01-16 2013-01-16 一种基于流密码的动态加密解密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310015640.5A CN103095449B (zh) 2013-01-16 2013-01-16 一种基于流密码的动态加密解密方法

Publications (2)

Publication Number Publication Date
CN103095449A true CN103095449A (zh) 2013-05-08
CN103095449B CN103095449B (zh) 2015-11-04

Family

ID=48207615

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310015640.5A Expired - Fee Related CN103095449B (zh) 2013-01-16 2013-01-16 一种基于流密码的动态加密解密方法

Country Status (1)

Country Link
CN (1) CN103095449B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103324891A (zh) * 2013-05-10 2013-09-25 四川省林业调查规划院 基于加密技术的林分生长与收获模型动态管理方法
CN105141413A (zh) * 2015-08-06 2015-12-09 吉林大学 基于流密码的循环链表异或加密方法及解密方法
CN105959118A (zh) * 2016-04-28 2016-09-21 吉林大学 基于流密码的双位单向循环链表加密解密方法
WO2018196634A1 (zh) * 2017-04-26 2018-11-01 吉林大学珠海学院 基于多密钥流密码的顺序加密方法
CN109981249A (zh) * 2019-02-19 2019-07-05 吉林大学珠海学院 基于拉链式动态散列和nlfsr的加密解密方法及装置
WO2019214024A1 (zh) * 2018-05-11 2019-11-14 吉林大学珠海学院 一种二进制流散列取模加密解密方法
CN111885013A (zh) * 2020-07-06 2020-11-03 河南信大网御科技有限公司 一种拟态加密通信模块、系统及方法
CN112615816A (zh) * 2020-11-30 2021-04-06 中科热备(北京)云计算技术有限公司 一种云文档传输加解密方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101394266A (zh) * 2008-10-24 2009-03-25 华中科技大学 一种生成变参数混沌信号的方法及混沌保密通信系统
CN101771533A (zh) * 2008-12-30 2010-07-07 上海华虹集成电路有限责任公司 基于线性反馈移位寄存器的序列流密码算法硬件实现方法
US20120284504A1 (en) * 2011-05-02 2012-11-08 Volkovs Nikolajs 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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101394266A (zh) * 2008-10-24 2009-03-25 华中科技大学 一种生成变参数混沌信号的方法及混沌保密通信系统
CN101771533A (zh) * 2008-12-30 2010-07-07 上海华虹集成电路有限责任公司 基于线性反馈移位寄存器的序列流密码算法硬件实现方法
US20120284504A1 (en) * 2011-05-02 2012-11-08 Volkovs Nikolajs 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

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103324891A (zh) * 2013-05-10 2013-09-25 四川省林业调查规划院 基于加密技术的林分生长与收获模型动态管理方法
CN105141413A (zh) * 2015-08-06 2015-12-09 吉林大学 基于流密码的循环链表异或加密方法及解密方法
CN105141413B (zh) * 2015-08-06 2018-05-15 吉林大学 基于流密码的循环链表异或加密方法及解密方法
CN105959118A (zh) * 2016-04-28 2016-09-21 吉林大学 基于流密码的双位单向循环链表加密解密方法
WO2018196634A1 (zh) * 2017-04-26 2018-11-01 吉林大学珠海学院 基于多密钥流密码的顺序加密方法
WO2019214024A1 (zh) * 2018-05-11 2019-11-14 吉林大学珠海学院 一种二进制流散列取模加密解密方法
US10951399B2 (en) 2018-05-11 2021-03-16 Zhuhai College Of Jilin University Binary stream hash modulus encryption and decryption method
CN109981249A (zh) * 2019-02-19 2019-07-05 吉林大学珠海学院 基于拉链式动态散列和nlfsr的加密解密方法及装置
CN111885013A (zh) * 2020-07-06 2020-11-03 河南信大网御科技有限公司 一种拟态加密通信模块、系统及方法
CN112615816A (zh) * 2020-11-30 2021-04-06 中科热备(北京)云计算技术有限公司 一种云文档传输加解密方法

Also Published As

Publication number Publication date
CN103095449B (zh) 2015-11-04

Similar Documents

Publication Publication Date Title
CN103095449B (zh) 一种基于流密码的动态加密解密方法
CN1993922B (zh) 流密码组合系统和方法
CN102983972B (zh) 基于流密码的动态加密解密方法
Alsaidi et al. Compression multi-level crypto stego security of texts utilizing colored email forwarding
JP2015094944A (ja) 暗号化されたファイルを復号化する装置およびその方法
CN105024803A (zh) 白箱实现中的行为指纹
Sudeepa et al. A new approach for video steganography based on randomization and parallelization
Singh Modified Vigenere encryption algorithm and its hybrid implementation with Base64 and AES
CN106778292B (zh) 一种Word加密文档的快速还原方法
CN105184115A (zh) 用于将隐式完整性或可信性检查包括到白箱实现中的方法
CN105095695A (zh) 经由白箱实现的不正确功能行为实现授权
CN110543778A (zh) 一种字符数据线性随机加密和解密算法
US20170366514A1 (en) Code obfuscation and associated objects
EP3382929A1 (en) Technique to generate symmetric encryption algorithms
Rahim et al. Tiny encryption algorithm and pixel value differencing for enhancement security message
Ahmad et al. Distributed text-to-image encryption algorithm
WO2019225735A1 (ja) データ処理装置、方法及びコンピュータプログラム
CN102480353A (zh) 口令认证和密钥保护的方法
KR20150122494A (ko) 암호화 장치, 암호화 방법, 복호화 방법 및 컴퓨터 판독가능 기록매체
CN103595524B (zh) 一种基于流密码的丢位加密-补位解密的加解密方法
Danuputri et al. Data Security Using LSB Steganography and Vigenere Chiper in an Android Environment
EP2940917B1 (en) Behavioral fingerprint in a white-box implementation
Bastanta et al. Image data encryption using DES method
CN114722359B (zh) 一种基于自定义类加载器的Java源码保护方法
Vohra et al. An efficient chaos-based optimization algorithm approach for cryptography

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
ASS Succession or assignment of patent right

Owner name: JILIN UNIVERSITY

Free format text: FORMER OWNER: SI YUJUAN

Effective date: 20130427

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 519041 ZHUHAI, GUANGDONG PROVINCE TO: 130012 CHANGCHUN, JILIN PROVINCE

TA01 Transfer of patent application right

Effective date of registration: 20130427

Address after: 130012 Changchun Qianjin Street, Jilin, No. 2699

Applicant after: Jilin University

Address before: 519041 Guangdong city of Zhuhai province Jinwan District Zhuhai College of Jilin University

Applicant before: Si Yujuan

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20151104

Termination date: 20220116

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