密码学是构建信息安全体系的基础,是实现信息安全技术的主要手段。密码算法工程实现的技术和方法在国内外得到越来越多的重视,自主设计和研发密码专用芯片具有特殊意义。随着计算机、电子技术的飞速发展,密码芯片与系统设计方法发生了革命性的变化。
本书以各种公开的序列密码、分组密码、散列密码和公钥密码等典型密码算法为例,将密码学与计算机、电子技术有机结合,充分体现密码算法工程实现的核心内容,注重密码理论与工程实现的融合,旨在提高密码工程技术人才的应用实践能力和密码芯片设计能力。
本书的作者来自北京电子科技学院电子信息工程教学团队,这是一支北京市优秀教学团队,该团队的教师大多从事FPGA设计工作,具有丰富的科研经历,多年来,一直致力于将最新的电子信息技术与密码学理论相结合,在FPGA算法工程实现方面积累了较多的经验和体会。作者率先为教育部和北京市特色专业建设点--电子信息工程专业的本科生开设了“密码算法工程实现”课程。作者结合科研和教学工作实践,总结多年来的科研成果以及课程开设的成功经验,解决密码与信息安全领域的实际问题,因此成就了本书的编写与问世。
全书共分10章。
第1章,对信息安全、密码技术,特别是现代密码技术以及密码算法的工程实现等方面进行概述,介绍相关的基本概念,方便读者对全书后续章节的学习。
第2章,围绕FPGA器件,介绍FPGA器件结构原理、FPGA器件选择以及FPGA开发工具及其开发流程等内容。
第3章,简要介绍超高速集成电路硬件描述语言VHDL的结构和语法,常用逻辑功能的VHDL设计描述,方便读者利用FPGA芯片完成密码算法的工程实现。
第4章,介绍序列密码的基本概念,包括密码算法的原理和分类。对线性和非线性密钥序列生成器进行详细叙述,实现常用A5、RC4等序列密码算法,给出核心部分的代码及其仿真验证。
第5章,介绍分组密码体制,给出DES算法详细描述,给出DES算法关键模块的代码,最后给出DES算法工程实现的核心代码及其仿真验证。 现代密码算法工程前言 第6章,介绍高级加密标准AES算法详细描述,给出AES算法关键模块的代码,最后给出AES算法工程实现的核心代码及其仿真验证。
第7章,HASH函数是密码学中最基本的模块之一,广泛应用于数字签名、消息鉴别和伪随机数生成器等领域,是近几年密码学研究的热点领域。本章介绍HASH算法及其FPGA工程实现。
第8章,椭圆曲线密码体制(ECC)是基于椭圆曲线离散对数问题的公钥密码体制。近年来,国际上研究的重点已转向椭圆曲线密码体制硬件实现的研究,其中FPGA在椭圆曲线密码体制上的应用是一个重要的研究方向。本章介绍椭圆曲线的各种基本算法以及算法的FPGA工程实现过程。
第9章,密码算法的软件实现目标是实现的低成本,因此同样有生存的空间和市场。本章通过对DES算法的软件实现描述,让读者了解密码算法的软件工程实现的方法和步骤。
第10章,向读者介绍已有的密码芯片的安全设计问题,主要介绍密码芯片常见的安全威胁;密码芯片的功耗攻击;抗攻击的密码芯片安全设计等方面的问题。
全书由路而红教授组织编写,在高献伟教授协助下完成全书的统稿工作。本书第1~3章由路而红编写,第4章由张磊编写,第5~6章由李雪梅编写,第7~8章由董秀则、高献伟编写,第9章由段晓毅编写,第10章由靳济方编写。在本书的编写过程中,硕士研究生丁冬平、孙扬调试了书中的部分程序,在此表示感谢。在本书的编写过程中,得到北京电子科技学院欧海文、李梦东等老师的支持和帮助,还得到清华大学出版社张民编辑的鼓励、支持和帮助,在此一并表示衷心的感谢。
本书的出版得益于北京高等教育精品教材建设项目立项经费的支持。
密码算法的工程实现技术新、内容涉及面广,虽然作者努力了,但书中的疏漏和错误在所难免,敬请读者批评指正。
作 者2012年3月