论文部分内容阅读
随着电子信息技术的快速发展,电子文档应用越来越广泛。电子文档所承载的信息的安全性日益成为人们关注的问题,其安全存储也就成为保障信息安全的首要要求。而电子文档的安全存储一般通过加密存储的方法来实现。加密存储通常有两种实现方式:一是建立虚拟磁盘,把需要保密的文件放到该磁盘中,再对整个磁盘空间进行加密;二是分别对单个文件进行加密存储。 本文对上述的两种文件加密方法的设计和实现做了详细的论述。首先简要介绍了密码学的基础知识,然后重点介绍两种文件加密系统(虚拟磁盘加密系统、直接文件加密统)的基本原理和实现方法。虚拟磁盘加密系统设计的基本思路为:在物理硬盘上开辟一段空间,建立卷标文件,再以卷标文件为基础加载虚拟硬盘,虚拟硬盘上的所有电子文档的存取都将交给虚拟硬盘驱动程序完成,通过在虚拟硬盘驱动程序中设置专门的加密解密程序负责读取文件后解密和写入文件前加密,从而实现信息的安全存储。直接文件加密系统是直接对单个文件进行加密:文件使用前解密,文件使用后加密保存,并实现了文件的签名/认证功能。 虚拟磁盘加密系统是基于PGPdisk实现的,主要有三大模块:用户界面模块、密码处理模块、驱动模块。本文分别对这三个模块的原理、设计和实现进行了详细的分析,并结合具体的函数功能,介绍了随机数产生、加密算法实现、访问控制实现、驱动程序设计实现、文件加解密功能实现的过程。直接文件加密系统是基于OPENSSL实现的,也有三大模块:用户界面模块、接口模块、底层模块。本文详细介绍了它的需求分析和功能分析,并给出了相关接口函数和底层算法函数的实现源代码。