一种基于Petri网的分组密码算法的硬件实现方法

文档序号:7722287阅读:152来源:国知局
专利名称:一种基于Petri网的分组密码算法的硬件实现方法
技术领域
本发明涉及一种基于Petri网的分组密码算法的硬件实现,属于密码算法硬件实现领域。
背景技术
信息安全问题日益重要,密码技术是信息安全的核心技术,各国均在不断研究更高安全性、更高效的密码算法。本发明涉及的基于Petri网的分组密码算法是我国山东科技大学吴哲辉教授承担的国家自然科学基金研究成果,设计思想不同于现有密码体系,算法基本思路是选取一个唯一可达向量无界Petri网,通过该Petri网的运行得到该Petri网部分可达标识集与达到此标识的可达向量集、通过整数的素因子分解和合成将Petri网的标识向量转换为大整数、对此大整数及可达向量排序,并由可达标识与可达向量排序后的序号对应关系确定一个2k元置换,从而实现k位分组密码。该密码算法重要特点是一次一密,且分组长度可调,有效对抗现有密码分析手段,从而有更好的安全性。置换关系只在加解密算法开始时计算一次,随后对数据的加解密操作最终简化为置换操作,加解密大数据量时,计算置换关系的初始开销比重降低,加解密效率近似等于置换效率,效率较其他算法高。 该算法涉及的Petri网运算操作可以转化为矩阵操作,算法复杂,涉及矩阵乘法、排序等操作,需要的计算量较大。采用纯软件实现时,在取分组长度为9的情况下,加密算法大致需要60万次整数的加法、乘法和比较运算。经过测试,在2. 40GHz的双核CPU台式机上,Petri网的关联矩阵为4X6矩阵,L1为1, L2为7,计算置换表一次所花的时间为10ms。在嵌入式系统中,CPU运算能力、存储等硬件资源都非常有限,纯软件实现该算法需要更长的时间,经测试,在运行uCli皿x操作系统的NiosII/f微处理器平台上,时钟频率100MHz,4Kbytes指令缓存,2Kbytes数据缓存的情况下,Petri网的关联矩阵为4X6矩阵,L1为1,L2为7时,计算置换表的时间高达3470ms,这是实际应用中是无法忍受的,因此限制了该算法在嵌入式系统中的应用。采用硬件实现该算法是可行的解决方案。

发明内容
本发明提出了一种基于Petri网的分组密码算法的硬件实现方法。内容包括
(1)将Petri网信息按矩阵形式表达,并传送给硬件,硬件通过矩阵操作实现Petri网运行,单时钟周期计算得到指定某Petri网标识的所有下一级可达标识,去除重复标识后加入系统可达标识集中并按计算顺序附序号; (2)硬件采用有限状态机控制,实现Petri网有效可达标识Mx间的排序;
(3)硬件采用有限状态机控制,实现Mx序号与计算序号的对应关系,得到置换表;
(4)核心电路外部挂接主流片上总线接口后可形成知识产权模块(IP核),模块内部设计为硬件DMA方式从外部存取器中读取明文/密文数据,采用(3)中置换表置换后,写出密文/明文数据。
3
本发明采用纯硬件实现基于Petri网的分组密码算法,显著降低算法执行时间,实测加解密速度相比纯软件实现可提高210倍,扫除了该算法在嵌入式系统中应用的性能障碍。


图1是本发明涉及的硬件功能电路框图 图2是基于Petri网的分组密码算法的输入说明 图3是采用本发明涉及的方法,设计的基于avalon总线接口的Petri网密码算法硬件IP核在实际系统中的连接图
具体实施例方式
本实现例具体说明如何应用本发明方法设计avalon总线接口的Petri网密码算法硬件知识产权模块(IP核)。 (1)将Petri网表达为关联矩阵形式,如图2所示,将示例4X6唯一可达无界Petri网表达为关联矩阵A,将A输入算法。同样,将可达标识表达为向量形式。
(2) Petri网运行模土央 本模块首先采用组合逻辑电路,根据公式Mx' = Mx+ATX并行计算可达标识Mx的所有下一级可达标识,在单周期内完成。 采用有限状态机FSM设计,对本次得到的下一个Mx',按顺序判断是否已在系统有效可达标识集内,若已存在,则舍弃,否则,将其加入系统有效可达标识集内,并按计算顺序标序号。 (3)Mx排序模块 生成足够数量的可达标识后,有限状态机FSM控制下进入Mx排序阶段,按照一定的排序规则,对得到的Mx排序,并赋序号,选择前2K个Mx子集。
(4)计算序重排序模块 对按Mx本身排序选取的2K个Mx子集,按(2)中标识的计算序号重新排序,并重
按0 2K-1赋序号。 (5)置换表生成模块 步骤(3)与(4)中的得到的两个序号对应关系即置换表,FSM控制下遍历一次Mx,
即可输出置换表。 (6)DMA方式置换模块 为提高加解密效率,采用硬件DMA方式读取数据、采用置换表置换、写出数据。软件只需要给出明文/密文buffer地址。DMA控制两个主端口读取数据,根据置换表完成数据置换,并写出数据,完成后给出状态信号或者中断信号。
(7)外部总线接口模块 在核心电路外围添加标准总线接口 ,本例采用的是avalon总线,即可构建知识产权IP核。 整个实例系统连接关系如图3所示。
权利要求
一种基于petri网的分组密码算法的硬件实现方法,其特征在于(1)硬件实现petri网运行,单时钟周期计算得到指定某petri网标识的所有下一级可达标识,去除重复标识后加入系统可达标识集中并按计算顺序附序号;(2)硬件实现petri网有效可达标识Mx间的排序;(3)硬件实现petri网有效可达标识Mx序号与计算序号的对应关系,得到置换表;(4)对明文数据采用置换表置换,得到密文数据,实现加密;或者对密文数据采用置换表置换,得到明文数据,实现解密。
2. —种根据权利要求1所述方法设计Petri网分组密码算法硬件知识产权模块(IP 核)的方法,其特征在于(1) 核心电路采用权利要求1中(1)、 (2)、 (3)所述方法(2) 采用主流片上总线接口 (如wishbone, avalon, amba等),设计硬件DMA方式从外 部存储器中读取明文/密文数据,采用置换表置换后,写出密文/明文数据。
全文摘要
一种基于petri网的分组密码算法的硬件实现,属于密码算法硬件实现领域。本发明的技术方案是(1)硬件实现petri网运行,单时钟周期并行计算得到指定某petri网标识的所有下一级可达标识,去除重复标识后加入系统可达标识集中并按计算顺序附序号;(2)硬件实现petri网有效可达标识Mx间的排序;(3)硬件实现Mx序号与计算序号的对应关系,得到置换表;(4)采用主流片上总线接口,硬件DMA方式从外部存取器中读取明文/密文数据,采用(3)中置换表置换后,写出密文/明文数据。本发明采用纯硬件实现基于petri网的分组密码算法,显著降低算法执行时间,实测加解密速度相比纯软件实现可提高210倍。
文档编号H04L9/14GK101719827SQ20091025369
公开日2010年6月2日 申请日期2009年12月3日 优先权日2009年12月3日
发明者吴振寰, 张德学, 沈国新, 焦汉明, 罗虎, 陈新华 申请人:山东科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1