关键词:
分组密码
协处理器
数据并行
指令级并行
指令集
摘要:
传统上,实现、应用密码算法运算可采用专用集成电路和通用处理器两种途径,前者的优点是处理速度非常快,其缺点是灵活性差,设计周期长、投资较大等;利用后者的密码实现方式通常灵活性比较高,但缺点是密码运算处理速度较慢,与专用芯片差距还很远,难以满足网络通信等方面的需求。本文针对上述矛盾,研究能高效灵活实现各类密码运算的密码处理结构。 论文在分析分组密码操作特点基础上,提出了一种适合分组密码运算的并行处理结构,支持了字并行和亚字并行处理,并进行了微结构设计,实现了一款分组密码协处理器,其兼顾了通用处理器的灵活性以及专用密码芯片的高性能两方面优点,实现了完善的系统控制能力、高效的密码运算能力和灵活可配置的算法处理能力。 从提高并行度角度出发,为使用频率非常高的密码操作,包括S盒、置换、模乘、模加等九种运算设计了专用指令。这些指令通过分裂、组合、绑定等设计,开发了单条指令内部及多条指令间的并行性,提高了密码处理性能。 设计了基于FPGA的硬件测试平台,通过在该平台上进行单元级验证和系统级验证,保证了密码协处理器功能的完备性和正确性。最终该协处理器基于0.18μm CMOS工艺标准单元库进行了ASIC设计综合,并与其它软/硬件实现方式进行了性能比较。 总之,该协处理器具有指令操作效率高、指令级并行度高和算法适应面广的特点,可以灵活、高效地实现分组密码算法,是一种实现分组密码处理的新模式。