CN105141413B - 基于流密码的循环链表异或加密方法及解密方法 - Google Patents

基于流密码的循环链表异或加密方法及解密方法 Download PDF

Info

Publication number
CN105141413B
CN105141413B CN201510476834.4A CN201510476834A CN105141413B CN 105141413 B CN105141413 B CN 105141413B CN 201510476834 A CN201510476834 A CN 201510476834A CN 105141413 B CN105141413 B CN 105141413B
Authority
CN
China
Prior art keywords
character
pointer
key
character pointer
ciphertext
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.)
Active
Application number
CN201510476834.4A
Other languages
English (en)
Other versions
CN105141413A (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 CN201510476834.4A priority Critical patent/CN105141413B/zh
Publication of CN105141413A publication Critical patent/CN105141413A/zh
Application granted granted Critical
Publication of CN105141413B publication Critical patent/CN105141413B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了基于流密码的循环链表异或加密方法及解密方法,该加密方法包括:分别选取字符随机数、第一加密随机数和第二加密随机数;根据第一加密随机数和第二加密随机数的值,分别生成第一密钥字符指针和第二密钥字符指针使其指向密钥文件的对应字符位,同时根据字符随机数的值生成明文字符指针使其指向明文文件的对应字符位;分别设定明文字符指针、第一密钥字符指针和第二密钥字符指针的遍历方向;对第一密钥字符指针和第二密钥字符指针进行两次循环链表遍历,同时根据两者所指向的字符位的异或结果,遍历明文字符指针并生成密文文件。本发明实现方式简单,灵活性强,安全性高,可靠性高,可广泛应用于信息安全领域中。

Description

基于流密码的循环链表异或加密方法及解密方法
技术领域
本发明涉及信息加解密领域,特别是涉及一种基于流密码的循环链表异或加密方法及解密方法。
背景技术
斯诺登事件之后,各国对自己的信息安全都加大了研发力度。美国之所以能够获取他国的信息内容,不仅与美国在通信技术的技术优势,以及互联网的超级用户管理权有关,而且也与现有技术中所采用的加密方法容易被破解有关。目前主要采用的加密方法是基于流密码的加密方法。流密码(stream cipher),也称之为序列密码。由于流密码的分析和设计往往用于一个国家的军事和外交通信,所以,流密码的研发和设计基本上都是在保密的状态下进行,各个国家研发流密码的学者和专家为了保密几乎没有过多的这方面的公开的论著。各国都将流密码技术和产品,作为军工产品而限制出口。由于它具有许多其他密码不可比拟的优点,所以,它是当今最为通用的密码系统之一。
现在的流密码学的研究方向,都是以数学模型为基础,使用复杂的代数运算、布尔代数运算、伪随机数、移位寄存器、线性反馈等。完成流密码的加密和解密。在这方面比较成功的方法有A5方法,S盒方法,RC4方法,K2方法等。这些方法已经是不公开的秘密,经过多年的研究,对其加密和解密已经具有了一定的成熟手段。现在已有很多学者研究攻击和破译上述方法加密的密文。这就使得使用以上的方法进行加密的密文,其安全性受到极大的挑战。
发明内容
为了解决上述的技术问题,本发明的目的是提供一种基于流密码的循环链表异或加密方法,本发明的另一目的是提供一种基于流密码的循环链表异或解密方法。
本发明解决其技术问题所采用的技术方案是:
基于流密码的循环链表异或加密方法,包括:
S1、分别选取字符随机数、第一加密随机数和第二加密随机数;
S2、根据第一加密随机数和第二加密随机数的值,分别生成第一密钥字符指针和第二密钥字符指针使其指向密钥文件的对应字符位,同时根据字符随机数的值生成明文字符指针使其指向明文文件的对应字符位;
S3、分别设定明文字符指针、第一密钥字符指针和第二密钥字符指针的遍历方向;
S4、对第一密钥字符指针和第二密钥字符指针进行两次循环链表遍历,同时根据两者所指向的字符位的异或结果,遍历明文字符指针并生成密文文件。
进一步,所述步骤S1,其具体为:
获取明文文件的码元个数n后,选取小于该码元个数n的整数作为字符随机数,同时获取密钥文件的码元个数m后,分别选取两个小于该码元个数m的整数作为第一加密随机数和第二加密随机数。
进一步,步骤S4,包括:
S41、在计算机内存开辟密文存储空间,并生成密文字符指针使其指向密文存储空间的首地址;
S42、对第一密钥字符指针和第二密钥字符指针进行两次循环链表遍历,同时根据两者所指向的字符位的异或结果,对明文字符指针和密文字符指针进行遍历,并将明文字符指针所指向的字符填入密文字符指针所指向的密文存储空间中;
S43、读取密文存储空间的字节,生成密文文件。
进一步,所述步骤S42,包括:
S421、对第一密钥字符指针和第二密钥字符指针进行循环链表遍历,若判断第一密钥字符指针和第二密钥字符指针所指向的字符位的异或结果为第一结果值,则将明文字符指针所指向的字符填入密文字符指针所指向的密文存储空间中,同时将明文字符指针和密文字符指针指向下一位,反之,将密文字符指针指向下一位;
S422、再次对第一密钥字符指针和第二密钥字符指针进行循环链表遍历,若判断第一密钥字符指针和第二密钥字符指针所指向的字符位的异或结果为第二结果值,则将明文字符指针所指向的字符填入密文字符指针所指向的密文存储空间中,同时将明文字符指针和密文字符指针指向下一位,反之,将密文字符指针指向下一位;
所述第一结果值和第二结果值的异或结果为1。
本发明解决其技术问题所采用的另一技术方案是:
基于流密码的循环链表异或解密方法,包括:
S5、获取字符随机数、第一加密随机数和第二加密随机数,同时在计算机内存开辟明文存储空间;
S6、根据第一加密随机数和第二加密随机数的值,分别生成第一密钥字符指针和第二密钥字符指针使其指向密钥文件的对应字符位,同时根据字符随机数的值生成明文字符指针使其指向明文存储空间的对应字符位;
S7、分别获取明文字符指针、第一密钥字符指针和第二密钥字符指针的遍历方向;
S8、对第一密钥字符指针和第二密钥字符指针进行两次循环链表遍历,同时根据两者所指向的字符位的异或结果,遍历密文文件后生成明文文件。
进一步,所述步骤S8,包括:
S81、生成密文字符指针使其指向密文文件的第一位;
S82、对第一密钥字符指针和第二密钥字符指针进行两次循环链表遍历,同时根据两者所指向的字符位的异或结果,对密文字符指针和明文字符指针进行遍历,并将密文字符指针所指向的字符填入明文字符指针所指向的明文存储空间中;
S83、读取明文存储空间的字节,生成明文文件。
进一步,所述步骤S82,包括:
S821、对第一密钥字符指针和第二密钥字符指针进行循环链表遍历,若判断第一密钥字符指针和第二密钥字符指针所指向的字符位的异或结果为第一结果值,则将密文字符指针所指向的字符填入明文字符指针所指向的明文存储空间中,同时将密文字符指针和明文字符指针指向下一位,反之,将密文字符指针指向下一位;
S822、再次对第一密钥字符指针和第二密钥字符指针进行循环链表遍历,若判断第一密钥字符指针和第二密钥字符指针所指向的字符位的异或结果为第二结果值,则将密文字符指针所指向的字符填入明文字符指针所指向的明文存储空间中,同时将密文字符指针和明文字符指针指向下一位,反之,将密文字符指针指向下一位;
所述第一结果值和第二结果值的异或结果为1。
进一步,所述密钥文件的码元个数m小于等于明文文件的码元个数n。
本发明的有益效果是:本发明的基于流密码的循环链表异或加密方法,包括:分别选取字符随机数、第一加密随机数和第二加密随机数;根据第一加密随机数和第二加密随机数的值,分别生成第一密钥字符指针和第二密钥字符指针使其指向密钥文件的对应字符位,同时根据字符随机数的值生成明文字符指针使其指向明文文件的对应字符位;分别设定明文字符指针、第一密钥字符指针和第二密钥字符指针的遍历方向;对第一密钥字符指针和第二密钥字符指针进行两次循环链表遍历,同时根据两者所指向的字符位的异或结果,遍历明文字符指针并生成密文文件。本加密方法实现方式简单,灵活性强,安全性高,可靠性高。
本发明的另一有益效果是:本发明的基于流密码的循环链表异或解密方法,包括:获取字符随机数、第一加密随机数和第二加密随机数,同时在计算机内存开辟明文存储空间;根据第一加密随机数和第二加密随机数的值,分别生成第一密钥字符指针和第二密钥字符指针使其指向密钥文件的对应字符位,同时根据字符随机数的值生成明文字符指针使其指向明文存储空间的对应字符位;分别获取明文字符指针、第一密钥字符指针和第二密钥字符指针的遍历方向;对第一密钥字符指针和第二密钥字符指针进行两次循环链表遍历,同时根据两者所指向的字符位的异或结果,遍历密文文件后生成明文文件。本解密方法实现方式简单,灵活性强,安全性高,可靠性高。
附图说明
下面结合附图和实施例对本发明作进一步说明。
图1是本发明的基于流密码的循环链表异或加密方法的流程图;
图2是本发明的基于流密码的循环链表异或解密方法的流程图;
图3是本发明的基于流密码的循环链表异或加密方法的详细实施例中对明文文件进行遍历加密的列表示意图;
图4是本发明的基于流密码的循环链表异或解密方法的详细实施例中对密文文件进行遍历解密的列表示意图。
具体实施方式
参照图1,本发明提供了一种基于流密码的循环链表异或加密方法,包括:
S1、分别选取字符随机数、第一加密随机数和第二加密随机数;
S2、根据第一加密随机数和第二加密随机数的值,分别生成第一密钥字符指针和第二密钥字符指针使其指向密钥文件的对应字符位,同时根据字符随机数的值生成明文字符指针使其指向明文文件的对应字符位;
S3、分别设定明文字符指针、第一密钥字符指针和第二密钥字符指针的遍历方向;
S4、对第一密钥字符指针和第二密钥字符指针进行两次循环链表遍历,同时根据两者所指向的字符位的异或结果,遍历明文字符指针并生成密文文件。
进一步作为优选的实施方式,所述步骤S1,其具体为:
获取明文文件的码元个数n后,选取小于该码元个数n的整数作为字符随机数,同时获取密钥文件的码元个数m后,分别选取两个小于该码元个数m的整数作为第一加密随机数和第二加密随机数。
进一步作为优选的实施方式,步骤S4,包括:
S41、在计算机内存开辟密文存储空间,并生成密文字符指针使其指向密文存储空间的首地址;
S42、对第一密钥字符指针和第二密钥字符指针进行两次循环链表遍历,同时根据两者所指向的字符位的异或结果,对明文字符指针和密文字符指针进行遍历,并将明文字符指针所指向的字符填入密文字符指针所指向的密文存储空间中;
S43、读取密文存储空间的字节,生成密文文件。
进一步作为优选的实施方式,所述步骤S42,包括:
S421、对第一密钥字符指针和第二密钥字符指针进行循环链表遍历,若判断第一密钥字符指针和第二密钥字符指针所指向的字符位的异或结果为第一结果值,则将明文字符指针所指向的字符填入密文字符指针所指向的密文存储空间中,同时将明文字符指针和密文字符指针指向下一位,反之,将密文字符指针指向下一位;
S422、再次对第一密钥字符指针和第二密钥字符指针进行循环链表遍历,若判断第一密钥字符指针和第二密钥字符指针所指向的字符位的异或结果为第二结果值,则将明文字符指针所指向的字符填入密文字符指针所指向的密文存储空间中,同时将明文字符指针和密文字符指针指向下一位,反之,将密文字符指针指向下一位;
所述第一结果值和第二结果值的异或结果为1。例如,第一结果值为1,则第二结果值为0,步骤S421中进行遍历时,只有当第一密钥字符指针和第二密钥字符指针所指向的字符位的异或结果为1时,才会将明文字符指针所指向的字符赋值到密文字符指针所指向的密文存储空间中,并且在每次对密文存储空间进行赋值时,才将明文字符指针按照设定的遍历方向移动一位,遍历时在每进行一次异或操作判断后,均将密文字符指针按照设定的遍历方向移动一位,密文字符指针的遍历方向也是循环遍历方式。
参照图2,本发明还提供了一种基于流密码的循环链表异或解密方法,包括:
S5、获取字符随机数、第一加密随机数和第二加密随机数,同时在计算机内存开辟明文存储空间;在计算机内存开辟明文存储空间具体是:获取明文文件的码元个数后,在计算机内开辟与该码元个数相同位数的明文存储空间;
S6、根据第一加密随机数和第二加密随机数的值,分别生成第一密钥字符指针和第二密钥字符指针使其指向密钥文件的对应字符位,同时根据字符随机数的值生成明文字符指针使其指向明文存储空间的对应字符位;
S7、分别获取明文字符指针、第一密钥字符指针和第二密钥字符指针的遍历方向;
S8、对第一密钥字符指针和第二密钥字符指针进行两次循环链表遍历,同时根据两者所指向的字符位的异或结果,遍历密文文件后生成明文文件。
进一步作为优选的实施方式,所述步骤S8,包括:
S81、生成密文字符指针使其指向密文文件的第一位;
S82、对第一密钥字符指针和第二密钥字符指针进行两次循环链表遍历,同时根据两者所指向的字符位的异或结果,对密文字符指针和明文字符指针进行遍历,并将密文字符指针所指向的字符填入明文字符指针所指向的明文存储空间中;
S83、读取明文存储空间的字节,生成明文文件。
进一步作为优选的实施方式,所述步骤S82,包括:
S821、对第一密钥字符指针和第二密钥字符指针进行循环链表遍历,若判断第一密钥字符指针和第二密钥字符指针所指向的字符位的异或结果为第一结果值,则将密文字符指针所指向的字符填入明文字符指针所指向的明文存储空间中,同时将密文字符指针和明文字符指针指向下一位,反之,将密文字符指针指向下一位;
S822、再次对第一密钥字符指针和第二密钥字符指针进行循环链表遍历,若判断第一密钥字符指针和第二密钥字符指针所指向的字符位的异或结果为第二结果值,则将密文字符指针所指向的字符填入明文字符指针所指向的明文存储空间中,同时将密文字符指针和明文字符指针指向下一位,反之,将密文字符指针指向下一位;
与步骤S42中对应,第一结果值和第二结果值的异或结果为1。例如,第一结果值为1,则第二结果值为0,步骤S821中进行遍历时,只有当第一密钥字符指针和第二密钥字符指针所指向的字符位的异或结果为1时,才会将密文字符指针所指向的字符赋值到明文字符指针所指向的明文存储空间中,并且在每次对明文存储空间进行赋值时,才将明文字符指针按照设定的遍历方向移动一位,遍历时在每进行一次异或操作判断后,均将密文字符指针按照设定的遍历方向移动一位,密文字符指针的遍历方向也是循环遍历方式。
本发明的加密方法和解密方法中,密文字符指针的遍历方向都是向下一位遍历,遍历到最后一位时,密文字符指针相应地返回指向密文存储空间或密文文件的第一位。
进一步作为优选的实施方式,所述密钥文件的码元个数m小于等于明文文件的码元个数n。
密钥文件可以来自于音频、视频、图片、图像、图形、伪随机码、混沌值等。
本发明在流密码加密的过程中不需要专用的计算机硬件、专用的电子逻辑器件,更不需要逻辑电路的设计,完全是用计算机软件编程解决流密码的加密和解密过程。这样,明码的加密和解密的外界条件要求很低,只要有联网的计算机,就可进行加密和解密工作,本项技术具有很强的适用性。
而且本发明不仅实现方式简单,加密解密过程灵活性强,安全性高,可靠性高。
下面结合实施例对本发明做详细说明:
实施例一
基于流密码的循环链表异或加密方法:
设明文文件M={x0x1…xn-1},xi={0,1},密钥文件P={y0y1…yn-1},yi={0,1},对明文文件M和密钥文件P而言,i的取值范围均为:0≤i≤n-1。明文文件M和密钥文件P为循环链表,例如,遍历到yn-1时,后继遍历的是y0,同样的,遍历到xn-1时,后继遍历的是x0
分别选取字符随机数k、第一加密随机数i和第二加密随机数j,满足以下条件:0≤k≤n-1,0≤i≤n-1,0≤j≤n-1。
生成第一密钥字符指针p和第二密钥字符指针q,使得p指向密钥文件的对应字符位yi位,q指向密钥文件的对应字符位yj位,同时生成明文字符指针r,使得r指向明文文件的对应字符位xk位。
明文字符指针r的遍历方向可以为r++指向xk+1或r--指向xk-1,第一密钥字符指针p的遍历方向可以为p++指向yi+1或者p--指向yi-1,第二密钥字符指针q的遍历方向可以为q++指向yj+1或者q--指向yj-1
本实施例中,分别设定明文字符指针r的遍历方向为r++指向xk+1,第一密钥字符指针p的遍历方向为p++指向yi+1,第二密钥字符指针q的遍历方向为q++指向yj+1
在计算机内存开辟密文存储空间C ={z0z1…zn-1},zi={0,1},并生成密文字符指针s使其指向密文存储空间C的首地址z0
执行第一次遍历,判断*p⊕*q的结果值,若结果值为“1”,则*s=*r,p++,q++,s++,r++,否则,p++,q++,s++。
执行完一次遍历后,第一密钥字符指针p又指向了密钥文件的对应字符位yi位,第二密钥字符指针q又指向密钥文件的对应字符位yj位,密文字符指针s又指向密文存储空间C的首地址z0
执行第二次遍历,判断*p⊕*q的结果值,若结果值为“0”,则*s=*r,p++,q++,s++,r++,否则,p++,q++,s++。
为了保证遍历的一致性,执行第二次遍历之前,可以获取第一加密随机数i和第二加密随机数j的值,使得第一密钥字符指针p又指向了密钥文件的对应字符位yi位,第二密钥字符指针q又指向密钥文件的对应字符位yj位后,同时使得密文字符指针s指向密文存储空间C的首地址z0后,再进行遍历。
实施例二
本实施例是与实施例一对应的基于流密码的循环链表异或解密方法:
获取字符随机数k、第一加密随机数i和第二加密随机数j;
生成第一密钥字符指针p和第二密钥字符指针q,使得p指向密钥文件的对应字符位yi位,q指向密钥文件的对应字符位yj位,同时生成明文字符指针r,在计算机内存开辟明文存储空间M’={ x0x1…xn-1},xi={0,1},使得r指向明文存储空间M’的对应字符位xk位。
分别获取明文字符指针r、第一密钥字符指针p和第二密钥字符指针q的遍历方向;
生成密文字符指针s使其指向密文文件的第一位z0
执行第一次遍历,判断*p⊕*q的结果值,若结果值为“1”,则*r =*s,p++,q++,s++,r++,否则,p++,q++,s++。
执行完一次遍历后,第一密钥字符指针p又指向了密钥文件的对应字符位yi位,第二密钥字符指针q又指向密钥文件的对应字符位yj位,密文字符指针s又指向密文文件的第一位z0
执行第二次遍历,判断*p⊕*q的结果值,若结果值为“0”,则*r =*s,p++,q++,s++,r++,否则,p++,q++,s++。
为了保证遍历的一致性,执行第二次遍历之前,可以获取第一加密随机数i和第二加密随机数j的值,使得第一密钥字符指针p又指向了密钥文件的对应字符位yi位,第二密钥字符指针q又指向密钥文件的对应字符位yj位后,同时使得密文字符指针s指向密文文件的第一位z0后,再进行遍历。
实施例三
本实施例是基于实施例一的详细例子。明文文件M={中}=(0xE6 0xD0)16=(x0…x15)2=(1110 0110 1101 0000)2,密钥文件P={祖}=(0xD7 0xE6)16=(y0…y15)2=(1101 01111110 0110)2,选取i=3,j=4,k=5,生成第一密钥字符指针p和第二密钥字符指针q,使得p指向密钥文件的对应字符位y3位,q指向密钥文件的对应字符位y4位,同时生成明文字符指针r,使得r指向明文文件的对应字符位x5位,生成密文字符指针s使其指向密文存储空间的第一位z0
遍历时指针行进方向:p++→y4;q++→y5;r++→x6
执行循环链表遍历时,对明文文件进行遍历加密的具体加密过程如图3所示,最后获得密文文件为C={乞}={0xC6,0xF2}。
实施例四
本实施例是基于实施例二的详细例子,对实施例三中生成的密文文件进行解密。
密文文件C={乞}=(0xC6,0xF2)16=(z0z1…z15)2=(1100 0110 1111 0010)2,密钥文件P={祖}=(0xD7 0xE6)16=(y0…y15)2=(1101 0111 1110 0110)2,获得i=3,j=4,k=5,生成第一密钥字符指针p和第二密钥字符指针q,使得p指向密钥文件的对应字符位y3位,q指向密钥文件的对应字符位y4位,同时计算机内存开辟明文存储空间,生成明文字符指针r,使得r指向明文存储空间的对应字符位x5位,生成密文字符指针s使其指向密文文件的第一位z0
遍历时指针行进方向:p++→y4;q++→y5;r++→x6
执行循环链表遍历时,对密文文件进行遍历解密的具体解密过程如图4所示,最后读取明文存储空间后生成明文文件为M={中}=(0xE6 0xD0)16
实施例三和实施例四只取一个字节作为密钥文件P进行加密,这样的加密容易被破解。但是,当密钥文件P的字节为8、16、32甚至64字节时,其破译的难度将会越来越大。密钥文件P的长度最长可以与明文的字节长度一样。即使密钥文件P只采用单字节,但是对长度较长的明文文件进行多次迭代时,其破译难度将相当大。由此可见,本方法不仅实现方式简单,而且灵活性强,安全性高,可靠性高。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变型或替换均包含在本申请权利要求所限定的范围内。

Claims (6)

1.基于流密码的循环链表异或加密方法,其特征在于,包括:
S1、分别选取字符随机数、第一加密随机数和第二加密随机数;
S2、根据第一加密随机数和第二加密随机数的值,分别生成第一密钥字符指针和第二密钥字符指针使其指向密钥文件的对应字符位,同时根据字符随机数的值生成明文字符指针使其指向明文文件的对应字符位;
S3、分别设定明文字符指针、第一密钥字符指针和第二密钥字符指针的遍历方向;
S4、对第一密钥字符指针和第二密钥字符指针进行两次循环链表遍历,同时根据两者所指向的字符位的异或结果,遍历明文字符指针并生成密文文件;步骤S4,包括:
S41、在计算机内存开辟密文存储空间,并生成密文字符指针使其指向密文存储空间的首地址;
S42、对第一密钥字符指针和第二密钥字符指针进行两次循环链表遍历,同时根据两者所指向的字符位的异或结果,对明文字符指针和密文字符指针进行遍历,并将明文字符指针所指向的字符填入密文字符指针所指向的密文存储空间中;
S43、读取密文存储空间的字节,生成密文文件。
2.根据权利要求1所述的基于流密码的循环链表异或加密方法,其特征在于,
所述步骤S1,其具体为:
获取明文文件的码元个数n后,选取小于该码元个数n的整数作为字符随机数,同时获取密钥文件的码元个数m后,分别选取两个小于该码元个数m的整数作为第一加密随机数和第二加密随机数。
3.根据权利要求1所述的基于流密码的循环链表异或加密方法,其特征在于,
所述步骤S42,包括:
S421、对第一密钥字符指针和第二密钥字符指针进行循环链表遍历,若判断第一密钥字符指针和第二密钥字符指针所指向的字符位的异或结果为第一结果值,则将明文字符指针所指向的字符填入密文字符指针所指向的密文存储空间中,同时将明文字符指针和密文字符指针指向下一位,反之,将密文字符指针指向下一位;
S422、再次对第一密钥字符指针和第二密钥字符指针进行循环链表遍历,若判断第一密钥字符指针和第二密钥字符指针所指向的字符位的异或结果为第二结果值,则将明文字符指针所指向的字符填入密文字符指针所指向的密文存储空间中,同时将明文字符指针和密文字符指针指向下一位,反之,将密文字符指针指向下一位;
所述第一结果值和第二结果值的异或结果为1。
4.根据权利要求2所述的基于流密码的循环链表异或加密方法,其特征在于,
所述密钥文件的码元个数m小于等于明文文件的码元个数n。
5.基于流密码的循环链表异或解密方法,其特征在于,包括:
S5、获取字符随机数、第一加密随机数和第二加密随机数,同时在计算机内存开辟明文存储空间;
S6、根据第一加密随机数和第二加密随机数的值,分别生成第一密钥字符指针和第二密钥字符指针使其指向密钥文件的对应字符位,同时根据字符随机数的值生成明文字符指针使其指向明文存储空间的对应字符位;
S7、分别获取明文字符指针、第一密钥字符指针和第二密钥字符指针的遍历方向;
S8、对第一密钥字符指针和第二密钥字符指针进行两次循环链表遍历,同时根据两者所指向的字符位的异或结果,遍历密文文件后生成明文文件;
所述步骤S8,包括:
S81、生成密文字符指针使其指向密文文件的第一位;
S82、对第一密钥字符指针和第二密钥字符指针进行两次循环链表遍历,同时根据两者所指向的字符位的异或结果,对密文字符指针和明文字符指针进行遍历,并将密文字符指针所指向的字符填入明文字符指针所指向的明文存储空间中;
S83、读取明文存储空间的字节,生成明文文件。
6.根据权利要求5所述的基于流密码的循环链表异或解密方法,其特征在于,
所述步骤S82,包括:
S821、对第一密钥字符指针和第二密钥字符指针进行循环链表遍历,若判断第一密钥字符指针和第二密钥字符指针所指向的字符位的异或结果为第一结果值,则将密文字符指针所指向的字符填入明文字符指针所指向的明文存储空间中,同时将密文字符指针和明文字符指针指向下一位,反之,将密文字符指针指向下一位;
S822、再次对第一密钥字符指针和第二密钥字符指针进行循环链表遍历,若判断第一密钥字符指针和第二密钥字符指针所指向的字符位的异或结果为第二结果值,则将密文字符指针所指向的字符填入明文字符指针所指向的明文存储空间中,同时将密文字符指针和明文字符指针指向下一位,反之,将密文字符指针指向下一位;
所述第一结果值和第二结果值的异或结果为1。
CN201510476834.4A 2015-08-06 2015-08-06 基于流密码的循环链表异或加密方法及解密方法 Active CN105141413B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510476834.4A CN105141413B (zh) 2015-08-06 2015-08-06 基于流密码的循环链表异或加密方法及解密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510476834.4A CN105141413B (zh) 2015-08-06 2015-08-06 基于流密码的循环链表异或加密方法及解密方法

Publications (2)

Publication Number Publication Date
CN105141413A CN105141413A (zh) 2015-12-09
CN105141413B true CN105141413B (zh) 2018-05-15

Family

ID=54726633

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510476834.4A Active CN105141413B (zh) 2015-08-06 2015-08-06 基于流密码的循环链表异或加密方法及解密方法

Country Status (1)

Country Link
CN (1) CN105141413B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105959118A (zh) * 2016-04-28 2016-09-21 吉林大学 基于流密码的双位单向循环链表加密解密方法
CN106953875A (zh) * 2017-04-26 2017-07-14 吉林大学珠海学院 基于多密钥流密码的顺序加密方法
CN108777611B (zh) * 2018-05-11 2021-06-18 吉林大学 基于双密钥流密码的双向链表顺序加密解密方法
CN109981249B (zh) * 2019-02-19 2020-09-08 吉林大学珠海学院 基于拉链式动态散列和nlfsr的加密解密方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101771533A (zh) * 2008-12-30 2010-07-07 上海华虹集成电路有限责任公司 基于线性反馈移位寄存器的序列流密码算法硬件实现方法
WO2012140144A1 (en) * 2011-04-12 2012-10-18 Telefonica, S.A. Method and system for improving the synchronization of stream ciphers
CN103095449A (zh) * 2013-01-16 2013-05-08 司玉娟 一种基于流密码的动态加密解密方法
CN103595524A (zh) * 2013-10-21 2014-02-19 吉林大学 一种基于流密码的丢位加密-补位解密的加解密方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101771533A (zh) * 2008-12-30 2010-07-07 上海华虹集成电路有限责任公司 基于线性反馈移位寄存器的序列流密码算法硬件实现方法
WO2012140144A1 (en) * 2011-04-12 2012-10-18 Telefonica, S.A. Method and system for improving the synchronization of stream ciphers
CN103095449A (zh) * 2013-01-16 2013-05-08 司玉娟 一种基于流密码的动态加密解密方法
CN103595524A (zh) * 2013-10-21 2014-02-19 吉林大学 一种基于流密码的丢位加密-补位解密的加解密方法

Also Published As

Publication number Publication date
CN105141413A (zh) 2015-12-09

Similar Documents

Publication Publication Date Title
Paar et al. Understanding cryptography: a textbook for students and practitioners
US8300828B2 (en) System and method for a derivation function for key per page
CN109861820B (zh) 基于随机散列和位运算的加密解密方法和装置
US8428251B2 (en) System and method for stream/block cipher with internal random states
Omolara et al. Developing a modified hybrid caesar cipher and vigenere cipher for secure data communication
CN105141413B (zh) 基于流密码的循环链表异或加密方法及解密方法
KR20120026022A (ko) 특히 고차의 관측 공격에 대해 보호되는 암호화 회로
CN102752101A (zh) 阶层式数据加密/解密装置及其方法
CN105959118A (zh) 基于流密码的双位单向循环链表加密解密方法
CN107769910A (zh) 一种基于Latch PUF的抗边信道攻击DES防护方法及电路
CN109194461A (zh) 基于双密钥流密码的单向链表顺序加密解密方法
CN109714368B (zh) 报文加解密方法、装置、电子设备及计算机可读存储介质
CN103595524B (zh) 一种基于流密码的丢位加密-补位解密的加解密方法
US11336425B1 (en) Cryptographic machines characterized by a Finite Lab-Transform (FLT)
Abdulraheem et al. Secure iot model based on present lightweight modified and chaotic key generator
US11093213B1 (en) Cryptographic computer machines with novel switching devices
CN108777611A (zh) 基于双密钥流密码的双向链表顺序加密解密方法
Vialar Fast side-channel key-recovery attack against elephant dumbo
CN110474967B (zh) 块链实验系统及方法
Ullagaddi et al. Symmetric synchronous stream encryption using images
Thakur et al. A symmetrical key cryptography analysis using blowfish algorithm
US8437472B2 (en) Strengthened key schedule for arcfour
CN108777622A (zh) 一种二进制流散列取模加密解密方法
CN108270544A (zh) 一种基于urDEED算法的密文图像可逆信息隐藏方法及装置
AlSideiri et al. Cybersecurity Enhancement through Hybrid Encryption: Combining RSA and Vigenère Algorithms in the Cypher-X System

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant