定时器加密算法(精选三篇)
定时器加密算法 篇1
定时器的时钟源来源于硬件时钟中断。时钟中断每隔一定时间产生, 该时间间隔为最小计时时长, 也就是定时器的计时精度。
在实时嵌入式系统中, 不论是有操作系统的, 还是没有操作系统的, 对时间的精度要求都十分严格。非实时系统的定时精度在50 ms左右就可以了, 但对于实时嵌入式系统其定时精度要达到10 ms或者更精确的1 ms。这就对实时系统中的定时管理提出了很高的要求, 好的定时器算法能有效的利用处理器资源, 保证定时器精度;差的定时器算法往往需要占用较多的处理器资源, 无法保证定时器精度。
定时器管理简单的可以归纳为3个操作:①启动定时器。一个对象将定时器加入到定时扫描队列中。比如一个呼叫对象在收到用户摘机后就启动等用户拨号的定时器;②扫描定时器。在计时周期到达时, 扫描定时队列, 将时间到的定时器发给申请定时器的对象;③停止定时器。对象在收到其他事件后, 不再需要该定时器, 则需要停止定时器;
一般停定时器时可以根据在启动定时器时给的句柄做索引, 因此, 本文只就启动定时器和扫描定时器算法进行讨论。
1.1 简单队列算法
1) 启动定时器:将新定时器节点添加到一个预先设置好的队列队尾。增加4个定时器后的定时器队列如图1所示。在定时器队列中, 定时器是按加入的时间顺序排列的。
2) 扫描定时器队列:当每个计时周期到达时, 先依次将所有定时器的计时数减1, 当计时数变为0时, 进行到时处理, 否则继续进行计时操作。
1.2队列排序算法
1) 启动定时器:将定时器按时长由短到长的顺序插入到队列中。并将其后面定时器节点的计时数减掉本定时器的计时数。即:前N个定时器的计时数和是第N个定时器的计时数, 按照这种算法定时器队列如图2所示。
由图2可以看出, 定时器是按时长由短到长排列, 前N个定时器的计时数和是第N个定时器的计时数。
2) 扫描定时器:每个时钟周期到达时, 只将队列头的定时器的计时数减1, 当计时数时间到达时则进行到时处理, 否则继续进行计时操作。这样每个时钟周期只需要对一个定时器做减1操作, 显然优于简单队列算法。
1.3单循环算法
在队列排序算法基础上做进一步改进, 将一个队列分为N个队列, N的大小可以根据定时数量调节。
1) 启动定时器:首先用计时长度除以N, 得到余数。用这个余数作为队列数组的下标, 再根据算法2插入到队列中。按单循环队列算法得到的定时器队列如图3所示。
2) 扫描定时器:每个时钟周期到达时, 队列指针指向下个定时队列。再按照算法2处理, 依次循环扫描。
3) 停止定时器:取计时数除以N的余数, 用这个余数作为队列数组的下标。在该队列中查找对应的定时器, 并删除。
2 算法分析及比较
通过上面讲述的3种算法。可以看出各有优缺点。
2.1实现难度
1) 简单队列算法:实现最简单, 只需要建立一个定时器数组, 没有特别的算法。
2) 队列排序算法:略微复杂一些。建立定时器数组还要有排序、插入队列的算法。
3) 单循环队列算法:实现相对复杂。首先要确定定时器队列的数量L。其次要有排序、插入队列的算法。还要操作循环指针。
2.2查找效率
在一个定时器数量较少的系统中, 利用最简单的查询就可以, 对系统效率的影响可以忽略, 但是当系统中的定时器数量比较庞大时, 查询定时器就会影响到系统的效率。建议将定时器作为一个非常独立模块进行设计。下面, 先对这几种定时器算法加以描述, 然后再对这几种算法进行比较, 4种定时器算法比较如表1所示。
综上所述, 4种定时器算法各有优缺点, 适用于不同的环境。
1) 简单队列算法:
启动定时不需要太多的时间, 但扫描定时却要查询整个队列, 在定时器数量很庞大的情况下将会占用很多处理芯片的时间。因此, 这种算法适用于需要定时器数量少, 内存比较小的单片机等嵌入式环境, 比如80c51等。
2) 简单队列改进算法:
启动定时器需要占用一定的时间排序。但扫描定时器时只需要处理定时器队列的开始部分就可以了, 在定时器数量不是特别庞大的情况下是比较好的选择。由于启动定时器需要进行比较定时器值, 这可能消耗较多的CPU资源, 为了尽可能克服这一缺点, 对该算法进一步改进, 定时器按时长分成多个队列, 比如, 毫秒级队列、秒级队列、分钟级队列等。插入定时器时, 先分级, 再插入对应的队列, 这样就能将比较次数尽可能的缩短。
3) 单循环算法:
这种算法就象一个手表上的刻度盘, 指针每走一下, 就处理一次该时刻的定时器队列。它适用于定时器数量比较庞大的系统。这个算法停定时需要较多次的比较, 这是一个缺点。
4) 交叉链表算法:
无论是简单队列、简单队列的改进、还是单循环都不能有效的解决停定时器比较次数多的问题。在单循环算法的基础上进一步改进能得到一种快速停定时
的方法, 它也有快速插入定时队列的优点, 它改进的地方是:将对象和定时做关联, 用对象做索引, 因为每个定时器都是为一个特定对象服务的。当需要停定时, 只需根据对象来索引, 查询比较的次数就更少。
3 结束语
4种定时器有各自的适用环境。第1种、第2种适用于没有操作系统的单片机环境, 处理较少的定时器。第3种、第4种适用于带有操作系统的处理器, 可以处理数量庞大的定时器, 并且数量越大越能体现出其优势。
参考文献
[1]孔祥营.嵌入式实时操作系统Vx Wo rks及其开发环境Tornado[M].北京:中国电力出版社, 2002.
[2]邵贝贝.Jean J Lab rosseμC/OS-Ⅱ—源码公开的实时嵌入式操作系统[M].北京:中国电力出版社, 2001.
[3]William.Stallings Operating Systems:Inte rnals and Design Prin-ciples[M].北京:电子工业出版社, 2001.
[4]张国峰.面向对象的程序设计与C++语言[M].北京:电子科技大学出版社, 1994.
软件安全中混合加密算法 篇2
目前,根据不同软件系统所应用的领域,比较常见的加密算法有DES加密算法、RSA加密算法、Base64加密算法和维热纳尔加密算法等。
针对不同算法的各自特点,本文首先自定义一种简单的初始加密算法,再对维热纳尔加密算法进行了优化改进,最后结合Base64加密算法共同组成混合加密算法,在很大程度上提高了加密算法的安全性。
2 基础加密算法
2.1 初始加密算法
初始加密算法是根据明文信息中的字符组成,再借助字符的ASCII码,进行相应的变换运算,从而使原有的真实信息进行伪装,避免被轻易的破解,提高了系统加密保护的安全系数。
在一般的软件系统加密过程中,组成明文信息的字符一般可以分为大写英文字母、小写英文字母、阿拉伯数字和其他特殊字符等四部分。
因此,在定义初始加密算法时,需要根据不同种类的字符进行一定的变换运算处理。
具体如下:第一类变换:明文信息的字符是英文字母时,明文在[A,M]范围内,密文为明文的ASCII码值加45;明文在[N,Z]范围内,密文为其ASCII码值加19;明文在[a,m]范围内,密文为其ASCII码值减19;明文在[n,z]范围内,密文为其ASCII码值减45。
第二类变换:明文信息的字符是阿拉伯数字时,明文在[0,4]范围内,密文等于明文乘以2再加1;明文在[5,9]范围内,密文等于明文乘以2再减10。
第三类:当明文信息是其他特殊字符时,密文与明文相同。
2.2 Base64加密算法
Base64加密算法主要的考虑了三个问题,第一为是否加密;第二为加密算法复杂程度和效率;第三为如何处理传输。
加密是必须的,但是加密的主要目的不是让用户发送非常安全的Email。
而是要达到一眼望去完全看不出内容就行。
基于这个目的加密算法,其复杂程度和效率也就不能太大或太低。
2.3 改进的维热纳尔加密算法
维热纳尔密码是一个非常著名的多码加密法,主要是通过采用定义好的维热纳尔方阵,以及自定义的密钥对明文信息进行加密。
以前对于维热纳尔方阵的定义,是通过以二十六个大写英文字母为依据,依次循环不断改变排列顺序,组成26×26级的方阵。
为了提高此算法的复杂度,同时提高保密性能,本文在二十六个大写英文字母的基础之上,再将十位阿拉伯数字随机插入到英文字母序列中,最终构建成36×36级的改进维热纳尔方阵。
在维热纳尔加密算法中,除了维热纳尔方阵之外,还需要明文字符集和密钥。
明文字符集主要是用来记录组成维热纳尔方阵所需要的字符。
密钥是用来在对明文信息加密过程中,指定字符所对应的加密字符。
因此,在改进的维热纳尔加密算法中,改进维热纳尔方阵、明文字符集和密钥,分别记为A、M和K。
改进微热纳尔方阵的明文字符集M定义为:
M={A,B,9,C,8,D,E,7,F,6,G,H,5,I,4,J,K,3,L,2,M,N,1,O,P,0,Q,R,S,T,U,V,W,X,Z}
密钥K定义为:
K={9,D,7,F,6,I,B,X,0,K,P}
因此,针对上述定义的密钥K,对明文信息字符串“HISENSE”进行加密变换,得到的密文是“ILY4UD7K49G”。
3 混合加密算法的设计
混合加密算法是在上述基础加密算法的基础上,由初始加密算法、改进优化的维热纳尔加密算法以及Base64加密算法共同组成的,并且其实现的过程必须按照固定的顺序依次进行,即先使用自己定义的初始加密算法,再使用改进优化的维热纳尔加密算法,最后使用Base64加密算法。
以明文信息字符串“chongq”为例,应用混合加密算法进行加密处理,具体的实现步骤如下:
第一步:字符串“chongq”经过初始加密算法之后,得到的加密字符串为“PUBATD”。
第二步:将改进优化的维热纳尔加密算法中的所使用的密钥K设定为:K={9,D,7,F,6,I}。
利用密钥K对字符串“PUBATD”继续进行加密处理,得出的加密信息字符串为“QZF7B3”。
第三步:使用Base64加密算法继续对字符串“QZF7B3”进行加密换算,得到加密字符串为“UVpGN0Iz”。
在计算机网络信息飞速发展的时代,信息加密算法已经成为研究软件安全的一个重要领域,取得了大量的研究成果。
本文中所设计的混合加密算法,是由三种加密算法组成的,也可以在此基础之上,再增加几种著名的加密算法或自己设计的新算法,只有跟随时代发展而同步进步的技术才有更广阔的的应用空间和更长的生命周期。
[参考文献]
[1]何茗.加密解密算法的实现及改进[J].西南民族大学学报(自然科学版)..1.
[2]徐荣峰.加密算法及其应用研究[D].西北工业大学..
[3]刘玉珍,王丽娜,傅建明,等,译.密码编码学与网络安全原理与实践[M].第三版,北京:电子出版社..
[4]佟晓筠,杜宇,等.基于软件安全混合加密技术的研究[J].计算机工程. 2004.12.
混合加密算法在物联网信息安全传输系统中的应用【2】
[摘 要]混合密码技术是一种新兴的密码技术,兼顾了对称密钥和非对称密钥的优点,表现除较高强度和速度,确保了信息传输的完整性、保密性、不可否认性。
随着信息产业的发展,传统的交流个体人、机器之间的通信已经不能满足日益发展的应用要求,用户呼唤一种人与各种事物间的,或是事物与事物之间的信息交流。
需求的迫切及计算机、网络技术的发展,促进物联网技术的诞生,该技术开启了人类社会信息化进程的新篇章。
[关键词]混合密码技术 物联网 信息安全
从体系架构上看,物联网分为三层。
其中,感知层存在安全性威胁,因为不论是普通节点还是汇聚节点都容易收到攻击,比如拒绝服务攻击,或是非法控制和破坏[I]。
试想一下,假设我们在系统的感知节点没有采取任何安全措施或安全防护不够全面的话 ,并且所感知的信息还涉及国家、军队的重要设施的敏感信息,一旦被非法的第三方获取,其损失是不可估量和弥补的。
通过分析我们得出,在感知节点可以采用硬件加密芯片、公钥基础设PKI和密码技术等安全技术手段来保证节点收集信息的安全三要素。
一、混合密码技术在物联网信息安全传输系统中的设计
按照物联网的三层架构设计,原始数据信息通过感知设备被采集,转发到采集终端,再进入安全系统进行敏感信息处理。
信息安全保密系统首先对转发过来的信息进行隔离处理后进入加密模块处理。
数据通过智能通信接口模块转发至网络层,再到应用层的智能通信接口模块,最终数据进入隔离、解密后被服务器接收。
物联网信息安全传输系统主要包括信息采集收发子系统、智能通信接口子系统、信息安全保密子系统。
其中信息安全保密子系统用于保证感知信息的传输安全;主要用于信息传输信道的选择和信息收发等。
主要包含由内、外网处理单元、网络隔离模块、信息加解密模块、身份认证模块。
二、 模型的`体系结构
基于物联网的信息安全传输系统中,由服务器、安全传输接口、单双向隔离通道、客户端组成的安全保密子系统。
服务器负责算法管理和密钥管理 ;数据传输接口和单向双向隔离通道负责加密数据发送的管理 ;客户端负责解密文件、传送公钥和更改密码。
模型的体系结构图如下:
三、混合密码技术在物联网信息安全传输系统中的应用
在实际的物联网通信系统中, 除考虑保密系统的安全性外,加解密速率、加密灵活性等因素。
部分物联网的信息安全传输系统采用硬件加密技术,虽说一次一密保证了信息的安全,但是额外的设备费用和硬件较高的故障率同时也给系统带来了其他的安全问题。
在对称加密算法中,公开密钥负责数字签名与密钥管理,私有密钥负责明文加密。
前面我们已经分析了AES和ECC算法, 在数字签名和密钥管理方面ECC 算法能够轻松的实现;而对于在较长明文加密中,AES 算法能提供更快的加密速度。
用MD5 算法辅助,因此综合运用 ECC算法和 AES 算法,再辅助于MD5算法就构成了本模型中混合加密算法的方案。
⑴密钥的产生
G为Ep(a,b)椭圆曲线上选的一个基点,其阶数为n(n是大素数 ),并且G(x,y)是公开的。
随机地确定一个整数(区间为 [1,n-1] ),k做为私有密钥,并计算 K=kG,K为公开密钥[5]。
⑵加密和解密
公钥加密:设 Ke 为 AES 的初始密钥,发送方在r上,r ∈ {1,2,…,n-1}取一随机数,计算 u=rKP(KP 为 B 的公钥 ),R1=rG,rG(x1,y1),v=x1Ke,可以得到(u,v) ,发送给接收方。
至此实现对AES 算法密钥加密。
私钥解密:Ks 为接收方的私钥。
用私钥计算 R1=Ks-1u,得到 Ke=x1-1v。
⑶签名及认证
选取一个公开消息摘要函数,用MD5算法计算消息摘要 H(m)。
生成签名:发送方在区间{1,2,…,n-1)上,取L随机数。
计算R2=LG,LG (x2,y2),e=x2H(m),k1=L+eKS,w=k1G,可以得到(w,e) ,作为发送方的签名消息。
身份认证 :计算 R=w-eKeP=(x1,yr),则使 e=xrH(m)成立就是有效的签名,相反为无效的签名。
总之,混合密码算法结合了对称密钥和非对称密钥的优点,更易于加密和密钥分配,结合了AES算法和 ECC算法的混合加密算法具有易于理解和实现的优点,同时又兼具安全性高的优势。
在基于物联网的信息安全传输系统中,对数据信息来源的真实性进行鉴别,有效信息传输安全性的防护,从而保证系统资源的保密性、完整性与不可抵赖性等的基本安全属性要求。
混合密码算法集合了非对称密钥和对称密钥算法的特点与一体,具有运算速度快,安全性高和存储空间小的优势,更适合于物联网这样的一些受限环境中。
参考文献:
[1]苏逸.物联网发展存在的问题及前景[J].才智,2011,(22):76-77.
[2]黄河明.数据加密技术及其在网络安全传输中的应用[D].厦门大学,.05.
定时器加密算法 篇3
关键词:OFDM;定时同步;复杂信道环境
中图分类号:TN919.3 文献标识码:A 文章编号:1671-864X(2014)10-0125-01
定时同步是OFDM系统在实际应用中需要解决的关键技术。OFDM系统对同步的误差问题比较敏感,简单的定时同步算法在复杂信道环境中并不适用,多径传输现象的存在,使得FFT开窗位置相对滞后,从而引入符号间干扰(ISI)和载波间干扰(ICI)。本文基于IEEE 802.16d协议对OFDM系统的同步技术进行研究,提出了在复杂多径信道环境中也具有良好性能的同步算法,该算法同样可用于其他OFDM无线通信系统的定时同步解决方案中。
一、OFDM定时同步基本算法
根据IEEE802.16d物理层协议,一个OFDM帧的时域结构如图1所示。
图1 IEEE 802.16d帧结构
在突发传输系统中,一般通过对每帧的前导符号(训练序列符号)进行自相关或互相关运算来达到定时同步。为提高同步精度,也可利用自相关和互相关运算进行联合检测,方法如下:
第一步:粗同步
接收信号和延时一个短前导长度的信号进行自相关
(1)
并计算能量
(2)
两者相除,得到归一化度量值
(3)
第二步:细同步
接收信号和本地短前导符号进行互相关
(4)
能量归一化,得度量值
(5)
其中L=64为求和窗口的长度,D=64为延时时间,c(n)则为本地已知短前导序列,长为64个抽样点。由第一步中的自相关运算可以得到长约4个短前导符号长度的峰值平台;由第二步中的互相关运算可得5个尖锐的峰值。只要在峰值平台下找到4个相隔64样点的互相关峰值,就可将最后一个峰值的位置(减去四个短前导符号的长度)用来判断帧的开始。
二、改进的定时同步算法
(一)原同步算法遇到的问题。在实际多径信道环境中往往存在第一径并非最强径的情况,这导致基于搜索最大互相关峰值的定时同步算法同步在瞬时功率最强径上,最强径之前的径将引入ISI。因此,必须对原算法进行改进,以确保同步在第一条径上。
(二)二次相关运算法及判决门限的引入。二次相关运算法是对原定时同步算法进行改进,方法如下。
第一步:粗同步(与原算法相同)
第二步:细同步
接收信号与本地短前导符号进行互相关
(9)
然后,将互相关值和延时一个短前导长度的互相关值进行自相关
(10)
能量归一化,得度量值
(11)
(12)
再将归一化后的自相关值进行差分运算
(13)
其中L=64,D=64, c(n)为本地已知短前导符号,d是第二次自相关运算的求和窗口长度,可设成大于最大多径时延且小于循环前缀(CP)的长度。将仿真结果与原算法进行对比,如图2所示。
(a)原算法 (b)二次相关运算法
图2 两次相关运算法与原算法的性能对比,SUI-4信道,SNR=10dB
为确保算法同步在第一条径上,进行互相关峰值搜索时,找到最大互相关峰值后,将其乘以一个比例因子k(如1/8)作为新的判决门限,从峰值所在位置往前移64样点重新搜索,找到第一个大于新的判决门限的峰值点,即可将其作为定时同步位置。从图2中可以看出,二次相关运算法极大地消除了伪互相关峰值对峰值搜索的干扰,故该同步算法优于原定时同步算法。不过,该算法增加了一次相关运算及差分运算,在硬件实现上对资源的消耗相对大些。
三、结束语
在复杂多径信道环境中,基于搜索最大相关峰值的定时同步算法不能准确同步在第一条径上,从而引入ISI和ICI。为确保定时同步在第一条径上,减小伪相关峰值的干扰,本文提出了二次相关运算法,并引入了相对的判决门限来进行峰值搜索,经仿真验证,改进后的算法在复杂多径信道环境下也具有良好的性能。
参考文献:
[1]IEEE P802.16-REVd/D5-2004, Air Interface for Fixed Broadband Wireless Access Systems[S].
[2]Schmidl T, Cox D. Robust Frequency and Timing Synchronization for OFDM[J]. IEEE Transactions on Communications. 1997. 45(12).
[3]杨大成. 移动传播环境[M]. 北京:机械工业出版社,2003.
[4]佟学俭,罗涛. OFDM移动通信技术原理与应用[M]. 北京:人民邮电出版社,2003.
[5]张洁,蔡鹏,张平. 一种适用于多径衰落信道的OFDM定时同步算法[J]. 北京邮电大学学报. 2005. 28(2).
【定时器加密算法】相关文章:
555定时器06-28
音乐提示定时器05-16
音乐提示定时器总结07-05
430定时器心得分享08-16
430定时器学习心得08-24
定时器/计数器教学设计09-11
51定时器四种工作方式08-31
定时备份05-17
定时工资制度04-11
定时跑教学反思04-15