CN101459510B - 实时传输数据的加密算法的实现方法及装置 - Google Patents

实时传输数据的加密算法的实现方法及装置 Download PDF

Info

Publication number
CN101459510B
CN101459510B CN2007100324566A CN200710032456A CN101459510B CN 101459510 B CN101459510 B CN 101459510B CN 2007100324566 A CN2007100324566 A CN 2007100324566A CN 200710032456 A CN200710032456 A CN 200710032456A CN 101459510 B CN101459510 B CN 101459510B
Authority
CN
China
Prior art keywords
key
real
transmission data
algorithm
time transmission
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
CN2007100324566A
Other languages
English (en)
Other versions
CN101459510A (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.)
Huawei Digital Technologies Chengdu Co Ltd
Original Assignee
Huawei Symantec Technologies Co Ltd
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 Huawei Symantec Technologies Co Ltd filed Critical Huawei Symantec Technologies Co Ltd
Priority to CN2007100324566A priority Critical patent/CN101459510B/zh
Publication of CN101459510A publication Critical patent/CN101459510A/zh
Application granted granted Critical
Publication of CN101459510B publication Critical patent/CN101459510B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种实时传输数据的加密算法的实现方法,包括:确定对待加密的实时传输数据进行加密计算的迭代轮数;在每一轮加密迭代时,根据密钥选择预置在算法库中的多个算法中的一个算法,并结合所述密钥对以数据包为单位的实时传输数据进行加密计算。本发明还公开了一种实时传输数据的加密算法的实现装置。采用本发明,克服了简单加密带来的安全系数低的问题以及强加密的复杂性的问题,达到对实时传输数据安全的加密效果,从而解决实时传输的VoIP数据所面临的各种安全威胁问题。

Description

实时传输数据的加密算法的实现方法及装置
技术领域
本发明涉及实时传输技术,尤其涉及一种实时传输数据的加密算法的实现方法及装置。
背景技术
随着宽带网络的迅猛发展以及三网合一的逐渐普及,现在的网络技术中,出现了一种基于IP网络的语音传输(VoIP,Voice over Internet Protocl)技术的新业务模式,其本质上就是用户通过连接在互联网上的终端,呼叫另一用户(可以连接在互联网上也可以连接在固话网上)的通信形式。
然而VoIP技术也有着其诸多的缺点,众所周知,语音数据作为IP网络内的一种特殊流量,不仅面临着IP数据网络司空见惯的病毒与攻击等安全威胁,其面临的特有的安全问题主要还有:拒绝服务(DoS,Denial of Service)攻击、通话干扰、话费欺诈或窃听等威胁。
目前虽然有很多机构和公司在研究VoIP的保密通信方案并提出了很多非常有效的安全措施,因其高安全性而应用在很多对安全性要求较高的场合下,然而其高安全性带来的却是高额的投资、复杂的配置部署、系统性能的大幅下降以及语音流延迟的增加等,因此现在的VoIP运营商迫切的需要一种适合他们的轻量级的VoIP加密方法。
现有技术的实时传输的VoIP数据的加密算法的实现方案是采用强加密或者简单的加密方法,所谓的强加密方法就是采用分组密码或与公钥密码结合的强加密方式,其加密强度大;而简单加密方法就是仅对VoIP数据进行简单的运算,例如异或运算等等。
发明人在实施本发明实施例的过程中,发现现有的采用强加密方法的不足之处有:
实现难度大,配置复杂,实现成本高;加密运算量大,系统性能消耗高。
采用简单加密的方法,具有的缺点是:
加密强度太弱,很容易被分析攻破,无法起到长久的安全保护目的。
发明内容
本发明实施例提供一种实时传输数据的加密算法的实现方法及装置,利用算法的不断变化的特性代替算法的复杂性,可达到安全的加密效果,解决实时传输的VoIP数据所面临的各种安全威胁问题。
为解决上述技术问题,本发明实施例提供的实时传输数据的加密算法的实现方法,包括:
确定对待加密的实时传输数据进行加密计算的迭代轮数;
在每一轮加密迭代时,根据密钥选择预置在算法库中的多个算法中的一个算法,并结合所述密钥对以数据包为单位的实时传输数据进行加密计算。
相应地,本发明实施例提供的实时传输数据的加密算法的实现装置,包括:
算法存储模块,用于存储有多个算法的算法库;
密钥生成模块,用于根据传输的主密钥和以前所有用过的密钥生成本次加密所要用到的密钥;
加密计算模块,用于在每一轮加密迭代时,根据所述主密钥选择预置在算法库中的多个算法中的一个算法,并结合所述密钥生成模块生成的密钥对以数据包为单位的实时传输数据进行加密计算
实施本发明,具有如下有益效果:
本发明实施例提供的实时传输数据的加密算法的实现方法及装置,利用算法的不断变化的特性代替算法的复杂性,并对待加密的实时传输数据进行多轮加密迭代,克服简单加密带来的安全系数低的问题,达到安全的加密效果,从而解决实时传输的VoIP数据所面临的各种安全威胁问题。
附图说明
图1是本发明实施例提供实时传输数据的加密算法的实现装置的第一实施例的结构示意图;
图2是本发明实施例提供实时传输数据的加密算法的实现装置的第二实施例的结构示意图;
图3是本发明实施例提供的如图1所示的实时传输数据的加密算法的实现装置中的预置模块的具体组成示意图;
图4是本发明实施例提供的如图2所示的实时传输数据的加密算法的实现装置中的密钥生成模块的具体组成示意图;
图5是本发明实施例提供的实时传输数据的加密算法的实现方法的第一实施例的流程示意图;
图6是本发明实施例提供的实时传输数据的加密算法的实现方法中,当加密迭代的轮数为8轮,算法的个数为8个时,加密迭代的示意图;
图7是本发明实施例提供的实时传输数据的加密算法的实现方法的第二实施例的流程示意图。
具体实施方式
本发明实施提供的实时传输数据的加密算法的实现方法及装置,利用算法的不断变化的特性代替算法的复杂性,并对待加密的实时传输数据进行多轮加密迭代,克服简单加密带来的安全系数低的问题,达到安全的加密效果,从而解决实时传输的VoIP数据所面临的各种安全威胁问题。
参见图1是本发明实施例提供实时传输数据的加密算法的实现装置的第一实施例的结构示意图;
所述实时传输数据的加密算法的实现装置包括:
算法存储模块1,用于存储有多个算法的算法库;存储的算法可以包括异或运算、循环位移运算、或有限域加法运算。需要说明的是,本发明实施例只提供整个算法的结构,算法库中包括的算法的实现可以由使用者自行定义算法库,算法的选择不影响本发明实施例的实现。
预置模块2,用于在对每一个数据包进行加密计算时,预置算法库中的算法个数N;预置待加密的实时传输数据进行加密计算的迭代轮数M;预置对所述实时传输数据进行加密计算的初始密钥及每一轮加密密钥所占的字节数;和预置每一轮算法库中N个算法排列顺序的初始值。
参见图3,是本发明实施例提供的预置模块2的具体组成示意图;
所述预置模块2包括:
算法个数预置单元20,用于预置所述算法库中的算法个数N;
迭代轮数预置单元21,用于预置待加密的实时传输数据进行加密计算的迭代轮数M;
密钥预置单元22,用于预置对所述实时传输数据进行加密计算的初始密钥及每一轮加密密钥所占的字节数;所述初始密钥与未来传输的密钥共同生成决定每一轮的算法库中的N个算法的排列顺序的主密钥,还用于从每一轮的算法库中选择一种算法用来参与该轮的加密计算;根据所述主密钥的一部分可作为子密钥,在每一轮加密迭代时,所述每一轮的子密钥决定所述算法库中N个算法旋转后的排列顺序
排列顺序预置单元23,用于预置每一轮算法库中N个算法排列顺序的初始值。
所述实时传输数据的加密算法的实现装置还包括:
密钥生成模块3,用于根据传输的主密钥和以前所有用过的密钥生成本次加密所要用到的密钥。
密钥生成模块3具体包括:
主密钥生成单元,用于生成对所述实时传输数据进行加密计算的主密钥,所述主密钥决定每一轮的算法库中的N个算法的排列顺序的初始值,还用于从每一轮的算法库中选择一种算法用来参与该轮的加密计算;
子密钥生成单元,用于根据所述主密钥生成的子密钥,在每一轮加密迭代时,所述每一轮的子密钥决定所述算法库中N个算法旋转后的排列顺序。
加密计算模块4,用于在每一轮加密迭代时,根据所述密钥选择预置在算法库中的N个算法中的一个算法,并结合密钥对以数据包为单位的实时传输数据进行加密计算。
每次迭代可供选择的算法库既可以是相同的,也可以是不同的。密钥除了与待加密的数据包进行计算之外,还有一个重要作用是从每一轮的算法库中选择用来参与本轮计算的算法。此外,每一轮的子密钥可以直接取主密钥的一部分。
需要说明的是,本实施例中,所述密钥主要有两个作用,一个作用是与待加密的实时传输数据进行计算,另一个重要的作用就是从每一轮的算法库中,选择出一种算法用来参与本轮的计算并改变算法库中算法的排列顺序。
本发明实施提供的实时传输数据的加密算法的实现装置,并对待加密的实时传输数据进行多轮加密迭代,克服简单加密带来的安全系数低的问题,又因为每轮使用的都是不固定的简单加密算法,克服了算法的复杂性问题,达到安全的加密效果,从而解决实时传输的VoIP数据所面临的各种安全威胁问题。
图2是本发明实施例提供实时传输数据的加密算法的实现装置的第二实施例的结构示意图。
所述实时传输数据的加密算法的实现装置包括:
算法存储模块1,用于存储有多个算法的算法库;存储的算法可以包括异或运算、循环位移运算、或有限域加法运算。需要说明的是,本发明实施例只提供整个算法的结构,算法库中包括的算法的实现可以由使用者自行定义算法库,算法的选择不影响本发明实施例的实现。
预置模块2,用于在对每一个数据包进行加密计算时,预置算法库中的算法个数N;预置待加密的实时传输数据进行加密计算的迭代轮数M;预置对所述实时传输数据进行加密计算的初始密钥及每一轮加密密钥所占的字节数;和预置每一轮算法库中N个算法排列顺序的初始值。
本发明实施例中,预置模块2中还在每一个数据包中预置有对具体参与加密迭代的轮次进行取舍,确定每一个数据包中采用的算法的次密钥;
密钥生成模块3,用于根据传输的主密钥和以前所有用过的密钥生成本次加密所要用到的密钥。
参见图4,是本发明实施例提供的密钥生成模块3的具体组成示意图;
所述密钥生成模块3包括:
主密钥生成单元30,用于生成对所述实时传输数据进行加密计算的主密钥,所述主密钥决定每一轮的算法库中的N个算法的排列顺序的初始值,还用于从每一轮的算法库中选择一种算法用来参与该轮的加密计算;
子密钥生成单元31,用于根据所述主密钥生成的子密钥,在每一轮加密迭代时,所述每一轮的子密钥决定所述算法库中N个算法旋转后的排列顺序;
需要说明的是,每次加密迭代时每轮的算法库中的排列顺序都是根据由主密钥生成(生成方法任意,不是重点内容)的该轮的子密钥旋转排列而成,每一次的旋转都是在上一次旋转的基础之上,因为旋转相当于在有限域中的加法运算,所以客户端和服务器只需记住最后一次旋转之后相对于初始位置的差值即可,这样的好处在所述密钥相当于是前面所有使用过的密钥的总和,所以即便攻击者截获了一次正在传输的密钥,因为不知道上次算法库的排列顺序,因此也无法获知用户到底采用的是什么算法,从而无法解出密文。
次密钥生成单元32,用于生成决定在每个数据包中所采用的算法的轮次的次密钥,并附在每个数据包中进行传送。
具体来讲,在每个实施传输的数据包中,增加一个次密钥(这个次密钥可以由发送方随机产生,这个次密钥在起作用的同时也可以参与具体的运算),它的主要作用是标识在整个算法的所有轮中具体采用哪一轮或是不采用哪一轮,例如在每个数据包中附加一个字节的次密钥,这个次密钥随机产生,由客户端和服务器根据这一次密钥的数值对最终所采用的算法进行选择,如果次密钥是0×8d,用二进制表示为1000 1101,每一个bit对应于每一个轮,取1的轮数参与计算,取0的则该轮舍弃,如果采用32轮的算法,无论每轮算法数量多少,则每个包中需要增加4字节的标志位(而原来的方法至少要增加12字节),这种采用次密钥的带宽增加量可以大大的减少,并且在对不同轮算法的取舍的同时又极大地增加了算法组合的数量。
所述实时传输数据的加密算法的实现装置还包括:
加密计算模块4,用于在每一轮加密迭代时,根据所述密钥选择预置在算法库中的N个算法中的一个算法,并结合所述密钥对以数据包为单位的实时传输数据进行加密计算。每次迭代可供选择的算法库既可以是相同的,也可以是不同的。密钥除了与待加密的数据包进行计算之外,还有一个重要作用是从每一轮的算法库中选择用来参与本轮计算的算法。此外,每一轮的子密钥可以直接取主密钥的一部分。
轮次取舍模块5,用于对具体参与加密迭代的轮次进行取舍,确定每一个数据包中采用的算法。
通过每次加密都采用不同的算法组合来使得每个数据包加密经过的运算都不相同,近似于“一次一密”体制,且算法库中的算法可以定义得简单易实现,无须考虑算法的复杂性和数学理论,因此,本发明实施例提供的实时传输数据的加密算法是一种轻量级的、安全性能很好且完全适合于VoIP传输的加密算法。
图5是本发明实施例提供的实时传输数据的加密算法的实现方法的第一实施例的流程示意图;
首先,说明一下本发明实施例提供的实时传输数据的加密算法的实现方法,从待加密的实时传输的数据包到密文一共要经历m轮计算,每轮计算都是从包含有n种算法的算法库中进行随机选择,总的算法就是每轮选择的算法的和。其次,每次迭代可供选择的算法库既可以是相同的,也可以是不同的。密钥除了与明文进行计算之外,还有一个重要作用是从每一轮的算法库中选择用来参与本轮计算的算法。此外,每一轮的子密钥可以直接取主密钥的一部分。
本发明实施例提供的实时传输数据的加密算法的实现方法的流程如下:
在步骤100,初始化过程,确定主密钥以及加密迭代的轮数M,以及预置在算法库中的算法个数N;
在步骤101,由所述主密钥生成子密钥(子密钥可以直接取主密钥的一部分),以确定每一轮加密迭代时,参与加密计算的算法;并对算法库中算法的排列顺序进行更改;
在步骤102,以所述由每一轮的子密钥及其确定的算法,对每一个数据包进行加密计算;此步骤要重复执行M轮次;
在步骤103,传输加密后的数据包;
在步骤104,取出待加密的下一个数据包,转入对所述数据包进行加密迭代计算步骤;
重复102至步骤104,完成所有待加密的数据包的加密计算。
本发明实施例以数据包为单位进行加密,加密每个数据包的时候都变化一次,这对VoIP音频数据包的传输尤其有意义,因为根据RFC1889中关于RTP协议的介绍(RTP是基于UDP的VoIP传输的基本传输协议,目前几乎所有运营商所用的VoIP传输协议都是RTP协议或是基于RTP协议的修改),在每个VoIP数据包中都有重要的标志位和计数器(共12字节),加密这些数据是抵御黑客插音、干扰等影响VoIP运营的攻击的关键所在;而又因为HW-F算法以数据包为单位,每个数据包的算法都不一样,而且变化规律前后没有关联,非常适合于VoIP这种丢包率较大的应用(目前最好的VoIP音频编码算法甚至能容忍30%的丢包率)中,而在这种场合中,尤其不适合流密码的使用,很多流密码需要收发双方的严格同步。
本发明实施例提供的实时传输数据的加密算法的实现方法,每轮的算法都是不固定的,而是在每轮预置的包含n种算法的算法库中进行临时随机地选择,总的算法就是每轮选择的算法的和,这样根据排列组合的原理,经过m轮之后,所有轮算法的和也就是总的算法就可能有nm种,配以适当的策略可以使这种组合的数量进一步大幅增长,从而达到近似“一次一密”的能力,同时因为算法是一系列相对简易的算法的组合,所以可以大大提高算法的加解密速度。
这里需要说明的是算法库的大小、轮数以及具体的算法都可以由各运营商自定义,这里可以不考虑运营商之间的算法兼容性的问题,因为目前在VoIP的实际运营中,都是通过专门的网关实现互联互通。
本发明实施例提供的加密算法同时还具有无需考虑密钥的安全传送的特点。
参见图6,本发明实施例提供的实时传输数据的加密算法的实现方法中,当加密迭代的轮数为8轮,算法的个数为8个时,加密迭代方法的示意图;
下面对图6进行详细说明,如图所示,从明文到密文一共经历了8(m=8)轮计算,每轮计算都从包含8种(n=8)算法的算法库中选择(用八边形的八个顶点表示,每一次轮运算只经过八边形的一个顶点,也就是只通过8种算法的一种),每次迭代可供选择的算法库既可以完全相同,也可以不同,每一轮的子密钥可以直接取主密钥的一部分。
算法库中的算法的设计要满足如下的特点和要求:
1、所有的算法都是自定义的,灵活性大;
2、算法运算量小,即便是数个算法的组合速度也很快;
3、每个算法必须可以单独加解密(或者说是线性的、可逆的);
4、相邻算法库最好不同或者算法库比较大,从而尽量避免相邻两轮选择同样的或同性质的算法。
可以作为参考的算法有:异或运算、循环位移运算、有限域加法运算等,本发明仅提供整个算法的结构,算法库中算法的实现并不是重点内容,可以由使用者自行定义算法库,算法的选择并不影响本发明的实现。
本发明实施例提供的加密算法以数据包为单位,本算法中的密钥主要有两个作用:一个作用是与明文进行计算,另一个重要的作用是从每一轮的算法库中选择一种算法用来参与本轮的计算,具体为:
本发明实施例提供的加密算法在每一轮的算法库中的算法排列顺序有一个初始值,所有轮的初始值的总和可作为本地密钥固化在软件中,在第一次使用注册的时候提交注册用户名,服务器根据此用户名在密钥库中查找到该用户名对应的密钥,以后每次加密时每轮的算法库中的排列顺序都是根据由密钥生成(生成方法任意,不是重点内容)的该轮的子密钥旋转排列(如示意图6中的八边形按照指示的数值顺时针或逆时针选转)而成,每一次的旋转都是在上一次旋转的基础之上,因为八边形的旋转相当于在有限域中的加法运算,所以客户端和服务器只需记住最后一次旋转之后相对于初始位置的差值即可,这样的好处在于密钥相当于是前面所有使用过的密钥的总和,所以即便攻击者截获了一次正在传输的密钥,因为不知道上次算法库的排列顺序,因此也无法获知用户到底采用的是什么算法,从而无法解出密文。
图6表示整个加密算法的最原始状态,在初始状态下,待加密的实时传输数据包加密成密文(不考虑密钥的影响)所经过的算法依次为C0+C1+C2+C3+C4+C5+C6+C7;加密时每一轮8种算法的顺序由3bit(23)来表示,一共经过8轮,则需要3个字节的密钥(3bit*8)就可以。假设密钥是0×3167 7B(3个字节),用二进制表示为00110001 01010111 01111011,每3bit一组得出的数值用来表示密钥需要旋转的次数为1、4、2、5、3、5、7、3,那么整个结构中的每一轮根据对应的密钥进行旋转相应的次数,从而选择具体的加密算法,最终明文实际上通过的加密算法依次应为(顺时针转):
D0+G1+E2+A3+F4+H5+B6+F7;
旋转之后,每轮的算法排列顺序就此改变,并且排列顺序不恢复原值,作为下一次旋转的依据。
在下一轮计算中,即便对应用相同的密钥,因为和上一次旋转的初始的排列顺序不同,因此这次经过的加密算法依次应为:
E0+C1+G2+G3+A4+E5+A6+A7;
显然可见两轮使用相同密钥进行旋转加密的情况下计算出来的结果是完全不同的。
从上面的叙述中可以看出,本发明实施例提供的加密算法结构仅利用8种算法经过8轮加密就使得用户实际上总共可以有16777216(88)种算法组合可供选择。
当然在实际情况中,可以大大的增加每一轮的算法数量(例如增加到256),从而既增加总的算法组合数量,又可以避免在下一轮中对算法进行了重复选择的情况。
图7是本发明实施例提供的实时传输数据的加密算法的实现方法的第二实施例的流程示意图。
首先,本发明实施例提供的加密算法的轮数和每轮算法库中的算法数与每个数据包中要增加的字节数的关系如表1所示:
表1、算法轮数、每轮的算法数与每个数据包需要增加的字节数的关系表
Figure S2007100324566D00101
因此可见,当采用的轮数和库中算法数量增加时,所需要增加的字节数大幅增加,此时,尤其是相对于语音流每包大约64(G.729/8kbits/s-1帧/包)-102字节(G.723.1/6.3kbits/s-2帧/包)的数据包大小来讲,带宽的增加也不容小视。
针对这种情况,本发明采取在每个数据包中,增加一个次密钥(这个次密钥可以由发送方随机产生,这个次密钥在起作用的同时也可以参与具体的运算),它的主要作用是标识在整个算法的所有轮中具体采用哪一轮或是不采用哪一轮,例如在图6中,我们可以在每个数据包中附加一个字节的次密钥,这个次密钥随机产生,由客户端和服务器根据这一次密钥的数值对最终所采用的算法进行选择,如果次密钥是0×8d,用二进制表示为1000 1101,每一个bit对应于每一个轮,取1的轮数参与计算,取0的则该轮舍弃,如果采用32轮的算法,无论每轮算法数量多少,则每个包中需要增加4字节的标志位(而原来的方法至少要增加12字节),这种采用次密钥的带宽增加量可以大大的减少,并且在对不同轮算法的取舍的同时又极大地增加了算法组合的数量。
因此在实际应用中,主密钥每次会话传递一次,用来决定每轮算法采用哪个具体的算法以及改变每轮算法库中的算法的排列顺序,而次密钥是每个数据包传递一次,用来对具体参与加密的轮次进行取舍,从而最终确定每个数据包中采用何种加密算法;主密钥和次密钥都可以是随机产生的。
在实际情况中,每轮的可供选择的算法应该尽可能的多(例如256以上),采用的轮数可以根据传输速度的需要进行适当的调节与选择。
综上所述,本发明实施例提供的加密算法的流程如下:
在步骤200,初始化过程,确定主密钥以及加密迭代的轮数M,以及预置在算法库中的算法个数N;
在步骤201,由所述主密钥生成子密钥(子密钥可以直接取主密钥的一部分),以确定每一轮加密迭代时,参与加密计算的算法;
在步骤202,利用随机生成的次密钥(次密钥由数据包发送方随机生成,直接在数据包中传送)对M轮中的每轮进行再取舍,从而选出真正参与运算的轮次;
在步骤203,以所述由每一轮的子密钥及其确定的算法,对每一个数据包进行加密计算;此步骤要重复执行的次数由步骤202所确定的轮数的决定;
在步骤204,传输加密后的数据包;
在步骤205,取出待加密的下一个数据包;
在步骤206,确定对下一个数据包进行加密计算的次密钥,并转入对所述数据包进行加密迭代计算步骤;
重复202至步骤206,完成所有待加密的数据包的加密计算。
其中,步骤200中的初始化过程还可以包括:读取在每一轮算法库中的算法排列顺序的初始值;并利用这一初始值与本次传输的密钥进行计算,生成主密钥,并将次主密钥作为下一次加密的初始值;确定算法的轮数(即m值)、每轮算法库中的算法数(即n值),从而进一步确定主密钥所占的字节数;确定算法的旋转方向;确定算法库中的各种算法等操作。
本发明实施例所提供的实时传输数据的加密算法的实现方法,可以具有如下有益效果:
利用算法的不断变化代替算法的复杂性,达到近似“一次一密”体制;
因为当前传送的密钥都和以前所有传送的密钥共同决定这次加密采用的算法组合,因此无需考虑密钥传送问题,算法安全性大大增加,实现难度大大降低;
即便是2次加密使用同样的密钥,算法的组合仍然不同,因此对于同样的明文得到的密文也不相同,有利于掩盖明文的统计特性;
每一轮计算中的小算法无须太在意算法的复杂性和数学理论,可以设计成简单易行、运算量小且速度快的,且不会降低整个系统的性能;
因为是一系列小算法的组合,因此加密速度快,系统额外消耗小;
HW-F算法在数据包中所增加的附加字节数相对较少,从而对带宽的额外消耗非常小;
以数据包为单位进行加密,数据包间的加密无关联性,所以数据包的丢包对解密无影响;
系统结构简单,易于后期维护。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化或改进,仍属本发明所涵盖的范围。

Claims (14)

1.一种实时传输数据的加密算法的实现方法,其特征在于,包括:
确定对待加密的实时传输数据进行加密计算的迭代轮数;
在每一轮加密迭代时,根据密钥选择预置在算法库中的多个算法中的一个算法,并结合所述密钥对以数据包为单位的实时传输数据进行加密计算。
2.如权利要求1所述的实时传输数据的加密算法的实现方法,其特征在于,所述每一轮加密迭代时的算法库可以不相同。
3.如权利要求2所述的实时传输数据的加密算法的实现方法,其特征在于,所述算法库中的多个算法的排列顺序有一个初始值,所述初始值作为主密钥固化在密钥库中。
4.如权利要求3所述的实时传输数据的加密算法的实现方法,其特征在于,在每次实时传输数据的时候传送一次主密钥,所述主密钥与前面所有传送过的密钥以及初始密钥共同决定每一轮加密迭代采用的算法,以及在每一轮加密迭代时改变算法库中的多个算法的排列顺序。
5.如权利要求4所述的实时传输数据的加密算法的实现方法,其特征在于,所述方法还包括,由所述主密钥与以前所有传送过的密钥以及初始密钥共同生成每一轮加密迭代时的子密钥。
6.如权利要求5所述的实时传输数据的加密算法的实现方法,其特征在于,在每一轮加密迭代时,所述算法库中多个算法的排列顺序是根据主密钥与以前所有传送过的密钥以及初始密钥共同所生成的该轮的子密钥旋转排列而成,所述旋转后多个算法的排列顺序作为下一轮旋转的依据。
7.如权利要求1至6中任一项所述的实时传输数据的加密算法的实现方法,其特征在于,在所述待加密的实时传输数据包中,增加次密钥,用于对具体参与加密迭代的轮次进行取舍,确定每一个数据包中采用的算法。
8.如权利要求7所述的实时传输数据的加密算法的实现方法,其特征在于,所述算法库中的算法类型包括:异或运算、循环位移运算、有限域加法运算或由这些算法组成的简易算法。
9.一种实时传输数据的加密算法的实现装置,其特征在于,包括:
算法存储模块,用于存储算法库,所述算法库有多个算法;
密钥生成模块,用于根据传输的主密钥和以前所有用过的密钥生成本次加密所要用到的密钥;
加密计算模块,用于在每一轮加密迭代时,根据所述主密钥选择预置在算法库中的多个算法中的一个算法,并结合所述密钥生成模块生成的密钥对以数据包为单位的实时传输数据进行加密计算。
10.如权利要求9所述的实时传输数据的加密算法的实现装置,其特征在于,所述装置还包括预置模块,所述预置模块具体包括:
算法个数预置单元,用于预置所述算法库中的算法个数;
迭代轮数预置单元,用于预置待加密的实时传输数据进行加密计算的迭代轮数;
密钥预置单元,用于预置对所述实时传输数据进行加密计算的初始密钥;
排列顺序预置单元,用于预置算法库中多个算法排列顺序的初始值。
11.如权利要求10所述的实时传输数据的加密算法的实现装置,其特征在于,所述密钥生成模块包括:
主密钥生成单元,用于生成对所述实时传输数据进行加密计算的主密钥,所述主密钥决定每一轮加密迭代时算法库中的多个算法的排列顺序的初始值,还用于在每一轮加密迭代时从算法库中选择一种算法用来参与该轮的加密计算;
子密钥生成单元,用于根据所述主密钥生成的子密钥,在每一轮加密迭代时,所述每一轮的子密钥决定所述算法库中多个算法旋转后的排列顺序。
12.如权利要求9至11中任一项所述的实时传输数据的加密算法的实现装置,其特征在于,所述装置还包括:
轮次取舍模块,用于对参与加密迭代的轮次进行取舍,确定每一个数据包中采用的算法。
13.如权利要求12所述的实时传输数据的加密算法的实现装置,其特征在于,所述密钥预置单元还在每一个数据包中预置有决定参与加密迭代的轮次,确定每一个数据包中采用的算法的次密钥。
14.如权利要求13所述的实时传输数据的加密算法的实现装置,其特征在于,所述密钥生成模块还包括:
次密钥生成单元,用于生成决定参与加密迭代轮次的次密钥,并附在每个数据包中进行传送;
所述轮次取舍模块,根据所述次密钥,对参与加密迭代的轮次进行取舍,确定对每一个数据包采用的算法。
CN2007100324566A 2007-12-14 2007-12-14 实时传输数据的加密算法的实现方法及装置 Expired - Fee Related CN101459510B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007100324566A CN101459510B (zh) 2007-12-14 2007-12-14 实时传输数据的加密算法的实现方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007100324566A CN101459510B (zh) 2007-12-14 2007-12-14 实时传输数据的加密算法的实现方法及装置

Publications (2)

Publication Number Publication Date
CN101459510A CN101459510A (zh) 2009-06-17
CN101459510B true CN101459510B (zh) 2012-06-27

Family

ID=40770155

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007100324566A Expired - Fee Related CN101459510B (zh) 2007-12-14 2007-12-14 实时传输数据的加密算法的实现方法及装置

Country Status (1)

Country Link
CN (1) CN101459510B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102404123A (zh) * 2012-01-04 2012-04-04 王勇 一种基于算法变换思想的加密方法
CN102546159B (zh) * 2012-01-29 2014-07-30 桂林电子科技大学 抗查表攻击的随机单向哈希函数构造方法
CN103260156B (zh) * 2012-02-15 2015-12-02 中国移动通信集团公司 密钥流生成装置及方法、机密性保护装置及方法
CN104410616B (zh) * 2014-11-20 2018-01-05 广州日滨科技发展有限公司 数据加密、解密、传输方法和系统
CN104393991B (zh) * 2014-12-03 2018-02-23 上海众人网络安全技术有限公司 一种算法重构装置及方法
CN105515760A (zh) * 2015-12-09 2016-04-20 小米科技有限责任公司 信息加密方法、信息解密方法及信息加解密系统
CN106101150B (zh) * 2016-08-17 2019-04-19 北京锐安科技有限公司 加密算法的实现方法和系统
CN107566336A (zh) * 2017-07-26 2018-01-09 深圳市盛路物联通讯技术有限公司 物联网终端数据的按顺序加密方法及装置
CN108390860B (zh) * 2018-01-24 2021-09-14 北京奇艺世纪科技有限公司 一种数据包的加密、解密方法及装置
CN110071927B (zh) * 2019-04-28 2021-09-14 苏州国芯科技股份有限公司 一种信息加密方法、系统及相关组件
CN110188553B (zh) * 2019-05-29 2022-07-12 华南师范大学 基于大数据和动态环境的信息隐藏方法和机器人系统
CN110162987B (zh) * 2019-05-29 2023-04-14 华南师范大学 基于大数据和动态时间递归的信息隐藏方法和机器人系统
CN110912710B (zh) * 2019-12-09 2022-04-01 上海创能国瑞数据系统有限公司 数据及算法的传输方法
CN112118097B (zh) * 2020-09-07 2021-10-08 昆明理工大学 一种对称密钥加密方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1426185A (zh) * 2001-12-13 2003-06-25 华为技术有限公司 一种自主选择加密算法实现保密通信的方法
CN1729668A (zh) * 2002-12-20 2006-02-01 皇家飞利浦电子股份有限公司 用于处理流的设备和方法
CN1938980A (zh) * 2004-02-13 2007-03-28 Ivi斯马特技术公司 用于密码加密处理数据的方法和设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1426185A (zh) * 2001-12-13 2003-06-25 华为技术有限公司 一种自主选择加密算法实现保密通信的方法
CN1729668A (zh) * 2002-12-20 2006-02-01 皇家飞利浦电子股份有限公司 用于处理流的设备和方法
CN1938980A (zh) * 2004-02-13 2007-03-28 Ivi斯马特技术公司 用于密码加密处理数据的方法和设备

Also Published As

Publication number Publication date
CN101459510A (zh) 2009-06-17

Similar Documents

Publication Publication Date Title
CN101459510B (zh) 实时传输数据的加密算法的实现方法及装置
US10348704B2 (en) Method for a dynamic perpetual encryption cryptosystem
CN107017993A (zh) 一种多方联合密钥产生和数字签名方法及系统
CN101471769B (zh) 一种适于VoIP媒体传输的加解密方法
WO2016135726A1 (en) Method and system for authenticating and preserving the integrity of communication, secured by secret sharing
CN108429735A (zh) 一种数据加密方法
CN105163309B (zh) 一种基于组合密码的无线传感器网络安全通信的方法
CN1653742A (zh) 安全的移动自组网络和相关方法
CN101843030B (zh) 使用安全实时传输协议重传数据的中间发送方和方法
CN102469173A (zh) 基于组合公钥算法的IPv6网络层可信传输的方法和系统
CN107294964A (zh) 一种信息传输的方法
CN104301327B (zh) 基于广播加密的p2p社交网络的隐私保护系统及方法
Borsc et al. Wireless security & privacy
El Assad Chaos based information hiding and security
Fan et al. Specification of the stream cipher WG-16 based confidentiality and integrity algorithms
Hwang et al. Robust stream‐cipher mode of authenticated encryption for secure communication in wireless sensor network
EP3711255A1 (en) Device, system and method for secure data communication
Ooi et al. Cryptanalysis of s-des
Gaur et al. A comparative study and analysis of cryptographic algorithms: RSA, DES, AES, BLOWFISH, 3-DES, and TWOFISH
Goudar et al. Secure data transmission using steganography based data hiding in TCP/IP
Rao et al. An implementation of key wrapping for a user in a group using sponge function based on PKCS
Man et al. Security enhancement on VoIP using chaotic cryptography
Anusree et al. A security framework for brokerless publish subscribe system using identity based signcryption
WO1999049613A1 (en) Cryptographic key-recovery mechanism
Perkins Trusted certificates in quantum cryptography

Legal Events

Date Code Title Description
ASS Succession or assignment of patent right

Owner name: CHENGDU CITY HUAWEI SAIMENTEKE SCIENCE CO., LTD.

Free format text: FORMER OWNER: HUAWEI TECHNOLOGY CO., LTD.

Effective date: 20090508

C06 Publication
C41 Transfer of patent application or patent right or utility model
PB01 Publication
TA01 Transfer of patent application right

Effective date of registration: 20090508

Address after: Qingshui River District, Chengdu high tech Zone, Western China, Sichuan

Applicant after: Chengdu Huawei Symantec Technologies Co., Ltd.

Address before: Bantian HUAWEI headquarters office building, Longgang District, Shenzhen, Guangdong

Applicant before: Huawei Technologies Co., Ltd.

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

Free format text: FORMER NAME: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee after: Huawei Symantec Technologies Co., Ltd.

Address before: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee before: Chengdu Huawei Symantec Technologies Co., Ltd.

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: 20120627

Termination date: 20171214