搜档网
当前位置:搜档网 › 设计和实现基于UsbKey的透明加解密文件系统

设计和实现基于UsbKey的透明加解密文件系统

设计和实现基于UsbKey的透明加解密文件系统
设计和实现基于UsbKey的透明加解密文件系统

刘威鹏 博士研究生,研究方向为安全操作系统和可信计算;胡 俊 博士研究生,研究方向为安全操作系统和可信计算;刘 毅 博士研究生,研究方向为安全操作系统和可信计算。

计算机科学2008Vol 135№111 

设计和实现基于UsbK ey 的透明加解密文件系统

刘威鹏1 胡 俊1 刘 毅2

(中国科学院研究生院信息安全国家重点实验室 北京100039)1

(解放军信息工程大学电子技术学院 郑州450052)2

 

摘 要 加密文件系统是在操作系统级保护系统和防止用户敏感数据泄漏的一种有效手段。首先对几个著名的加密

文件系统地进行了分析,并指出其在使用方式、密钥保护、配置管理以及性能方面存在的问题,而后从设计目标、系统组成、实现三个方面分析和讨论了一种基于Usb Key 的透明加解密文件系统的实现方案,该方案基于Linux 操作系统,使用Usb Key 对于用户密钥进行安全存储和保护,并利用L SM (Linux Secure Module )机制,通过对于inode 节点的读、写等关键操作的重定向,来实现文件的透明加解密的功能。本文对于Linux 操作系统下的透明加解密文件系统的设计与实现具有一定的指导意义。

关键词 Usb Key ,透明加解密,文件系统,Linux 安全模块 

Design and Implementation of T ransparent E ncrypted and Decrypted File System B ased on UsbK ey

L IU Wei 2peng 1 HU J un 1 L IU Y i 2

(State Key Laboratory of Information Security of GSUAS ,Beijing 100039,China )1

(Electoronic Technology Institute of PLA Information Engineering University ,Zhengzhou 450052,China )2

 

Abstract Encrypted file system is an effective method to protect sensitive data of system and user f rom disclosing on operating system level.This paper first investigates several famous encrypted file system and points out their limits ,such as use method ,key protection ,management and performance ,then discusses a scheme of transparent encrypted and decrypted file system based on Usb Key from design objective ,architecture ,and implementation.This scheme is based on Linux operating system ,at the same time ,uses Usb Key to storage and protect https://www.sodocs.net/doc/cf5536456.html,ing L SM framework and redirec 2ting the “read ”and “write ”operation of inode implement transparent encrypted and decrypted f unction.This paper gives some lights on the research and implementation of transparent encrypted and decrypted file system in Linux.K eyw ords Usb Key ,Transparent encrypted and decrypted ,File system ,L SM

1 引言

当前,安全操作系统主要是从认证、授权和审计这三个方面入手,通过检查用户身份、限制用户权限、监视用户行为来保证系统的安全性。通常,这些安全机制能够很好地保护数据的机密性和完整性,防止系统安全性遭到破坏。然而,有时这些安全机制却无能为力,例如攻击者可以通过运行另一个操作系统以管理员权限读取该系统磁盘上的敏感数据。如果通过使用密码技术对敏感数据进行加密,那么攻击者即使能够获取这些敏感数据,但由于没有正确的密钥,也无法读取机密信息,从而能够很好地保护其安全。由于加密文件系统可以提供对数据的加解密服务,因此在安全操作系统中引入加密文件系统的功能,对于系统整体安全性的提高具有重要的意义和作用。但是,由于加密文件系统使用了密码机制,同时会带来密钥分配和密钥存储等多方面安全问题,从而使得人们对于加密文件系统的使用“望而却步”。

Usb Key 是一个集身份认证、密钥安全存储、对称钥和非对称钥加密等安全功能于一体的安全硬件。安全操作系统启动后通过插入Usb Key 对于用户的身份进行认证;通过把密钥安全存储在Usb Key 中,能够防止泄漏、篡改并保证密钥不

落地;通过管理平台进行的统一的密钥分配和管理,可以在一

定程度上消除密钥管理中潜在的安全隐患。因此,如何利用Usb Key 所具有的上述功能来构建一个透明加解密文件系统就成为当前研究的热点和难点。而本文针对这一研究方向的有益探讨,提出了一个基于Usb Key 的透明加解密文件系统。

文章组织如下:第2节对几个著名的加密文件系统进行分析,并指出它们存在的问题;第3节提出一个基于Usb Key 的透明加解密文件系统(TEDFSU ,Transparent Encrypted and Decrypted File System Based on Usb Key )的设计方案,并从设计目标、系统组成、实现以三个方面对TEDFSU 进行讨论;第4节把TEDFSU 和其他加密文件系统进行比较;最后总结全文,并指出了今后研究和改进的方向。

2 相关工作

2.1 CFS(C ryptographic File System)

CFS 是一个广泛使用的以用户层N FS (Network File

System )服务器方式实现的加密文件系统[1]。它需要用户在

本地或远程文件系统中创建一个目录来保存加密数据,并确定所使用的密码和密钥。CFS 守护进程在验证了用户身份和密钥之后,通过attach 命令使用户可以透明访问自己的加密

目录中的文件。CFS对用户来说并不是完全透明,用户对加密目录进行操作之前,需要用命令先将加密目录和一个特定目录相关联;加密的粒度是目录,不能对特定的文件加密;效率比较低,由于运行在用户模式,必须执行在用户空间和内核空间的上下文转换和拷贝。

2.2 TCFS(T ransparent C ryptographic File System)

TCFS是内核级的N FS客户机,使用时需要和一个N FS 服务器关联[2]。和CFS相比,TCFS加密的粒度较细,不仅能够对每个文件使用不同的“文件密钥”进行加密,而且能够对文件中不同部分使用的不同的“块密钥”进行加密。TCFS对数据加解密操作在核心层完成,性能有所提高,但是用户的“主密钥”由用户的登录密码加密后存放在系统硬盘中,这在一定程度上降低了系统的安全性。此外,TCFS目前只在Linux2.2.17之前的版本上实现,兼容性差。

2.3 C ryptFS(Crypt File System)

Crypt FS是一个分层的虚拟节点(vnode)接口[3]。Linux 中和虚拟节点相对应的是索引节点(inode)。虚拟节点最重要的方面是对文件分层操作,虚拟节点位于最高层,提供虚拟节点接口。当高层的操作系统代码调用虚拟节点接口进行文件操作的时候,虚拟节点会调用和具体的文件系统相关的操作完成具体的文件操作。通过上层的虚拟节点调用下层的节点,下层的节点调用次下层的节点,最后就能完成文件操作。Crypt FS在虚拟节点层和下层节点层之间加入一个Crypt FS 层,由Crypt FS层自动实施安全操作以后调用下层的节点层(例如调用U FS层)完成操作。Crypt FS使用密码块链(ci2 pher block chaining)加密模式,但仅仅提供了Blowfish算法,扩展性差。

2.4 AFS(Andrew File Systerm)

A FS是一个分布式加密文件系统[4],它通过一个统一的访问接口把多个服务器连接起来,形成一个数据存储空间。客户端通过把共享目录挂载到本地目录来访问服务器上数据。客户端和其他客户端以及服务器之间的信息交换通过安全的RPC来完成,每次用户登录都要和服务器协商一个会话密钥,从而每次的消息交换都是通过会话密钥加密进行的。在A FS中,服务器使用明文方式保存数据,因此攻破A FS系统的任何一个服务器都能得到文件的内容。此外,由于使用端到端的加密机制,系统效率受到很大影响。

2.5 存在的问题分析

通过分析,以上的加密文件系统都存在着不同程度的问题:

(1)密钥保护不完善。在CFS,TCFS和Crypt FS中,由于加解密密钥在硬盘上存储,从而存在受到攻击的危险。

(2)使用配置不方便。在CFS中,用户对加密目录进行操作之前,需要用命令先将加密目录和一个特定目录相关联,并确定所要使用的密钥和密码,而通过图形管理界面,则配置起来比较方便和灵活,易用性好。

(3)针对分布式环境。例如,CFS,TCFS和A FS都是针对分布式环境的,使用时需要采用C/S模式,并不支持单机版的使用。

(4)性能比较低下。在CFS,由于加解密在应用层完成,性能比较低下;而A FS使用端到端的加密机制,系统效率受到很大影响。

3 TE DFSU的设计与实现

3.1 设计目标和基本原则

借鉴已有的透明加解密文件系统的设计,并根据实际的系统使用环境和安全威胁,确定了TEDFSU的设计目标和原则。

(1)通用性:尽可能地使用Linux已有的系统调用接口,并支持底层文件系统所支持的任何访问方法;

(2)易用性:便于使用,通过图形化管理工具对于用户更易接受;

(3)高性能:系统不应该有太多的性能损失和进程上下文的切换,将透明加解密机制放到内核实现是很好的选择;

(4)安全性:密钥和加密算法存放在安全硬件中比存放在硬盘中安全性好;能够对于登陆系统的用户进行身份认证,采用双因子认证更为安全;

(5)可扩展性:系统采用结构化设计,便于功能的扩展及对多种密码算法的支持。

3.2 系统的组成及工作流程

系统包括两个部分:配置管理工具和完成透明加解密机制的安全内核模块。配管工具是使用Q T(Linux下图形界面工具)编写的应用程序,主要完成Usb Key发行以及对系统中用户及其所属资源的配置管理工作。配管工具可以发行两种类型Usb Key(可扩展),一种是0级Key,即特权的管理员Key;一种是1级Key,即普通的用户Key。此外,为便于管理和使用,对Usb Key进行分组,同一组中的用户具有相同的工作密钥,但其私有密钥不同。用户管理包括:用户的添加(把用户名和特定的Usb Key绑定)、删除和修改;用户所属资源的管理包括:对用户所属资源(文件和目录)添加、删除或修改加密属性。

Usb Key中存储的主要信息包括:Usb Key名称,用户登录Usb Key的密码及加密算法,以及公共密钥、私有密钥。和公共密钥、私有密钥相对应的是系统中的公共加密目录和私有加密目录。公共加密目录是使用Usb Key中的公共密钥对其进行加密(文件是以密文的方式在硬盘中存储的),同一工作组中的所有用户都能够进行透明的读写;而私有加密目录中的文件(通常在/home/下,名称为用户名),只有属主用户(具有匹配的私有密钥)才能够进行透明的读写,其他任何用户(同组或非同组)所看到的都是密文。

系统的关键部分是可动态加载的透明加解密模块,它是以Linux模块的形式实现,具有灵活性和通用性好的特点。在具体实现透明加解密模块时,使用了Linux的L SM机制,它是Linux下一种灵活的和通用的访问控制框架,同时是在Linux下开发安全功能的标准机制。

系统工作的流程如下:通过对系统的grub和initrd进行修改,使得系统在正常启动过程中自动加载Usb Key的驱动程序模块和用户身份认证驱动程序模块(在Usb Key驱动程序基础上的模块),而后插入透明加解密安全模块,在对用户的身份成功完成验证后,进入安全操作系统(运行安全内核),否则退出系统。

配管工具采用向导式的界面。运行前插入管理员Us2 b Key,并正确地输入Usb Key登录密码后,程序向后执行。添加、删除和修改用户都首先需要插入用户的Usb Key,并且在成功地验证用户的登录密码后才能执行下一步操作。当对资源设置加密属性后,系统会使用Usb Key中的密码和密钥进行加密。对于用户及用户资源的配置管理所产生的最终结果都记录在两个文件中,即os210_userlist和os210_reslist中,这个文件也是安全管理工具和安全内核之间的接口。安全内

核在初始化的时候,读取os210_userlist 对用户初始化,形成一个系统用户链表,作为后面对用户进行鉴别和认证的基础;同时读取os210_reslist 文件,形成一个受控资源链表。在系统运行中,当用户读取加密文件后,首先在受控文件链表中进行查询,如果是自己受控的,那么就通过从Usb Key 中的读取公共密钥或私有密钥对文件进行解密。这些都是利用操作系统的底层的机制,并且通过对Linux 文件系统的关键系统调用进行修改和重定向来完成的,对上层用户来说是完全透明的,和在普通文件系统下对于文件操作没有什么不同,因此称之为透明加解密文件系统。3.3 实现

Linux 最初采用minix 的文件系统,在改进并吸取了传统Unix 文件系统的经验后,形成了现在的Linux 文件系统:ext2

和ext3。为了更好地支持各种文件系统,需要把对其操作和管理纳入到统一的框架中,让内核中文件系统界面成为一条文件系统“总线”,使得用户程序可以通过同一个文件系统操作界面,即同一组系统调用,对各种不同的文件系统进行操

作。这样就可以对用户程序隐藏各种文件系统的实现细节,从而为用户提供一个统一的、抽象的、虚拟的文件系统界面,

这就是“虚拟文件系统”(V FS ,Virtual File System )。这个抽象的界面主要由一组标准的、抽象的文件操作构成,以系统调

用的形式提供给用户程序,如read (),write ()等等。

在Linux 系统中,只有在“打开”(通过系统调用open ())文件后,才能通过系统调用read ()和wtite ()对文件进行“读”

或“写”操作。为提高效率,对文件的“读”或“写”都是带有缓存的。通过缓存机制,系统为最近刚“读”或“写”过的文件内容在内核中保留一份副本,以便再次需要已经在缓存中存储的副本的内容时就不必再从磁盘中读入,而需要写的时候则可以先写入副本中,空闲时再从副本写入磁盘。Linux 中,将装有同一个文件内容的缓冲区都放在其所属文件的inode 结构中。在inode 结构中设置了一个指针i_mapping ,它指向一个address_space 结构,缓冲区队列就在address_space 中,并以内存页面的形式挂载。在address_space 结构中,队列头

pages 就是用来维护缓冲页面队列的。指针a_ops 指向一个address_space_operations 数据结构,该结构的函数指针给出

了缓冲页面与具体文件系统的设备层之间的关系和操作,例如从具体文件系统的设备上“读”或“写”一个缓冲页面等等。对于具体的文件系统ext2来说,这个数据结构为ext2_aop s ,如下:

struct address_space_operations ext2_aops ={readpage :ext2_readpage ;readpages :ext2_readpages ;prepare_write :ext2_prepare_write ;commit_write :generic_commit_write ;}

其中,readpage 的功能是从缓冲页面中读单页面操作;read 2

pages 的功能是从缓冲页面中读取多个页面操作;prepare_write 的功能是为一个给定的缓冲区页面中的记录块做好写

入准备;commit_write 则通过prepare_write 为写操作做好准

备后,就从缓冲区到设备上的记录之间建立了一条通路。写入缓冲区以后,还要把这些缓冲页面交给内核线程kflushd ,而将缓冲页面提交给kflushd 进程的任务是由commit_write 函数来完成的。

为实现文件的透明加解密的功能,我们对上述结构中函数功能进行了重定向,即在系统实现时,对于具有加密属性的

文件,在使用readpage 或readpages 进行读文件时,要进行解

密操作;在使用prepare_write ()和commit_write ()进行写操作时,要进行加密操作。为了更好地实现上述功能,在编码时,编写了专门的重定向函数os210_cip_inode_redirectop (),该函数包含所有的重定向功能。

os210_cip_inode_readirectop{

 new_a_ops 2>readpage =os210_cip_readpage ; new_a_ops 2>readpages =os210_cip_readpages ; new_a_ops 2>prepare_write =os210_cip_prepare_write ; new_a_ops 2>commit_write =os210_cip_commit_write ; }

整个结构的修改如图1所示

图1 修改后的ext2文件系统

为了便于透明加解密功能的实现,在系统中使用了L SM 机制。L SM (Linux Security Module )是Linux 安全模块,它是Linux 下一个灵活的、通用的访问控制框架。L SM 的基本设计思想是在内核数据结构中放置了透明安全域(Opaque se 2curity field )作为内核对象的安全属性,并在内核源代码中放置钩子hook 函数,由hook 函数来对内核对象的访问权限做出判断。在实现透明加解密机制时,需要添加安全属性的内核对象为:inode (代表文件)、super _block (代表文件系统)。为了对文件的加密属性进行设置以及读写操作的重定向的工作,主要使用了L SM 框架的inode_permission ()(该钩子在打开一个文件前检查权限)、file_permission ()(该钩子在对于一个文件进行真正的读写操作前检查权限)、inode_post_create ()等钩子(该钩子设置一个新创建的普通文件的安全属性,其在文件被成功创建后调用)。通过在这些钩子函数中增加节点加密属性设置函数os210_set_inode_sec_attr ()(其功能是根据索引节点及索引节点的目录节点的安全信息,设置索引节点的安全属性)以及读写操作的重新定向功能os210_cip_inode_redirectop ()函数(其功能是当文件带有加密属性时,重定向inode 操作的一些函数,使其指向带有加解密功能的函数)来最终完成透明加解密功能。

在实现时,还根据实际的需要,增添了一个L SM 框架的定义外的钩子函数:mpage_read ():os210_mpage_read (),并且对内核的文件系统部分的mpage.c 中的read_page ()函数进行了修改,增加了对该钩子的调用功能,其功能是在执行readpage 操作时,对读出的页面进行解密操作。

此外,在系统实现时,采用了结构化的设计方法,一方面便于系统的实现(编程)以及具有更好的稳定性和兼容性;另一方面便于对于多种加密算法的支持,使得在系统具有更好的扩展性。

4 比较和分析

本节从工作原理、实现位置、数据存储、密钥存放、可扩展

性、使用简易程度、性能等几个方面把TEDFSU 和其他加密文件系统进行比较,结果见图2。

内容CFS TCFS Crypt FS AFS TEDFSU 工作原理NFS 服务器NFS 客户机虚拟节点普通文件系统虚拟节点实现位置应用层内核层内核层内核层内核层数据存储密文密文密文明文密文密钥存放磁盘磁盘磁盘磁盘U sbkey 扩展性较差较差较好较差较好使用简易较复杂教复杂较复杂较复杂容易性能评测较差较好较好较差较好

图2 TEDFSU 和其他加密文件系统的比较

工作原理:CFS 和TCFS 基于N FS 文件系统,Crypt Fs 是基于虚拟节点的工作机制,A FS 基于普通的文件系统的工作机制;TEDFSU 从本质上来讲也是基于虚拟节点的,因为i 2node 就是虚拟节点的中重要的一种。

实现位置:通常,在核心层进行加密操作将会得到更高的性能。

数据存储:数据在磁盘中以密文的方式存储比采用明文方式存储显然具有更高的安全性。

密钥存放:和把密钥存放在磁盘上相比,TEDFSU 把密钥存放在Usb Key 中,具有较高的安全性能。

扩展性:由于TEDFSU 对内核的依赖性较小,因此便于扩展;由于采用结构化的设计和编程,能够对多种加密算法提供支持。

使用简易:TEDFSU 由于实现了图形化的配管工具,使用简单灵活。

性能评测:CFS 在应用层加密使得在对本地数据进行加密时性能非常低。相比之下,Crypt FS 和TEDFSU 则高效得多。此外,TEDFSU 由于采用硬件加密,和其他采用软算法加密的系统相比,具有更高的性能。

结束语 本文设计和实现了一个基于Usb Key 的透明文件加解密系统,并且从设计目标、系统组成和工作流程以及实

现3个方面对其进行了讨论,最后把它和其他加密文件系统

做了比较。和传统的加密文件系统相比,TEDFSU 的密钥和加密算法安全存储在Usb Key 中,只有合法的用户拥有Us 2b Key 并且输入合法的口令后,才能够登录系统。并通过实现一个图形管理界面解决了常见加密文件系统易用性较差的问题。此外,在系统中文件以密文的方式存储在磁盘中,只有合法的用户查看文件内容是明文,并没有感觉到加密机制的存在,而非法的用户得到的却是密文,实现了透明加解密的功能。

该系统经过测试证明已经能够很好地支持Linux 文件系统ext2和ext3。下一步工作之一是Windows 的N TFS 和VFA T 等文件系统进行移植的工作。此外,由于该系统采用L SM 机制和结构化设计,扩展性和灵活性较好,因此我们还将研究如何把对于文件强制访问控制机制融入到该系统中,从而对系统安全提供更高级别的保证。

参考文献

[1]

Blaze M .A Cryptographic File System for Unix [C ]∥First ACM Conference on Communication and Computing Security.Fairfax ,VA ,1993:1582165[2]

Cattaneo G ,Catuogno L ,Del Sorbo A ,et al.The Design and Im 2plementation of a Transparent Cryptographic Filesystem for UNIX ∥Proceedings of t he Annual USENIX Technical Confe 2rence ,FREENIX Track.J une 2001:2452252[3]Zadok E ,Badulescu I ,Shender A.Cryptf s :A Stackable Vnede Level Encryption File System.1998

[4]

Howard J H.An Overview of t he Andrew File System [C ]∥Proceedings of t he USENIX Winter Technical Conference.Dal 2las ,TX ,1988(2)[5]Stevens W R.Unix 环境高级编程.尤晋元,等译.机械工业出版

社,2004

[6]

毛德操,胡系明.Linux 内核源代码情景分析.浙江大学出版社,

2002

(上接第55页)

的幅度是25mV 到250mV ,采样相位是0~2

π。传统采样方案的采样数是64,新的采样方案的采样数是128。新的采样方案的平均量化误差是0.14L SB ,传统采样方案的量化误差是0.38L SB 。依据式(2)可以计算出新的采样方案的ADC 转换器的分辨率达到8.8bit

图6 新的采样方案量化误差范围

结束语 本文针对采样时会产生量化噪声干扰,对伺服

burst 信号来说6位分辨率的ADC 转换器显然是不够的,而经过FFT 计算后burst 信号会产生较大的误差这一问题,首先依据采样量化误差模型分析了现有的伺服系统过采样模型,并提出了改进型的伺服系统过采样模型。通过仿真得知,改进型采样方案将平均量化误差由原来的0.38L SB 降到了

0.14L SB ,ADC 转换器的分辨率由原来的7.5bit 提高到8.8bit ,说明该种改进方案是行之有效的。

参考文献

[1]

Bliss W G ,Du L ,Karasanbhai M .Digital servo demodulation in a digital read channel.IEEE Transactions on Magnetics ,1998,34(1):902100[2]

Abramovitch D Y .Customizable coherent servo demodulation for disk drives.IEEE/ASME Transactions on Mechatronics ,1998,3(3):1842193[3]

王念旭,等.DSP 基础与应用系统设计.北京:北京航空航天大学出版社

[4]

Thapar H ,Lee Sang 2Soo ,Conroy C ,et al.Hard Disk Drive Read Channels :Technology and Trends ∥IEEE Solid States Circuit s Society.Proceedings of t he IEEE Custom Integrated Circuit s Conference.San Diego :Institute of Electronics Engi 2neers ,Inc.,1999:3092316

[5]Grochowski R ,Hoyt R F .Future trends in hard disk drives .IEEE Transactions on Magnetics ,1996,32(3):185021854

文件加密与解密—Java课程设计报告

JAVA课程设计题目:文件的加密与解密 姓名: 学号: 班级: 日期:

目录 一、设计思路 (3) 二、具体实现 (3) 三、运行调试与分析讨论 (8) 四、设计体会与小结 (11) 五、参考文献 (12) 六、附录 (12)

一、设计思路 自从Java技术出现以业,有关Java平台的安全性用由Java技术发展所引发的安全性问题,引起了越来越多的关注。目前,Java已经大量应用于各个领域,研究Java的安全性对于更好地利用Java具有深远的意义。使用Java的安全机制设计和实现安全系统更具有重要的应用价值。 本课程设计,主要实践Java安全中的JCE模块,包括密钥生成,Cipher对象初始化、加密模式、填充模式、底层算法参数传递,也涉及文件读写与对象输入输出流。 二、具体实现 本系统通过用户界面接收三个参数:明文文件、密文文件、口令。采用DES加密算法,密码分组链(Cipher Block Chaining,CBC)加密模式,PKCS#5-Padding的分组填充算法。因为CBC涉及到底层算法参数的解密密钥的传递,所以将明文文件中的字节块以密封对象(Sealed Object)的方式加密后,用对象流输出到密文文件,这样就将密文、算法参数、解密密钥三都密封到一个对象中了。口令的hash值作为产生密钥的参数。设计流程图如下所示: 文件加密与解密设计流程图

本系统中,包含Default,Shares,SecretKey,EncAndDec四个包共6个类组成。定义的几个参数:MAX_BUF_SIZE为每次从文件中读取的字节数,也是内存缓冲区的大小;加密算法为DES;加密模式是密码分组链(CBC)模式;分组填充方式是PKCS#5Padding。包和类结构图如下所示: 本课程设计,包和类结构图: 以下为包中的类的方法实现说明 Package Shares类结构图

RSA加密解密的设计与实现

RSA加密解密的设计与实现

上海电力学院 《应用密码学》课程设计 题目: RSA加密解密的设计与实现 院系:计算机科学与技术学院 专业年级:级 学生姓名:李正熹学号: 3273 指导教师:田秀霞 1月 8日 目录

目录 1.设计要求 2.开发环境与工具 3.设计原理(算法工作原理) 4.系统功能描述与软件模块划分 5.设计核心代码 6.参考文献 7. 设计结果及验证 8. 软件使用说明 9. 设计体会 附录 1.设计要求

1 随机搜索大素数,随机生成公钥和私钥 2 用公钥对任意长度的明文加密 3 用私钥对密文解密 4 界面简洁、交互操作性强 2.开发环境与工具 Windows XP操作系统 Microsoft Visual C++ 6.0 1.创立rsa工程

2.在rsa工程中创立 3273 李正熹cpp文件 3.设计原理 RSA算法简介 公开密码算法与其它密码学完全不同,它是基于数学函数而不是基于替换或置换。与使用一个密钥的对称算法不同,公开密钥算法是非对称的,而且它使用的是两个密钥,包括用于加密的公钥和用于解密的私钥。公开密钥算法有RSA、Elgamal等。 RSA公钥密码算法是由美国麻省理工学院(MIT)的Rivest,Shamir和Adleman在1978年提出来的,并以她们的名字的有字母命名的。RSA是第一个安全、实用的公钥密码算法,已经成为公钥密码的国际标准,是当前应用广泛的公钥密码体制。

RSA的基础是数论的Euler定理,其安全性基于二大整数因子分解问题的困难性,公私钥是一对大素数的函数。而且该算法已经经受住了多年深入的密码分析,虽然密码分析者既不能证明也不能否定RSA的安全性,但这不恰恰说明该算法有其一定的可信度。 4.系统功能描述与软件模块划分 功能:

文件系统课程设计报告

设计时间: 2011-1-5至2011-1-7 专业年级:08计科4班: 一.设计目的: 通过操作系统其中一个子系统的设计和实现,掌握Linux文件系统的基本原理、结构和实现方法,掌握Linux文件系统中文件的建立、打开、读/写、执行、属性等系统调用的使用,学会设计简单的文件系统并实现一组操作,以及学习文件系统的系统调用命令,提高对文件系统实现功能的理解和掌握。同时,掌握操作系统设计的方法与技巧,增强系统软件设计的实际工作能力。 二.设计容: 为LINUX 设计一个简单的二级文件系统。本文件系统采用类似DOS系统的文件管理方式,每次调用该文件系统时,首先申请一定的存空间,然后对该存空间进行分配。将申请到的空间划分为目录区,文件区;采用位示图进行空间管理,盘块的分配使用显示(FAT 表)的方式。每次调用该文件系统时自动为其分配空间,并将上次操作的结果从硬盘上调入存;当结束调用时则将操作的结果重新存入硬盘,以便下次调用。(每次使用都会自动搜索文件系统,以此确定是否是第一次使用;若是则格式化生成文件系统,否则读取已存在的文件系统。) 三.设计过程 1、实现功能 该系统具备下列功能: login 用户登录logout 注销 mkdir/md 创建目录rmdir/rd 删除目录 cd/cd .. 修改目录creat 创建文件 open 打开文件dir 显示当前目录和文件 write 读文件 delete 删除文件 close 关闭文件 2、添加功能 (1)制作了一个“操作命令符”列表框,说明接下来如何操作,这样有利于更好地阅读、操作和运行程序,使不懂得程序代码的人也可以运行该程序,更好地理解该程序实现的功能。 (2)在命令解释层函数cmdexp()里加了一些选择和操作功能,增加程序实现的功能,如原来程序只有显示当前目录和文件、创建目录和修改目录的功能,把它拓展到系统所要求的全部功能,并在原有的程序的基础上进行相应的修改,使程序更加完善。 3、设计思路 (1)要将文件存储在磁盘上,必须为之分配相应的存储空间,并对文件存储空间进行管

加密解密课程设计

兰州商学院陇桥学院工学系课程设计报告 课程名称: Java 设计题目:加密与解密 系别:工学系 专业 (方向):信息管理与信息系统 年级、班:2012级(2)班 学生姓名:费亚芬 学生学号: 208

指导教师:张鑫 2014年7 月 1日 目录 一、系统开发的背景................................. 错误!未定义书签。 二、系统分析与设计................................. 错误!未定义书签。(一)............................................. 系统功能要求错误!未定义书签。(二)......................................... 系统模块结构设计错误!未定义书签。 三、系统的设计与实现............................... 错误!未定义书签。(一)图形用户界面模块 ........................... 错误!未定义书签。(二)加密操作模块 ............................... 错误!未定义书签。 (三)解密操作模块................................ 错误!未定义书签。(四)文件保存模块 ............................... 错误!未定义书签。

(五)文件选择模块 ............................... 错误!未定义书签。 四、系统测试....................................... 错误!未定义书签。(一)测试加密..................................... 错误!未定义书签。(二)测试选择加密文件............................. 错误!未定义书签。(三)测试生成加密文件............................. 错误!未定义书签。(四)测试浏览加密文件............................. 错误!未定义书签。(五)测试解密文件................................. 错误!未定义书签。 五、总结........................................... 错误!未定义书签。 六、附件(代码、部分图表) ......................... 错误!未定义书签。

操作系统文件管理实验报告

操作系统实验报告实验名称:文件管理 专业班级:网络工程1301 学号: 姓名: 2015 年6 月16 日

实验一文件管理 一、实验目的 文件管理是操作系统的一个非常重要的组成部分。学生应独立用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质容和执行过程有比较深入的了解,掌握它们的实施方法,加深理解课堂上讲授过的知识。 二、预备知识 1.VS2010的使用 2.C#的学习 3.文件主目录与子目录的理解 三、实验容与步骤 用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。要求设计一个10 个用户的文件系统,每次用户可保存10 个文件,一次运行用户可以打开5 个文件。系统能够检查打入命令的正确性,出错时能显示出错原因。对文件必须设置保护措施,例如只能执行,允许读等。在每次打开文件时,根据本次打开的要求,在此设置保护级别,即有二级保护。文件的操作至少有Create、delete、open、close、read、write 等命令。 所编写的程序应采用二级文件目录,即设置主文件目录和用户文件目录。前者应包含文件主及它们的目录区指针;后者应给出每个文件占有的文件目录,即文件名,保护码,文件长度以及它们存放的位置等。另外为打开文件设置运行文件目录(AFD),在文件打开时应填入打开文件号,本次打开保护码和读写指针等。 程序流程图:

逻辑设计: 使用线性数组表表示MFD,泛型数组表示UFD,每个元素包括用户ID、保存的文件数、再使用线性表表示文件信息,每个元素包括文件名,文件属性(保护码),文件的状态等信息。 物理设计: //主目录 private FileUser[] mfd; //当前用户 private FileUser currentuser; ///

/// 文件 /// public class FileObject { public string filename; public int size=20; public int read=0; public int write = 0; public string author; } /// /// 文件系统用户 /// public class FileUser { public string username;

密码学课程方案AES加密解密文档

个人资料整理仅限学习使用 成都信息工程学院课程设计报告 AES加密解密的实现 课程名称:应用密码算法程序设计 学生姓名: 学生学号: 专业班级: 任课教师: 年月日

个人资料整理仅限学习使用 附件:课程设计成绩评价表

个人资料整理仅限学习使用目录

1.背景 AES,密码学中的高级加密标准

FAT文件系统操作系统课程设计实验报告

操作系统课程设计之三 设计任务:模拟OS文件系统 在任一OS(Window或者Dos;也可以是在Linux下,但要求能将结果演示给老 师看)下,建立一个大文件,把它假象成一张盘,在其中实现一个简单的模拟OS 字 ,第 ⑤、每个目录实际能放下文件或子目录30项。 ⑸、文件系统空间分配: ①、第0个盘块(1k)存放磁盘信息(可以设定为格式说明“FAT32”、盘块大小,盘块数等 内容) ②、第1个盘块起,至125盘块,共125个盘块(125k)存放FAT内容 ③、第126、127(2个)盘块,存放位示图

④、从第128盘块至10000盘块,皆为数据(区)盘块,其逻辑编号从0开始,至 9872号数据盘块,即第0数据盘块为128号盘块,第1数据盘块为129号盘块,… ⑤、第0数据盘块(即128号盘块),存放根目录(同样只用一个盘块作根目录), 由于第0、1目录项为“.”(本目录), “..”(父目录),因此根目录下同样只能存放30个文件或目录,并且从第2个目录项开始。 ⑥、文件或子目录数据,放在第1数据盘块及以后的数据盘块中,由用户按需要使 用。 内容 ⑺、删除文件 #DelFile 文件名.扩展名,在文件所在的目录项中,将第一个字节变为0xE5,并同时修改FAT内容和位示图内容;如果文件不存在,给出出错信息 ⑻、文件拷贝 #CopyFile 老文件,新文件,为新文件创建一个目录项,并将老文件内容复制到新文件中,并同时修改FAT内容和位示图内容 ⑼、显示位示图内容

#ShowBitMP,将位示图内容(已有信息部分),显示在屏幕上(按十六进制)⑽、显示FAT内容 #ShowFAT,将FAT内容(已有信息部分),显示在屏幕上(按十六进制) 4、程序的总体流程为: ⑴、输出提示符#,等待接受命令,分析键入的命令; ⑵、对合法的命令,执行相应的处理程序,否则输出错误信息,继续等待新命令 关于对FAT表和MAP表的用法 1.当要用到数据块是,查询MAP表(因为只做比较查询即可),查询到的未用位置 置1,然后在FAT表上进行相应记录,在本程序做出的规定是,当文件夹FAT 表做-1,若是文件则按照FAT做对应的顺序记录,最后一块同样是-1结束,2.回收的时候,是按照FAT表的首项,做顺序置0,然后MAP也在相应位置置0

java文件加密解密课程设计

软件学院 课程设计报告书 课程名称面向对象程序设计 设计题目文本文档的加密与解密 专业班级财升本12-1班 学号 1220970120 姓名王微微 指导教师徐娇月 2013年 1 月

1 设计时间 2013年1月14日-2013年1月18日 2 设计目的 面向对象程序设计是一门实践性很强的计算机专业基础课程。通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。 3 设计任务 对文件进行加密解密 4 设计内容 4.1 需求分析 (1)给定任意一个文本文件,进行加密,生成另一个文件。 (2)对加密后的文件还原。 4.2 总体设计 4.2.1 包的描述 导入了java.awt; java.awt.event; java.io; javax.swing等包。 4.2.2 类的描述 Myframe类;E1类。其中Myframe类继承Frame类;可以扩展Frame的功能并且可以实例化的多种功能,这个类也实现了ActionListener这个接口,它是Java中关于事件处理的一个接口,ActionListener用于接收操作事件的侦听器接口。对处理操作事件感兴趣的类可以实现此接口,而使用该类创建的对象可使用组件的addActionListener 方法向该组件注册。在发生操作事件时,调用该对象的actionPerformed 方法。 4.3 页面设计

图4.3-1 显示页面 代码实现: addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } });

文件加密系统课程设计

仲恺农业工程学院课程设计 文件加密 姓名孙浩斌 院(系)信息科学与技术学院 专业年级计算机132 学号 指导教师罗慧慧 职称学生 起止时间2015-6-15至2015-6-24 仲恺农业工程学院教务处制 目录

一.课程设计目的和要求 设计目的 有时我们有些资料不希望别人看到,最常用的方法就是加密。对给定的相关文件进行加密可以对文件进行保护,可以防止某些重要信息不被别人所知道甚至窃取。对文件起到保护作用,可以方便用户使用某些只有自己能知道的信息,能够安全保护文件的相关内容几信息不被外流。随着信息社会的到来,人们在享受信息资源所带来的巨大的利益的同时,也面临着信息安全的严峻考验。信息安全已经成为世界性的现实问题,信息安全问题已威胁到国家的政治、经济、军事、文化、意识形态等领域,同时,信息安全问题也是人们能否保护自己的个人隐私的关键。信息安全是社会稳定安全的必要前提条件。通过课程设计,使学生了解高级程序设计语言的结构,逐渐培养学生的编程能力、用计算机解决实际问题的能力,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。为后续各门计算机课程的学习和毕业设计打下坚实基础。 程序设计的主要任务是要求学生遵循软件开发过程的基本规范,运用结构化程序设计的方法,按照课程设计的题目要求,分析、设计、编写、调试和测试程序及编写设计报告。

本课程设计的目标: 1. 巩固《高级语言程序设计》课程学习的内容和加深学生对基本知识的理解和掌握。 2. 掌握编程和程序调试的基本技能。 3. 掌握软件设计的方法。 4. 提高运用程序设计解决实际问题的能力。 5. 培养独立思考、综合运用所学有关相应知识的能力。 6. 强化上机动手编程能力,闯过理论与实践相结合的难关! 设计要求 1. 分析课程设计题目的要求,根据所要求的程序功能,画出程序的流程图。 2.对系统功能模块进行分析,写出详细设计说明文档。 3.对程序源代码进行调试与测试,使其能正确运行。 4.设计完成的软件要便于操作和使用。 5.设计完成后提交课程设计报告。 设计意义 至今,密码技术是取得信息安全性最有效的一种方法, 密码技术是信息安全的核心技术。通过数据加密,人们可以有效地保证通信线路上的内容不被泄露,而且还可以检验传送信息的完整性。进一步,密码技术可以应用于数字签名、身份认证和信息鉴定,这些应用对于资源存取控制以及其它安全措施是必须而且有效的。相对于防病毒软件和防火墙软件来说,基于密码技术密码类产品、认证类产品份额相对较小,但随着金融、电信、政府等行业信息化建设对于网络安全整体解决方案需求的增加,将会有较大的增长。

加密解密软件的设计与实现

课程设计任务书 2010—2011学年第二学期 专业:计算机科学与技术学号:080101010 姓名:刘海坤 课程设计名称:计算机网络课程设计 设计题目:加密解密软件的设计与实现 完成期限:自2011 年 6 月21 日至2011 年 6 月26 日共 1 周 设计目的: 本程序设计所采用的就是DES算法,同时利用Java的GUI编程,生成文本对话框,对文件的路径进行选择、提供密钥框、加密和解密按钮。 功能要求:根据DES算法,设计加密解密软件来为各种文件加密解密。 一、设计的任务:根据设计整体需求,本人负责窗体的设计与实现和目标文件 的导入模块。 二、进度安排: 三、主要参考资料: [1] 谢希仁.计算机网络教程.北京: 人民邮电出版社,2006. [2] 耿祥义.Java2使用教程:清华大学出版社,2006. [3] 方敏,张彤.网络应用程序设计.西安:电子科技大学出版社,2005. [4] 黄超.Windows下的网络编程.北京:人民邮电出版社,2003. 指导教师(签字):教研室主任(签字): 批准日期:年月日

摘要 随着计算机的应用和网络技术的不断发展,网络间的通讯量不断的加大,人们的个人信息、网络间的文件传递、电子商务等方面都需要大力的保护,文件加密技术也就随之产生。文件的加密主要是由加密算法实现,加密算法有多种,常见的有RSA、DES、MD5等。本程序设计对文件的加密使用的是DES加密算法。 DES是分块加密的。DES用软件进行解码需要用很长时间,而用硬件解码速度非常快,1977年,人们估计要耗资两千万美元才能建成一个专门计算机用于DES的解密,而且需要12个小时的破解才能得到结果。所以,当时DES被认为是一种十分强壮的加密方法。但今天,只需二十万美元就可以制造一台破译DES的特殊的计算机,所以现在 DES 对要求“强壮”加密的场合已经不再适用了。 Java语言具有简单、安全、可移植、面向对象、健壮、多线程、体系结构中立、解释执行、高性能、分布式和动态等主要特点。利用Java语言中秘密密钥工厂对DES算法的支持,使程序实现文件加密、解密两大功能更简单。 本程序设计所采用的就是DES算法。同时利用Java的GUI编程,生成文本对话框,对文件的路径进行选择、提供密钥框、加密和解密按钮。 使用本程序可以对txt,word等多种文件进行加密解密,使用便捷实用,功能完善,满足了用户对文件安全性的需求。 关键词:JA V A ,DES,加密,解密。

文件系统实验报告

实验二文件系统实验报告

一.实验简介 本实验要求在假设的I/O 系统之上开发一个简单的文件系统,这样做既能让实验者对文件系统有整体了解,又避免了涉及过多细节。用户通过create, open, read 等命令与文件系统交互。文件系统把磁盘视为顺序编号的逻辑块序列,逻辑块的编号为0 至L-1。I/O 系统利用内存中的数组模拟磁盘。 实际物理磁盘的结构是多维的:有柱面、磁道、扇区等概念。I/O 系统的任务是隐藏磁盘的结构细节,把磁盘以逻辑块的面目呈现给文件系统。逻辑块顺序编号,编号取值范围为0 至L .. 1,其中L 表示磁盘的存储块总数。实验中,我们可以利用字符数组ldisk[L][B] 构建磁盘模型,其中 B 表示每个存储块的长度。I/O 系统从文件系统接收命令,根据命令指定的逻辑块号把磁盘块的内容读入命令指定的内存区域,或者把命令指定的内存区域内容写入磁盘块。 我设计的文件系统拥有三个用户。 二.具体说明 1.文件系统的组织:磁盘的前k 个块是保留区,其中包含如下信息:位图和文件描述符。位图用来描述磁盘块的分配情况。位图中的每一位对应一个逻辑块。创建或者删除文件,以及文件的长度发生变化时,文件系统都需要进行位图操作。前k 个块的剩余部分包含一组文件描述符。每个文件描述符包含如下信息: ?文件长度,单位字节 ?文件分配到的磁盘块号数组。该数组的长度是一个系统参数。在实验中我们可以把它设置为一个比较小的数,例如3。 2.目录:我们的文件系统中仅设置一个目录,该目录包含文件系统中的所有文件。除了不需要显示地创建和删除之外,目录在很多方面和普通文件相像。目录对应0 号文件描述符。初始状态下,目录中没有文件,所有,目录对应的描述符中记录的长度应为0,而且也没有分配磁盘块。每创建一个文件,目录文件的长度便增加一分。目录文件的内容由一系列的目录项组成,其中每个目录项由如下内容组成: ?文件名 ?文件描述符序号 3.对文件的操作: 文件系统需提供如下函数;create, destroy, open, read, write。 ?create(filename): 根据指定的文件名创建新文件。 ?destroy(filename): 删除指定文件。 ?open(filename): 打开文件。该函数返回的索引号可用于后续的read, write, lseek, 或close 操作。 ?close(index): 关闭制定文件。 ?read(index, mem_area, count): 从指定文件顺序读入count 个字节mem_area 指定的内存位

DES加密解密课程设计报告

D E S加密解密课程设计报 告 Prepared on 22 November 2020

成都信息工程学院课程设计报告 DES算法加密与解密的设计与实现课程名称:密码算法程序设计 学生姓名: 学生学号: 专业班级: 任课教师: XX年 XX 月 XX 日

目录

1背景 DES算法概述 DES(Data Encryption Standard)是由美国IBM公司于20世纪70年代中期的一个密码算(LUCIFER)发展而来,在1977年1月15日,美国国家标准局正式公布实施,并得到了ISO的认可,在过去的20多年时间里,DES被广泛应用于美国联邦和各种商业信息的保密工作中,经受住了各种密码分析和攻击,有很好的安全性。然而,目前DES算法已经被更为安全的Rijndael算法取代,但是DES加密算法还没有被彻底的破解掉,仍是目前使用最为普遍的对称密码算法。所以对DES的研究还有很大价值,在国内DES算法在POS、ATM、磁卡及智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用,以此来实现关键的数据保密,如信用卡持卡人的PIN 码加密传输,IC卡与POS机之间的双向认证、金融交易数据包的MAC校验等,均用到DES算法。 DES算法是一种采用传统的代替和置换操作加密的分组密码,明文以64比特为分组,密钥长度为64比特,有效密钥长度是56比特,其中加密密钥有8比特是奇偶校验,DES的加密和解密用的是同一算法,它的安全性依赖于所用的密钥。它首先把需要加密的明文划分为每64比特的二进制的数据块,用56比特有效密钥对64比特二进制数据块进行加密,每次加密可对64比特的明文输入进行16轮的替换和移位后,输出完全不同的64比特密文数据。由于DES算法仅使用最大为64比特的标准算法和逻辑运算,运算速

c语言课程设计-文件加密解密(含源代码)

C 语 言 课 程 设 计 实 验 报 告 实验名称:文件加密解密 院系:软件学院 学号: 日期:2012年9月3日—9月17日

一:设计题目 1:设计图形用户界面。 2:对文件进行加密并对加密文件进行保存。 3:对加密了的文件进行解密。 二:设计过程 设计过程中遇到的困难和解决方法: 1:不能很好地理解题意(通过老师的讲解)。 2:不知道如何设计加密解密程序(通过翻阅书籍和上网查找资料) 过程: 首先通过学习老师提供的资料了解大致的设计过程并懂得运用一些以前没有学习过的c语言。先利用文本文件设计出加密解密的主要过程并能运行。知道如何运用fopen将原文件打开并用fread将原文件内容读出来,然后进行加密设计并将加密的数据用fwrite写进指定的文件中并保存。然后读出加密的文件并解密并保存。最后在写出的程序中加入图形用户界面,运用window,box,gotoxy等进行设计。 三:源代码 #include /* 标准输入、输出函数 */ #include /* 标准库函数 */ #include //*字符串处理函数 */ #include /* 字符操作函数 */ #include #include #define key_down 80 #define key_up 72

#define key_esc 1 #define key_enter 28 #define SIZE 1 void box(int startx,int starty,int high,int width); int get_key(); char buf[20*20*4]; /*///////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////加密解密 */ void fun(char *list,char *sd) /*加密过程*/ { FILE *fp1,*fp2; char buf[1000]; /*文件临时存放处*/ register int ch; fp1=fopen("e:\list.txt","r"); /*用可读方式打开文件*/ fp2=fopen("e:\sd.txt","w"); /*用可写方式创建一个文件*/ if(fp1==NULL) { printf("cannot open file\n"); exit(1); } if(fp2==NULL) { printf("cannot build file\n"); exit(1); } ch=fgetc(fp1); /*读出打开文件的光标处的一个字符*/ while(!feof(fp1)) /*读出的字符不是最后的字符*/ { ch=ch<<1; /*加密方法*/ fputc(ch,fp2); /*加密的字符存放在指定的地方*/ ch=fgetc(fp1); } rewind(fp2); /*将光标移动到第一个字符前面*/ fread(buf,sizeof(buf),1,fp2); /*从文件的当前位置开始中读取buf中存放的数据*/ printf("%s",buf); /*fclose(fp1); fclose(fp2); */ }

数据库档案管理系统课程设计报告

课程设计报告 课程设计题目:档案管理系统 学生姓名:阳渊 专业:软件工程 班级:081103 学号:08110327 指导教师:谢小林王红玲 2009年12月13日

目录 一、课程设计题目、时间、地点 (3) 二、系统分析 (3) 三、课程设计目的 (4) 四、课程设计要求 (4) 五、实现思路 (5) 六、实验过程 (13) 七、课程设计总结 (15) 八、心得体会 (18)

(一)课程设计题目、时间、地点: 档案管理系统 2009-12-13 软件楼506 (二)系统分析: 四十年代电子计算机问世以来,计算机科学发展迅速,应用领域不断扩展由于计算机的普及与广泛应用,现代社会正朝着高度信息化,自动化方向发展。随着计算机硬件的不断成熟,成本不断降低,特别是个人台式计算机,已经是各行各业必不可少有办公设备,而且近几年个人台式计算机,笔记本电脑逐步走后门向我国普通家庭,成为“家用电器”中的一员。计算机的普及与广泛应用,除硬件方面的因素外,还有微机所使用的各种软件的开发,推广和应用起了很大的促进作用;特别是近几年来随着计算机网络的不断升温,由其是“因特网”的发展和广泛运用,网民人数在飞速增长,除了获取信息外,网络的一个非常重要的功能是拉近了人与人之间的距离。 档案是科学知识的宝库、是文化的积累和沉淀,是统计分析的第一手资料,是研究决策的权威.随着计算机技术在档案管理领域中的广泛应用,档案系统的通用性,灵活性、可扩展性.成为最关注的问题。本文提出了动态档案结构的概念,系统没有固定的档案数据库文件、数据库结构和数据库类型,在运行过程中根据使用单位的需求动态生成档案结构,实现了在一个数据库字段内存取任何类型电子文件,并自动从数据库提取、识别和运行电子文件的方法,实现了档案管理系统软件的通用性,具有良好的应用推广应用价值。关键词档案管理;通用性;动态管理;电子档案建立基于计算机网络的档案管理信息系统,形成一个现代化的集档案数据采集,加工、存储、检索、输出和发布于一体的档案数据处理中心,是实现各单位档案信息管理标准化和现代化的前提条件,是提高档案管理效率、提高档案服务水平的根本途径。“通用档案信息管理系统”软件的研发促 进了档案管理部门以新的观念、新的制度、新的模式与手段开展档案信息管理工作。软件实现了档案信息管理电子化、网络化,增强档案管理的科学性,规范性和易操作性,改变了传统繁琐的档案管理模式。该软件的通用性设计避免了各类型档案系统的重复投入开发,具有良好的应用推广价值。 “档案管理系统”主要研究通用的档案管理信息化解决方案,研究各单位各行业档案系统的普遍特征,研发适合各类型层次单位的档案信息管理系统软件。通过通用性的研究,将该系统的可应用拓展到其他单位或者行业的档案信息系统建设,以期提高档案工作信息化水平.

java文件加密课程设计

结业报告 课程名称:网络安全技术 设计题目:java实现文件加密 系别:***学院 专业:*************** 组员:**************************起止日期***************** 指导教师:***

摘要 目前世界范围内的信息安全问题越来越严重。解决信息安全问题涉及面很广,它包括技术,管理.制度,人员和法律等诸多方面,但最核心部分是密码技术。密码技术是实现一种变换,它使得对大量信息的保护变为对少量密钥的保护。 本次结业设计以文件的加密与解密问题为主要研究讨论方向。先对加密技术进行查找资料。然后对加密方法进行概述,而后对3DES加密进行详细介绍何分析,并对结业设计成果进行演示,最后附上代码。由于本次结业设计时间仓促外加能力有限,有诸多不足之处以及可能存在某些为发现错误还请批评指正。感谢之至。 关键词:加密解密密钥 3DES Abstract At present, the problem of information security is more and more serious in the world. To solve the problem of information security involves a wide range, including technology, management, system, personnel and law, etc., but the most important part is the password technology. Password technology is to achieve a transformation, which makes the protection of a large number of information into a small number of key protection. The graduation project to document encryption and decryption issues as the main research and discussion. First, the encryption technology to find information. Then the encryption method is outlined, and then the 3DES encryption for detailed analysis, and the completion of the design results are demonstrated, and finally attached to the code. Due to the limited capacity of the completion of this graduation project, there are many deficiencies and there may be some to find errors also please criticism. Thanks to.

加密解密设计报告

郑州轻工业学院本科 实验报告 设计题目:使用加密保护信息 学生姓名:*** 系别:计算机与通信工程学院 专业:计算机通信工程学院班级:网络运维13-01 学号:5413071101** 指导教师:吉星、程立辉 2016 年4月18日

1目的 数据加密技术是网络中最基本的安全技术,主要是通过对网络中传输的信息进行数据加密来保障其安全性,这是一种主动安全防御策略,用很小的代价即可为信息提供相当大的安全保护。 2题目 使用C#编程语言,进行数据的加密与解密。 系统基本功能描述如下: 1、实现DES算法加密与解密功能。 2、实现TripleDES算法加密与解密功能。 3、实现MD5算法加密功能。 4、实现RC2算法加密与解密功能。 5、实现TripleDES算法加密与解密功能。 6、实现RSA算法加密与解密功能。

3加密知识 加密的基本概念 "加密",是一种限制对网络上传输数据的访问权的技术。原始数据(也称为明文,plaintext)被加密设备(硬件或软件)和密钥加密而产生的经过编码的数据称为密文(ciphertext)。将密文还原为原始明文的过程称为解密,它是加密的反向处理,但解密者必须利用相同类型的加密设备和密钥对密文进行解密。 加密的基本功能包括: 1. 防止不速之客查看机密的数据文件; 2. 防止机密数据被泄露或篡改; 3. 防止特权用户(如系统管理员)查看私人数据文件; 4. 使入侵者不能轻易地查找一个系统的文件。 数据加密是确保计算机网络安全的一种重要机制,虽然由于成本、技术和管理上的复杂性等原因,目前尚未在网络中普及,但数据加密的确是实现分布式系统和网络环境下数据安全的重要手段之一。 数据加密可在网络OSI七层协议(OSI是Open System Interconnect 的缩写,意为开放式系统互联。国际标准组织(国际标准化组织)制定了OSI模型。这个模型把网络通信的工作分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。)的多层上

文件系统课程设计报告

操作系统课程设计报告 题目:文件系统 专业:软件工程 院系:信息管理学院 年级:大三软件Q1141 学号: 11150132 姓名:王毅 指导教师:李红艳 职称:副教授 湖北经济学院教务处制

目录 操作系统课程设计报告 一实验内容 (2) 二设计的基本概念和原理 (2) 三总体设计 (2) 2-1 文件的组织结 构............................................................. (2) 2-2 磁盘空间的管 理............................................................. (2) 2-3 目录结 构 (3) 2-4文件操 作 (4) 四详细设计 (4) 4-1 建立文件(create_file)流程 图 (4) 4-2 打开文件(open_file)流程 图 (6) 4-3读文件(read_file)流程 图 (7) 4-4 写文件(write_file)流程

图 (8) 4-5 关闭文件(close_file)流程 图 (9) 4-6 删除文件(delete_file)流程 图 (10) 4-7 显示文件内容(typefile)流程 图 (11) 4-8 建立目录(md)流程 图 (12) 4-9显示目录内容流程 图 (13) 五详细代码 (14) 六运行结果截图 (40) 七总结 (44) 八参考文献 (45) 一、实验内容 要求设计一个简单的文件系统,用文件模拟磁盘,实现以下功能: (1)支持多级目录结构; (2)实现的命令包括建立目录、列目录、删除空目录、建立文件、删除文件、显示文件内容、打开文件、读文件、写文件、关闭文件、改变文件属性。

DES加密解密课程设计报告

D E S加密解密课程设计 报告 标准化工作室编码[XX968T-XX89628-XJ668-XT689N]

成都信息工程学院课程设计报告 DES算法加密与解密的设计与实现课程名称:密码算法程序设计 学生姓名: 学生学号: 专业班级: 任课教师: XX年 XX 月 XX 日

1背景 1.1 DES算法概述 DES(Data Encryption Standard)是由美国IBM公司于20世纪70年代中期的一个密码算(LUCIFER)发展而来,在1977年1月15日,美国国家标准局正式公布实施,并得到了ISO的认可,在过去的20多年时间里,DES被广泛应用于美国联邦和各种商业信息的保密工作中,经受住了各种密码分析和攻击,有很好的安全性。然而,目前DES算法已经被更为安全的Rijndael算法取代,但是DES加密算法还没有被彻底的破解掉,仍是目前使用最为普遍的对称密码算法。所以对DES的研究还有很大价值,在国内DES算法在POS、ATM、磁卡及智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用,以此来实现关键的数据保密,如信用卡持卡人的PIN码加密传输,IC卡与POS机之间的双向认证、金融交易数据包的MAC校验等,均用到DES算法。 DES算法是一种采用传统的代替和置换操作加密的分组密码,明文以64比特为分组,密钥长度为64比特,有效密钥长度是56比特,其中加密密钥有8比特是奇偶校验,DES的加密和解密用的是同一算法,它的安全性依赖于所用的密钥。它首先把需要加密的明文划分为每64比特的二进制的数据块,用56比特有效密钥对64比特二进制数据块进行加密,每次加密可对64比特的明文输入进行16轮的替换和移位后,输出完全不同的64比特密文数据。由于DES算法仅使用最大为64比特的标准算法和逻辑运算,运算速度快,密钥容易产生,适合于在大多数计算机上用软件快速实现,同样也适合于在专用芯片上实现。 1.2 DES算法描述 DES算法的加密过程首先对明文分组进行操作,需要加密的明文分组固定为64比特的块。图1-1是DES加密算法的加密流程。图1-2是密钥扩展处理过程。 图1-1DES加密算法流程 图1-2子密钥产生流程 2系统设计 2.1系统主要目标 (1)用C++设计一个DES加密/解密软件系统; (2)完成一个明文分组的加解密,明文和密钥是ASCII码,长度都为8个字符,输入明文和密钥,输出密文,进行加密后,能够进行正确的解密; (3)程序运行时,要求输出第15、16轮的密钥,以及第15、16轮加密或解密之后的值,16进制表示; (4)程序有良好的人机交互操作; (5)要求从两个文件分别读取明文和密钥,并在程序中输出明文及密钥; (6)要求提供所设计系统的报告及完整的软件。 2.2系统运行环境

相关主题