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

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

Info

Publication number
CN103095449B
CN103095449B CN201310015640.5A CN201310015640A CN103095449B CN 103095449 B CN103095449 B CN 103095449B CN 201310015640 A CN201310015640 A CN 201310015640A CN 103095449 B CN103095449 B CN 103095449B
Authority
CN
China
Prior art keywords
character pointer
ciphertext
stored
file
space
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
CN201310015640.5A
Other languages
English (en)
Other versions
CN103095449A (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
Jilin University
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 Jilin University filed Critical Jilin University
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

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=6,即第一明文字符指针Q1指向明文文件M的第6位,第二明文字符指针Q2指向明文文件M的第7位,根据加密规则及对应的解密规则建立算法集合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 (8)

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

Families Citing this family (8)

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

Citations (2)

* 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 上海华虹集成电路有限责任公司 基于线性反馈移位寄存器的序列流密码算法硬件实现方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8611533B2 (en) * 2011-05-02 2013-12-17 Nikolajs VOLKOVS 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 (2)

* 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 上海华虹集成电路有限责任公司 基于线性反馈移位寄存器的序列流密码算法硬件实现方法

Also Published As

Publication number Publication date
CN103095449A (zh) 2013-05-08

Similar Documents

Publication Publication Date Title
CN103095449B (zh) 一种基于流密码的动态加密解密方法
EP2924677B1 (en) Splitting s-boxes in a white-box implementation to resist attacks
CN102983972B (zh) 基于流密码的动态加密解密方法
US9455833B2 (en) Behavioral fingerprint in a white-box implementation
US20090220083A1 (en) Stream cipher using multiplication over a finite field of even characteristic
Omolara et al. Developing a modified hybrid caesar cipher and vigenere cipher for secure data communication
CN105959118A (zh) 基于流密码的双位单向循环链表加密解密方法
EP2922235B1 (en) Security module for secure function execution on untrusted platform
CN105184115A (zh) 用于将隐式完整性或可信性检查包括到白箱实现中的方法
Singh Modified Vigenere encryption algorithm and its hybrid implementation with Base64 and AES
CN105095695A (zh) 经由白箱实现的不正确功能行为实现授权
CN105022937A (zh) 用于将白箱实现紧附到周围程序的接口兼容方式
Sermeno et al. Modified Vigenere cryptosystem: An integrated data encryption module for learning management system
US20170366514A1 (en) Code obfuscation and associated objects
US20160241387A1 (en) System and method for manipulating both the plaintext and ciphertext of an encryption process prior to dissemination to an intended recipient
CN103595524B (zh) 一种基于流密码的丢位加密-补位解密的加解密方法
CN105141413A (zh) 基于流密码的循环链表异或加密方法及解密方法
EP2940917B1 (en) Behavioral fingerprint in a white-box implementation
Danuputri et al. Data Security Using LSB Steganography and Vigenere Chiper in an Android Environment
Zhang Cryptanalyzing an image cryptosystem based on circular inter-intra pixels bit-level permutation
Vohra et al. An efficient chaos-based optimization algorithm approach for cryptography
Kumar et al. SCLCT: Secured cross language cipher technique
US10997317B2 (en) Method for safeguarding the confidentiality of the sender's identification of messages transmitted through promiscuous channels
Kaushik et al. Vg4 cipher: Digital image encryption standard
CN114338008B (zh) 加密传输方法、装置、系统以及存储介质

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20151104

Termination date: 20220116