当前位置:文档之家› 网络与信息安全课程设计报告

网络与信息安全课程设计报告

网络与信息安全课程设计报告
网络与信息安全课程设计报告

《网络与信息安全》课程设计报告

2010-1-07

RSA算法加密软件的设计

摘要:分析RSA算法的应用现状,论证文件加密应用RSA算法的可行性和意义。设计一套完整实用的RSA文件加密解决方案,具体编码实现。对RSA算法进行研究,从常规RSA算法出发,用C#实现RSA加密算法类库,并在32位windows平台封装成组件。在.Net平台引用此组件,实现可以对任意文件进行RSA加密操作的窗体应用程序。经过加密的文件以及密钥文件都是文本文件。给出关键类类图、整个应用程序的结构描述文档、关键模块流程图、较详细的接口文档、所有源代码。对应用程序进行测试,对测试结果进行分析研究,进而对应用程序进行改进,对关键算法进行尽可能的优化,最终得到一个在windows运行的可以用指定密钥对任意文件进行RSA加密并可解密的完整应用程序,和一些相关的可移植组件。

关键词:RSA , RSA算法, 文件加密, 加密成文本

目录

第1章 RSA应用现状及应用于文件加密的分析 (4)

1.1 RSA算法介绍与应用现状 (4)

1.2 RSA应用于文件加密的分析 (5)

1.2.1 文件加密使用RSA的可行性 (5)

1.2.2 文件加密使用RSA的意义 (6)

第2章 RSA文件加密软件的设计与实现 (7)

2.1 需求分析与总体设计 (7)

2.1.1 功能分析 (7)

2.1.2 工程方案选择 (8)

2.2 各部分的设计与开发 (10)

2.2.1 实现RSA加密算法的C#核心类库 (10)

3.2 测试数据与分析改进 (14)

3.2.1 密钥生成测试 (14)

3.2.2 数据输入输出测试 (16)

3.2.3 加密解密测试 (16)

总结与体会 (17)

致谢 (17)

参考文献 (17)

前言

RSA公钥加密算法是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也十分流行。算法的名字以发明者的姓氏首字母命名:Ron Rivest, Adi Shamir 和Leonard Adleman。虽然自1978年提出以来,RSA的安全性一直未能得到理论上的证明,但它经历了各种攻击,至今(2007年)未被完全攻破。随着越来越多的商业应用和标准化工作,RSA已经成为最具代表性的公钥加密技术。VISA、MasterCard、IBM、Microsoft等公司协力制定的安全电子交易标准(Secure Electronic Transactions,SET)就采用了标准RSA 算法,这使得RSA在我们的生活中几乎无处不在。网上交易加密连接、网上银行身份验证、各种信用卡使用的数字证书、智能移动电话和存储卡的验证功能芯片等,大多数使用RSA 技术。

当今公钥加密更广泛应用于互联网身份认证,本课题将公钥加密算法RSA应用于小型文件加密。将任意文件加密成文本的解决方案,使其使用更加灵活。整个工程的分层设计,给引用移植和后续开发带来便利。

第1章 RSA应用现状及应用于文件加密的分析

1.1 RSA算法介绍与应用现状

RSA算法可以简单叙述如下:

<密钥生成>

取素数p,q,令n=p×q.

取与(p-1)×(q-1)互素的整数e,

由方程d×e=1 (mod (p-1)×(q-1))解出d,

二元组(e,n)作为公开密钥,

二元组(d,n)作为私有密钥.

<加密解密>

b=a e mod n,c=b d mod n.

附录中给出了证明a=c (mod n).

RSA公开密钥加密算法自20世纪70年代提出以来,已经得到了广泛认可和应用。发展至今,电子安全领域的各方面已经形成了较为完备的国际规范。RSA作为最重要的公开密钥算法,在各领域的应用数不胜数。RSA在硬件方面,以技术成熟的IC应用于各种消费类电子产品。

RSA在软件方面的应用,主要集中在Internet上。加密连接、数字签名和数字证书的核心算法广泛使用RSA。日常应用中,有比较著名的工具包Open SSL(SSL,Security Socket Layer,是一个安全传输协议,在Internet上进行数据保护和身份确认。Open SSL是一个开放源代码的实现了SSL及相关加密技术的软件包,由加拿大的Eric Yang等发起编写的。相关详细介绍见https://www.doczj.com/doc/6210968733.html,/about/ )。Open SSL应用RSA实现签名和密钥交换,已经在各种操作系统得到非常广泛的应用。另外,家喻户晓的IE浏览器,自然也实现了SSL 协议,集成了使用RSA技术的加密功能,结合MD5和SHA1,主要用于数字证书和数字签名,对于习惯于使用网上购物和网上银行的用户来说,几乎天天都在使用RSA技术。

RSA更出现在要求高度安全稳定的企业级商务应用中。在当今的企业级商务应用中,不得不提及使用最广泛的平台j2ee。事实上,在j2se的标准库中,就为安全和加密服务提供

了两组API:JCA和JCE。 JCA (Java Cryptography Architecture)提供基本的加密框架,如证书、数字签名、报文摘要和密钥对产生器; JCA由几个实现了基本的加密技术功能的类和接口组成,其中最主要的是java.security包,此软件包包含的是一组核心的类和接口,Java中数字签名的方法就集中在此软件包中。JCE(Java Cryptography Extension) 在JCA 的基础上作了扩展,JCE也是由几个软件包组成,其中最主要的是javax.crypto包,此软件包提供了JCE加密技术操作API。javax.crypto中的Cipher类用于具体的加密和解密。在上述软件包的实现中,集成了应用RSA算法的各种数据加密规范(RSA算法应用规范介绍参见: https://www.doczj.com/doc/6210968733.html,/rsalabs/node.asp?id=2146 ,这些API内部支持的算法不仅仅只有RSA,但是RSA是数字签名和证书中最常用的),用户程序可以直接使用java 标准库中提供的API进行数字签名和证书的各种操作。

单机应用程序使用RSA加密尚比较少见,例如使用RSA加密任意一个文件。

1.2 RSA应用于文件加密的分析

1.2.1 文件加密使用RSA的可行性

通过1.1节的论述,不难看出RSA当今的应用多在于数字签名和证书等方面。之所以只应用于这些短小数据的加密解密,是因为RSA算法加密极慢,速度是DES对称密钥加密速度的千分之一左右。正是因为这样,把RSA应用于普通文件加密的想法一直被忽略。通常文件被想象成大数据块,但是实际上在日常应用中,有些极其重要的文本资料是并不太大的,比如因担心遗忘而用普通文本记录的银行帐号和密码、不应被陌生人知道的重要电话号码、几千字节大的重要小图片等。

其实从一个简单的角度来说,既然RSA用于数字签名可行,那就完全可以用于同样大小的普通文件。对于较大的文件,如果分成与数字签名同样大小的段(这里假设数字签名较短,不分段一次计算加密完成),分开的各段逐一进行加密运算,那所需要的时间也只是按文件大小线性的增长。通常数字签名为几十字节,加密运算并不需要很长的等待,这就说明对于几百字节或一两K字节大小的文件来说,如果进行RSA加密,并不会是非常漫长的工作。当然,如果文件更大,加密就显得十分漫长了。比如按前面叙述的45毫秒大数运算程序推理,加密1M字节大小的文件需要约1天的时间。所以,要在普通PC用几百位以上的长密钥RSA加密文件,文件不能过大,一般可以接受的上限是几KB。如果要在较短时间内加密大文件,需要缩短密钥长度以减小运算量,这将带来安全性隐患。

本文的第3章将根据实际调试好的软件,测试给出具体的时间消耗数据。例如,在一台配置为AMD Athron2800+,外频333MHZ,物理内存512MB的PC上测试实现的软件,以560bit 的n逐字节加密一个1KB大小的文件需要55秒。通常记录如银行帐号密码等重要数据的文本文件大小不足百字节,加密只需要数秒钟。所以对于小型文件,进行较长密钥的RSA加密是完全可行的。

1.2.2 文件加密使用RSA的意义

如1.2.1节所述,小型文件加密可以使用RSA。比如,因担心遗忘而用普通文本记录的银行帐号和密码、不应被陌生人知道的重要电话号码、几千字节大的重要小图片等。可行的方法未必是必要的,本小节讨论何种文件适合用非对称密钥加密,即RSA加密文件的意义所在。

对于前面叙述的带有重要信息的小型文本和二进制数据的维护,①如果不加密,将无法放心的保存在计算机上,尤其是连网的或机房里的公共计算机。②如果借助功能强大的大型多用户数据保护程序维护几个小型文件,显得十分烦琐,好比杀鸡用牛刀。③如果采用对称密钥加密,即加密解密的密钥相同,只适合部分情况。在某些情况下,使用对称密钥加密文件,交流使用不够方便。比如,张三由于某种原因,需要将自己的某个文件在公共计算机上留给李四,而不希望别人看到内容。如果采用对称密钥加密,张三和李四提前约好一个密码就可以。但是如果张三想要在同一台公共计算机上再留一个秘密文件给王五,而不希望别人看到,就要和王五另外约定一个密码。如果需要在这台公共计算机上留十个文件给不同的人,自己就要记和十个人约定好的密码,这样以来交流起来不够方便,因为对于张三,要自己维护太多的密钥。非对称密钥(公开密钥方式)恰好解决这样的问题。只要大家都在这台计算机或这台计算机可以访问到的地方,留下自己的公开密钥,一切就变的容易解决了。张三要留给李四的文件,就用李四的公开密钥加密,要留给王五的文件,就用王五的公开密钥加密。李四和王五只要把留给自己的文件用自己的私有密钥解密,就可以得到留给自己的文件了。显然,非对称密钥体制更适合多用户交流,而将这种加密方式直接应用于文件加密,使我们在公开场合的交流更加灵活方便。

一种更实际的情况是,我们想通过Internet上的公众论坛或邮件发送重要保密信息给某人。例如发送一个银行帐号和密码给某人。这种情况要保证安全,在当今互联网络上是比较棘手的。①如果用公众论坛直接留言给指定用户,论坛管理员和服务器管理员通常有方法

看到数据。②如果发送邮件,虽然传送过程是加密的,但是密码毕竟是由邮件服务器维护,所以系统管理员通常也有办法看到内容。问题的关键在于我们所有的数据包括密钥保存在服务器之上。在这种情况下,我们需要使用公开密钥方式,并自己维护私有密钥。RSA文件加密可以灵活的解决这些问题。例如,我们可以将任意一个文件用某人的公开密钥加密变换成一段可以复制粘贴的文本,然后粘贴在公众互联网上,对方只需把需要解密的文本复制保存成一个文本文件,在本地机用自己的私有密钥解密即可。我们可以将自己的私有密钥通过DES加密后保存在自己的移动磁盘上,使用的时候只要将其解密读取即可,用完后立即从当前操作环境清除。这样,我们自己维护自己的私有密钥,利用简单并且公开的方式,可以安全传送任意小型数据,包括一切二进制文件。

所以,对于使用小型文件进行数据交换的情况,更好的方案是通过一个小型应用程序对这些文件进行非对称密钥加密。为了适合前面叙述的在公共BBS与特定的某人交流重要保密信息的情况,加密生成的数据应该是文本,这样可以方便复制粘贴。

综上所述,使用前面叙述的方式加密文件有两点重要意义:①应用非对称密钥加密任意文件,使非对称密钥的应用不仅仅局限于互联网络。②非对称加密后的数据变换成文本,使得我们可以通过几乎任何方式安全传递任意文件,比如在只有http的环境使用xml方式。

第2章 RSA文件加密软件的设计与实现

2.1 需求分析与总体设计

2.1.1 功能分析

经过1.2.2节的论述,我们可以将对软件的要求总结如下:

①可以按要求的位数生成非对称密钥。

②可以保存密钥和装载密钥,密钥保存为纯文本。

③可以用指定密钥以RSA算法加密任意一个文件,加密生成的数据为纯文本。

④可以装载加密过的文件,并用指定的密钥解密还原出原文件。

⑤提示信息完整、操作舒适、图形界面雅观

按上述描述,给出Use Case和Statechart如图2-1。

图2-1 本项目的 Use Case和Statechart

根据以上分析,一般来说,需要进行编码的程序有

①RSA密钥生成②RSA加密解密③任意文件的读取和保存操作④各环节必要的数据编码转换⑤图形操作界面。

2.1.2 工程方案选择

结合现有的常见开发模式综合分析,有多种实现方案,下面陈述其中几种,并分析选择一种解决方案,并给出工程框架。

( 1.) 整个工程使用java平台实现

RSA密钥生成、RSA加密解密的功能实现十分简单,因为标准库中集成几乎所有功能,不需要从RSA算法出发进行编码。在j2se标准库中,javax.crypto中的Cipher类用于具体的加密和解密,java.security包直接提供了数字签名的相关方法。因为有强大的标准库支持,文件的读取和保存操作、各环节必要的数据编码转换、图形操作界面的实现也很简单(使用java.io java.awt或javax.swing 等包),如果结合一种快速开发的IDE,比如JBuilder,整个软件可以在很短的时间内编码完成。如果不考虑非PC设备和机器效率等问

题,java平台几乎是最佳解决方案。但是缺点也很明显,如果想把核心算法和功能应用到

非PC设备(例如嵌入式手持设备),则要求设备上有支持前面提及的加密类库的CVM;对于在PC上运行,JVM的数据运算速度要远远落后于本地化代码在PC上的运算速度,本软件需要进行大量运算,这一点不适合由java完成。

( 2.) 整个工程使用.Net平台实现

与使用java平台完全类似,加密等有.Net基础类库的支持,不需要大量编码实现,另外由于Visual Studio的强大便利,这种规模的工程可以十分迅速的完成。缺点是只能在有微软.Net Framework的环境运行,在Windows操作系统,.Net Framework的机器效率好于java平台,但是相比于本地化的代码,还是十分拖沓的。

( 3.)整个工程使用Windows本地化程序实现

在不应用Windows或第三方现成组件的情况下,需从RSA算法出发编码实现。其他各功能的设计开发,如文件操作、数据编码转换和图形界面等,可以使用ATL、MFC或Windows API实现。这种工程几乎是为Windows量身订做,执行效率最好。但是对于非PC设备,只能方便的移植到运行Windows嵌入式操作系统的设备,向其他操作系统移植困难,需要重新编写大量代码。通常解决本地化代码的移植问题,都是使用C++标准库,即功能尽量多的由C++标准库完成,这样在移植的时候,只需要重新编写操作系统相关的代码即可。这种开发方式比起前两种,缺点就是设计开发模式陈旧,代码烦琐,不方便维护;流行的.Net上的语言引用各种功能比较麻烦。

( 4.) 考虑可能的复用,针对具体情况分层开发实现

综合考虑复用性、可维护性和执行效率,较妥当的方法是分层设计。核心的RSA算法由C++类库实现,针对用户所在的操作系统封装成本地化组件。其他各功能如文件操作、数据编码转换和图形界面等,由托管代码借助虚拟机平台标准库的功能快速开发实现(本文针对选用.Net上的C#论述,选用java由JNI或其他方式调用本地组件,设计模式上是完全类似的)。这种开发方式,核心功能集中在最底层,在不断的封装中针对具体环境对组件功能不断扩充,任意一个层面的封装都可以被直接应用到其他项目,比如在Web使用以前为某窗体程序写的组件、给嵌入式设备交叉编译算法库等。但是每一层都需要依赖底层的所有组件。图2-2形象的说明了分层设计给复用带来的好处。

选用第四种设计方案,上层使用C#,底层算法使用C++,可以由一个Visual Studio 解决方案管理,给调试带来极大的方便。整个工程分四层,实现RSA加密算法的C++核心类库、封装C++核心类库的DLL组件、引用DLL的.Net类、实现文件操作功能的.Net窗体应用程序。2.2节详细介绍各部分的设计与开发。

考虑到工作量,本软件加解密数据没有严格遵从RSA标准PKCS #1,而是在满足设计要求的前提下,以一种尽可能简单的方式实现加密和解密。

2.2 各部分的设计与开发

2.2.1 实现RSA加密算法的C#核心类库

( 1.) 大数存储和四则运算

根据RSA算法的要求,为了实现大数的各种复杂运算,需要首先实现大数存储和基本四则运算的功能。当今开源的大数运算C++类有很多,多用于数学分析、天文计算等,本文选用了一个流行的大数类型,并针对RSA算法和本项目的具体需要对其进行了扩充和改进。下面简单介绍大数存储和四则运算的实现原理。

最先完成的功能是大数的存储,存储功能由flex_unit类提供。和普通的类型一样,每一个大数对应一个flex_unit的实例。类flex_unit中,用一个无符号整数指针unsigned * a指向一块内存空间的首地址,这块内存空间用来存储一个大数,所以可以说,大数是被存储在一个以unsigned为单元的线性组中。在方法void reserve( unsigned x )中通过C++的new来给a开辟空间,当flex_unit的实例中被存入比当前存储的数更大的数时,就会调用reserve来增加存储空间,但是当flex_unit的实例中被存入比当前存储的数更小的数时,存储空间并不会自动紧缩,这是为了在运算的时候提高执行效率。结合指针a,有两个重要的无符号整数来控制存储,unsigned z和unsigned n,z是被分配空间的单元数,随数字变大不断增大,不会自己紧缩,而n是当前存储的大数所占的单元数,组成一个大数的各unsigned单元的存入和读出由set、get方法完成,变量n是只读的。类型unsigned在32位机是32位的,所以对于flex_unit这个大数类来说,每个大数最大可以达到个字节长,这已经超过了32位机通常的最大内存容量,所以是足够进行RSA所需要的各种运算的。图2-3形象的说明了大数存储类flex_unit对大数的管理。

( 2.) 寻找素数?Eratosthenes筛选与Fermat素数测试

首先要说明的是,事实上,当今的计算机还不足以聪明到立刻计算生成一个很大的随机素数。一般来说,要得到100%准确的大素数,都是通过查已经计算好的素数表的方式。但是素数表的方式给RSA的安全性带来隐患,因为攻击者如果得到了密钥生成时所使用的素数表,攻破RSA加密的难度将会大大降低。本程序起初使用素数表的方式,后来考虑到安全性问题,生成密钥的方式改为随机计算生成。这样,短时间内如果要得到一个100%准确的大素数是很困难的,只能以尽可能高的概率得到一个大素数。

经过2.2.1.1和2.2.1.2小节,所有的大数运算功能都准备完毕,在此基础上,本工程将寻找素数的功能置于类Prime_factory_san之中。外部只要调用本类实例的成员vlong find_prime( vlong & start )就可以以大数start为起点,得到一个数,这个数是素数的概率很大。下面介绍寻找素数的原理。

首先在需要寻找素数的整数范围内对整数进行筛选,把所有确知为合数的整数排除出去。程序中构造了一个数组b[],大小为一轮素数搜索的范围,记搜索范围大小为SS。b[0]到b[SS]分别对应大数start到start+SS。b[]中所有元素先初始化为1,如果对应的大数确定为合数,就将b[]中对应的元素置为0。最后,只需对那些b[]中为1的元素对应的大数进行比较确切的素数测试即可,只要被测试的数是素数概率达到一定门限,就判这个数为素数。这样做既保证了这段程序可以在短时间内执行完,又保证了可以以比较高的准确度得到素数。

函数find_prime先把b[]的所有元素赋值为1,然后按参数start给标记数组b[]的各元素赋0值。下面描述标记数组b[]的赋0值算法。首先,在类Prime_factory_san被构造的时候,构造函数中从2开始搜寻一些小素数,记录在数组pl[]中,共记录NP个。这些小素数用来当作因子,他们的倍数将被从大素数搜索范围内剔除(即把数组b[]的对应元素标记为0),剔除的程序代码如下。

for (i=0;i

{

unsigned p = pl[i];

unsigned r = start % vlong(p);

if (r) r = p - r;

while ( r < SS )

{

b[r] = 0;

r += p;

}

}

这里利用start对各小素数因子p求模的办法,得到当前p在素数搜索范围内的最小倍数在b[]中的对应位置,将其剔除后,不断后移p个位置,将这个小素数因子p在搜索范围内的所有倍数全部剔除,如图2-5所示。在完成对所有小素数因子的类似操作后,他们的倍数在搜索范围内的位置标记b[r]被全部标记为0。实际上这就是Eratosthenes筛选法。

b[x] b[x+p] b[x+2p] b[x+3p] b[x+4p] b[x+5p]

图2-5 在素数搜索范围内剔除小素数因子p的倍数

接下来,对可能为素数的数(即标记数组b[]中值为1的元素对应的数)进行素数测试。数论学家利用费马小定理研究出了多种素数测试方法,本程序使用一种最简单的方式,直接应用费马小定理。取一个与p互素的整数A,对于大素数p来说应该满足A p-1mod p=1,但是我们把p代入一个大整数,满足这个关系的数不一定是素数。这时我们改变A,进行多次测试,如果多次测试都通过,这个数是素数的概率就比较大。按这种原理,我们编写素数测试函数如下。

int is_probable_prime_san( const vlong &p )

{

const rep = 4; //测试次数

const unsigned any[rep] = { 2,3,5,7 }; //测试用的底数

for ( unsigned i=0; i

if ( modexp( any[i], p-vlong(1), p ) != vlong(1) ) return 0;

//modexp是幂模函数,按上一小节叙述的算法编码。

//这里modexp计算any[i]p-1mod p。

return 1;

}

测试通过,程序就判定这个数为找到的素数,将找到的素数返回给上层程序使用。在这里其实有一个不可忽视的问题,就是得到一个测试通过的合数。对于这种情况,RSA算法加密解密是否还可以实现,是一个需要从数学角度论证的问题。因为得到素数的概率很高,经过一整天的生成密钥和加密操作,没有发现失败的密钥,所以本文暂没有对这个问题进行讨论。

综上所述,总结素数寻找的流程,如图2-6所示。

图2-6 函数find_prime寻找素数的流程框图

得到了大素数,即RSA算法中的p、q,我们就可以计算出密钥,进行加密等操作了。

3.2 测试数据与分析改进

3.2.1 密钥生成测试

生成密钥运算最费时的工作是寻找素数。如2.2.1.3小节所叙述,寻找素数是一项颇为复杂的工作,其速度可能受以下变量的影响:RSA加密需要的n的位数(寻找素数的整数起点大小start)、大素数测试时底数A的个数(针对一个整数的素数测试次数)、小素数因子p的个数NP、一轮寻找遍历的整数个数SS等。其中最具影响力的因素显然是RSA加密需要的n的位数。以下对各变量分别进行测试,暂且忽略操作系统调度对测试的影响。

( 1.) 测试加密使用的n位数对耗时的影响

即在固定A、NP、SS等变量的情况下,改变加密位数n,测试密钥生成的时间消耗情况。测试时,A取4个值,分别为2、3、5、7,NP取200,SS取1000。测试PC配置为CPU CR1.7GHZ/外频100MHZ/物理内存512MDDR/MSI6398主板845 Ultra-AD芯片组,下文测试中,未说明PC配置的也都在同一PC完成,不再重复。

在较常用的1024位RSA加密时,用本软件的算法,测试时最长出现了17秒多的计算,虽然这对于用户来说时漫长的等待,但是考虑到安全性,还是舍弃了素数表和密钥库的方案,而使用大素数随机生成,用户可以把生成的私钥单独加密保存在可靠的存储空间内,以获得更高的安全性。

表3-1仅能从实验的角度直观理解,具体到一次密钥生成的运算,所需要的时间是很不确定的,比如,一次1280位的密钥生成,需要的时间完全可能比一次896位的密钥生成时间短,由于素数分布规律非常奥妙,加上测试运算需要的时间颇长,这里很难给出对于一个具体位数的密钥生成所需时间的统计模型。

另外需要说明的是,表3-1的加密位数在实际软件设置时并不严格。这是因为,实际作为参数设置的是两个大素数的搜索起点。如果随机生成的起点整数大小比较接近更长一位的整数的话(例如FFFF很接近10000),向后寻找所得到的素数很可能长出一位。而且,两个k位长的整数相乘的结果也未必是2k位,比如100*100=10000,相乘结果是2k-1位。所以,在表3-1实际测试填写时,加密位数可能会有几位的差距,但是这不碍大局。

( 2.)测试底数A对耗时的影响

为了保证生成素数的成功率,A至少要有4个。如果少于4个,则素数测试失败的可能

性比较大,经过测试发现不可以忽略。2.2.1.3小节曾经提到,如果素数测试通过了合数,就可能产生错误的密钥,使加密解密操作失败。所以测试A的时候,最少有让其取4个值。而取6个值以上,测试算法失败的概率已经非常小,没有什么实用意义,所以这里测试A 从4个到6个的情况。固定其他变量:n取512位和1024位(即素数搜索起点位数设置为32和64),NP取200,SS取1000。从理论上说,对于同样的起点,素数测试次数越多,需要的时间就越长。

可以看出,对于512bit密钥,A取从4个到6个,对随机密钥的产生时间影响不大。但是对于较长的1024bit密钥,A取4个和A取6个值,密钥生成时间产生明显差距,A取6个值时生成随机密钥需要的平均时间比A取4个值时长数秒之多。为了同时保证密钥生成速度和素数的准确程度,我们在实际使用时取A为5个值,即2、3、5、7、11。

( 3.) 测试小素数因子个数NP对耗时的影响

固定其他变量:A取5个分别为2、3、5、7、11,n取512位和1024位(即素数搜索起点位数设置为32和64),SS取1000。由于测试时间漫长,测试的数据量比较有限。这里并没有看出什么明显的规律。

而且通过本次测试还可以发现,表3-3中NP为200,n为1024bit测试的一行,变量设置和表3-2中A设置为2、3、5、7、11,n为1024bit的一行完全一致(对应还有一行n 为512bit的数据变量设置一致),但是耗时平均差距相差4秒之多(512bit的一行差距不到1秒)。可见对于长密钥,同一种情况测试5个数据取均值并不能精确的说明问题,除非测试得到的数据有很明显的大幅差距,例如前面两段测试n的位数和A的个数的耗时影响情况。这里也正是因为前面提到的,对于大整数来说,可能出现在较长一段区间中没有素数的情况,使得同样设置的各次密钥生成耗时的可能范围很大,再加上大素数分布规律奥妙,观察5次测试结果的均值对于不很明显的规律显得意义不大。

实际使用中,设置NP值为200。

( 4.) 测试SS对耗时的影响

同样未发现明显规律,在使用中设置SS为1000。

3.2.2 数据输入输出测试

主要测试文件的输入输出性能。实际上就是测试.Net基础类库中实现文件操作的System.IO中的StreamReader、StreamWriter等类的读写性能。直接在Visual Studio调试一个简单的C#文件读写程序,得到本软件中使用的文件操作方法的执行性能。在配置为CPU CR1.7GHZ/外频100MHZ/物理内存512M DDR/MSI6398主板845 Ultra-AD芯片组/UTA133 2M缓存硬盘的PC上,读入一个100KB的文件仅需要35毫秒,写出一个100KB的文件需要29毫秒。这样的时间消耗,相对于繁复的RSA计算所消耗的时间来说,是完全可以忽略不计的。

3.2.3 加密解密测试

进行对任意文件加密与解密的测试,这里给出几组从不同角度进行测试的数据。下面除了第3组测试,其他都是把文件逐字节进行RSA运算,逐字节加密是本软件的默认设置。加密时使用的测试文件、各密钥文件以及加解密后生成的文件可以从以下地址下载:https://www.doczj.com/doc/6210968733.html,/www/download/RSAtestfiles.rar内附说明。

( 1.) 用同样的密钥对不同大小的文件公钥加密、私钥解密,各自消耗的时间与待加密文件大小的关系

随机生成两组密钥,一组n长512bit,一组n长1024bit。密钥具体数据见附录(n 的实际位数有微小差距)。

分别对一组不同大小的文件进行公钥加密。统计消耗时间情况如表3-4所示,统计数据以曲线表示如图3-1。

表3-4 待加密文件大小与加密时间的关系(时间单位:秒)

总结与体会

RSA应用于文件加密适合交流管理小型文件,将任意文件以非对称密钥加密成文本可以对其更方便的交流和管理,有广阔的开发前景。本项目应用的设计模式兼顾执行效率和可复用性。整个项目开放源代码和各种开发资料,便于引用和继续开发。应用本程序可以方便的在公众论坛等环境交流要求高度安全的各种数据,包括任意二进制和文本文件。

通过对RSA文件加密的课程设计,学习到了很多关于密码学的有关信息,为今后的工作有很大的帮助。也对如何设计一款好性能的软件有了进一步的认识和了解。在课程设计报告的过程中老师、同学们的热心指导给了我非常大的帮助。对此,我非常感谢他(她)们!致谢

在本次课程设计中,我的代课老师吴老师给了我们学生很大的帮助,她在课程实验时为我们认真辅导。吴老师认真负责的工作态度,严谨的治学精神,深厚的理论水平和丰富的实践经验真的使我们学生受益匪浅。在他的指导与帮助下,我的加密软件一步一步的完成,在此,我想借此机会对她表示深深的感谢!同时,我还要感谢我的同学和我的室友对我的帮助!参考文献

1.段云所魏仕民唐礼勇陈钟《信息安全概论》高等教育出版社

2.卢开澄《计算机密码学》清华大学出版社

3.Saloman 丁存生等译《公钥密码学》国防工业出版社

4.蔡乐才著《应用密码学》中国电力出版社

5.赵振江连过卿《密码编码学》电子工业出版社

https://www.doczj.com/doc/6210968733.html,

https://www.doczj.com/doc/6210968733.html,

网络与信息安全技术课程设计指导

潍坊科技学院 网络安全技术及应用课程设计指导书 2018年10月9日

一.课程设计目的 本实践环节是网络安全类专业重要的必修实践课程,主要要求学生掌握网络安全相关的原理和技术以及在网络安全实践中的应用。本课程设计的目的如下。 1)培养学生掌握文献检索、资料查询及运用现代网络技术获取网络安全相关知识和网络的基本方法; 2)使学生在真正理解和掌握网络安全的相关理论知识基础上,动手编写安全程序,通过系统和网络的安全性设计,加密算法、计算机病毒、恶意 代码的分析与设计等实践锻炼,解决一些实际网络安全应用问题,同时 了解本专业的前沿发展现状和趋势; 3)使学生具备设计和实施网络安全相关实验的能力以及相应的程序设计能力,具备对实验结果进行分析,进而进行安全设计、分析、配置和管理 的能力。 二.课程设计题目 (一)定题部分 任选下列一个项目进行,查阅相关文献、了解相关的系统,要求完成系统需求规约文档、系统分析模型文档、系统设计模型文档、系统测试设计文档、系统编码和测试报告。 以下题目任选,但是要达到工作量和代码量的要求,如果不能达到,可以融合几部分的内容。一些功能如果有其他的方法实现,也可以不按照指导书的要求。此外,还可以对常用的安全软件的功能延伸和改进。自由选题不能设计一些不良程序,比如游戏类,不过可以设计监控,限制玩游戏的程序。 1、局域网网络侦听和数据包截取工具 文档要求 系统分析,包括问题的描述、需求确定、系统要完成的主要功能、解决的实际问题等 系统设计,包括系统的逻辑模型、模块划分、处理过程等 系统实现,按照系统设计的结构分模块实现,要求给出程序的功能说明 程序实现要求

网络与信息安全工作总结

广东鸿联九五信息产业有限公司 网络与信息安全检查 情况报告 去年以来,我司大力实施信息化基础建设,严格落实信息系统安全机制,从源头做起,从基础抓起,不断提升信息安全理念,强化信息技术的安全管理与保障,加强对包括设备安全、网络安全、数据安全等信息化建设全方位的安全管理,以信息化促进公司管理的科学化与精细化。 一、提升安全理念,健全制度建设 我司结合信息化安全管理现状,在充分调研的基础上,制定了《机房进出登记表》、《系统故障处理表》、《厂商巡检报告》、《设备进出机房登记表》、《生产设备定期检查表》、《生产用户权限申请表》、《系统变更申请表》、《机房应急管理制度》、《机房巡检登记表》、《机房设备到期检查表》、《设备维修记录表》等以公文的形式下发执行,把安全教育发送到每一个岗位与人员。进一步强化信息化安全知识培训,广泛签订《保密协议》。进一步增强公司的安全防范意识,在全公司统建立保密及信息安全工作领导小组,由技术部经理毛伟为组长,网络工程师主管谢嘉为副组长,技术部罗江林()为网络安全管理员,负责公司的网络信息安全工作。 二、着力堵塞漏洞,狠抓信息安全

我司现有计算机85台,每个工作人员使用的计算机按涉密用、内网用、外网用三种情况分类登记与清理,清理工作分为自我清理与检查两个步骤。清理工作即每个干部职工都要对自己使用的计算机(含笔记本电脑)与移动存储介质,按涉密用、内网用、外网用进行分类,并进行相应的信息清理归类,分别存储。检查组办公室成员对各类计算机与移动存储介质进行抽查,确保所有计算机及存储设备都符合保密的要求。 定期巡查,建立安全保密长效机制。针对不同情况采用分类处理办法(如更新病毒库、重装操作系统、更换硬盘等),并制定相应制度来保证长期有效。严肃纪律,认真学习与严格按照《计算机安全及保密工作条例》养成良好的行为习惯,掌握安全操作技能,强化安全人人有责、违规必究的责任意识与机制。 三、规范流程操作,养成良好习惯 我司要求全系统工作人员都应该了解信息安全形势,遵守安全规定,掌握操作技能,努力提高全系统信息保障能力,提出人人养成良好信息安全习惯“九项规范”。 1、禁止用非涉密机处理涉密文件。所有涉密文件必须在涉密计算机上处理(包括编辑、拷贝与打印),内外网计算机不得处理、保存标密文件。 2、禁止在外网上处理与存放内部文件资料。 3、禁止在内网计算机中安装游戏等非工作类软件。

网络协议分析实验报告

实 验 报 告 课程名称 计算机网络 实验名称 网络协议分析 系别 专业班级 指导教师 学号 姓名 实验日期 实验成绩 一、实验目的 掌握常用的抓包软件,了解ARP 、ICMP 、IP 、TCP 、UDP 协议的结构。 二、实验环境 1.虚拟机(VMWare 或Microsoft Virtual PC )、Windows 2003 Server 。 2.实验室局域网,WindowsXP 三、实验学时 2学时,必做实验。 四、实验内容 注意:若是实验环境1,则配置客户机A 的IP 地址:192.168.11.X/24,X 为学生座号;另一台客户机B 的IP 地址:192.168.11.(X+100)。在客户机A 上安装EtherPeek (或者sniffer pro )协议分析软件。若是实验环境2则根据当前主机A 的地址,找一台当前在线主机B 完成。 1、从客户机A ping 客户机B ,利用EtherPeek (或者sniffer pro )协议分析软件抓包,分析ARP 协议; 2、从客户机A ping 客户机B ,利用EtherPeek (或者sniffer pro )协议分析软件抓包,分析icmp 协议和ip 协议; 3、客户机A 上访问 https://www.doczj.com/doc/6210968733.html, ,利用EtherPeek (或者sniffer pro )协议分析软件抓包,分析TCP 和UDP 协议; 五、实验步骤和截图(并填表) 1、分析arp 协议,填写下表 客户机B 客户机A

2、分析icmp协议和ip协议,分别填写下表 表一:ICMP报文分析

3、分析TCP和UDP 协议,分别填写下表

网页制作课程设计报告

网页制作课程设计报告 学院: 专业班级: 姓名: 学号: 成绩: 阅卷教师:

目录 1.设计目的 (1) 2.设计思想 (1) 2.1网站整体结构规划思想 (1) 2.2 主页设计思想 (1) 2.3子页的设计思想 (1) 3网页详细设计分析 (1) 4结论 (2)

1.设计目的 阐述该个人网站的设计意图和创意,简单介绍自己的个人网站。 2.设计思想 阐述网站的整体设计思想,包括: 2.1网站整体结构规划思想 要求阐述网站整体结构的选择、设计的思想,绘制网站结构草图。 2.2 主页设计思想 要求对主页的布局思路进行阐述和分析。 2.3子页的设计思想 要求对子页的设计以及网页对象的选取思路进行阐述和分析。 3网页详细设计分析 要求选取一张网页,对网页的设计实现过程进行阐述和分析,详细说明制作该网页的步骤,所使用的网页对象以及该网页对象的操作方法。

4结论 对整个设计报告做归纳性总结,并分析设计过程中的困难及如何解决的,最后提出展望。 一、设计目的 本课程的设计目的是通过实践使同学们经历Dreamweaver cs3开发的全过程和受到一次综合训练,以便能较全面地理解、掌握和综合运用所学的知识。结合具体的开发案例,理解并初步掌握运用Dreamweaver cs3可视化开发工具进行网页开发的方法;了解网页设计制作过程。通过设计达到掌握网页设计、制作的技巧。了解和熟悉网页设计的基础知识和实现技巧。根据题目的要求,给出网页设计方案,可以按要求,利用合适图文素材设计制作符合要求的网页设计作品。熟练掌握Photoshop cs3、Dreamweaver cs3等软件的的操作和应用。增强动手实践能力,进一步加强自身综合素

WEB个人主页课程设计

Web应用开发技术 实验报告 专业:计算机科学与技术 班级: 学号: 姓名:

一、设计题目 个人网站 二、目的 1、本次设计是学生在学完ASP动态网站开发课程后的一次实践性很强的课程设计,是对ASP进行动态网站开发所学知识的综合运用。 2、掌握使用ASP技术进行网站开发设计。 3、通过本次实习,使学生加深所学知识内容的理解,并能积极地调动学生的学习兴趣,结合实际应用操作环境,真正做到理论与实际相结合。 三、功能需求描述 此网站可以对主人留言,来发表自己的心情,也可以把自己的联系方式写入其中,达到和睦相处、心灵的驿站的目的等。 四、总体设计

五、详细设计 (一)、我的主页 此页面为网站的主页,通过发布新心情,点击通讯录可以查看通讯录好友信息,点击留言板可以查看好友留言。 主要代码: 个人空间

网络安全课程设计报告

中原工学院计算机学院《网络安全程序》课程设计报告 题目:基于des加密的聊天程序 班级:网络124班

目录 第1章绪论____________________________________________________ 3 1.1 des加密背景______________________________________________ 3 1.2 聊天程序设计背景 _________________________________________ 4第2章加密原理________________________________________________ 5 2.1 des简介__________________________________________________ 5 2.2 des加密原理______________________________________________ 5 2.3 des加密过程______________________________________________ 7第3章聊天程序设计____________________________________________ 8 3.1 TCP/IP协议_______________________________________________ 8 3.2 客户机/服务器模式 ________________________________________ 8 3.3 Socket ___________________________________________________ 9第4章系统设计_______________________________________________ 11 4.1 开发语言及环境 __________________________________________ 11 4.2 需求分析 ________________________________________________ 11 4.2.1 功能需求分析__________________________________________ 11 4.2.2 数据需求分析__________________________________________ 11 4.2.3 性能需求分析__________________________________________ 12 4.2.4 运行需求分析__________________________________________ 12 4.3 程序流程图 ______________________________________________ 13 4.4 模块设计 ________________________________________________ 14 4.4.1 服务器________________________________________________ 14 4.4.2 客户端________________________________________________ 15 第5章程序测试_______________________________________________ 17 5.1 运行结果________________________________________________ 17 第6章总结___________________________________________________ 21参考文献______________________________________________________ 21

网络信息安全工作总结

篇一:网络与信息安全工作总结 农业局网络与信息安全检查 情况报告 今年以来,我局大力夯实信息化基础建设,严格落实信息系统安全机制,从源头做起,从基础抓起,不断提升信息安全理念,强化信息技术的安全管理和保障,加强对包括设备安全、网络安全、数据安全等信息化建设全方位的安全管理,以信息化促进农业管理的科学化和精细化。 一、提升安全理念,健全制度建设 我局结合信息化安全管理现状,在充分调研的基础上,制定了《保密及计算机信息安全检查工作实施方案》,以公文的形式下发执行,把安全教育发送到每一个岗位和人员。进一步强化信息化安全知识培训,广泛签订《保密承诺书》。进一步增强全局的安全防范意识,在全农业系统建立保密及信息安全工作领导小组,由书记任组长,局长为副组长,农业系统各部门主要负责同志为成员的工作领导小组,下设办公室,抽调精兵强将负责对州农业局及局属各事业单位保密文件和局上网机、工作机、中转机以及网络安全的日管管理与检查。局属各单位也相应成立了网络与信息安全领导小组。 二、着力堵塞漏洞,狠抓信息安全我局现有计算机37台,其中6台为工作机,1台中转机,每个工作人员使用的计算机按涉密用、内网用、外网用三种情况分类登记和清理,清理工作分为自我清理和检查两个步骤。清理工作即每个干部职工都要对自己使用的计算机(含笔记本电脑)和移动存储介质,按涉密用、内网用、外网用进行分类,并进行相应的信息清理归类,分别存储。检查组办公室成员对各类计算机和移动存储介质进行抽查,确保所有计算机及存储设备都符合保密的要求。 定期巡查,建立安全保密长效机制。针对不同情况采用分类处理办法(如更新病毒库、重装操作系统、更换硬盘等),并制定相应制度来保证长期有效。严肃纪律,认真学习和严格按照《计算机安全及保密工作条例》养成良好的行为习惯,掌握安全操作技能,强化安全人人有责、违规必究的责任意识和机制。 三、规范流程操作,养成良好习惯 我局要求全系统工作人员都应该了解信息安全形势,遵守安全规定,掌握操作技能,努力提高全系统信息保障能力,提出人人养成良好信息安全习惯“九项规范”。 1、禁止用非涉密机处理涉密文件。所有涉密文件必须在涉密计算机上处理(包括编辑、拷贝和打印),内外网计算机不得处理、保存标密文件。 2、禁止在外网上处理和存放内部文件资料。 3、禁止在内网计算机中安装游戏等非工作类软件。 4、禁止内网计算机以任何形式接入外网。包括插头转换、私接无线网络、使用3g上网卡、红外、蓝牙、手机、wifi等设备。 5、禁止非内网计算机未经检查和批准接入内网。包括禁止外网计算机通过插拔网线的方式私自连接内网。 6、禁止非工作笔记本电脑与内网连接和工作笔记本电脑与外网连接。 7、禁止移动存储介质在内、外网机以及涉密机之间交叉使用。涉密计算机、内网机、外网机使用的移动存储介质都应分开专用,外网向内网复制数据须通过刻录光盘单向导入。 8、所有工作机须要设臵开机口令。口令长度不得少于8位,字母数字混合。 9、所有工作机均应安装防病毒软件。软件必须及时更新,定期进行全盘扫描查杀病毒,系统补丁需及时更新。 四、检查发现的问题及整改 在对保密工作和计算机安全管理检查过程中也发现了一些不足,同时结合我局实际,今后要

网络协议分析与仿真课程设计预习报告

编号:_______________本资料为word版本,可以直接编辑和打印,感谢您的下载 网络协议分析与仿真课程设计预习报告 甲方:___________________ 乙方:___________________ 日期:___________________

(计算机学院) 网络协议分析与仿真课程设计 预习报告 专业名称:__________ 网络工程_________________ 班级:_______________________________________ 学生姓名:____________________________________ 学号(8位): ________________________________ 指导教师:____________________________________ 设计起止时间:2013年12月2日一2013年12月13日

题目一网络流量分析 一、课程设计目的 里加深对IP、DNS、TCR UDP、HTTP等协议的理解; 里掌握流量分析工具的使用,学习基本的流量分析方法。 二、课程设计地点及时间 二号实验楼442网络实验室,12月2日至12月6日,每天8: 00-14: 00 三、课程设计实验条件 工具:Wireshark (Windows 或Linux), tcpdump (Linux) 要求:使用过滤器捕获特定分组;用脚本分析大量流量数据(建议用perl)。 内容:Web流量分析 四、课程设计原理 1、DNS域名解析:首先,客户端的应用层会封装数据到达传输层,在传输层标识源端口号 与目的端口号(源端口号为大于1023随机,目的端口号为UDP5狒口)及应用层服务(这 里因该是请求DN硒询服务吧)。传输层封装数据产生数据段传给网络层,在网络层标识源IP地址及目的IP地址(源IP地址为客户端IP ,目的IP地址为DNS服务器IP地址),网络层将数据段封装为数据包传给数据链路层,在数据链路层将会在数据包里加入源MACM址及目的MA砸址(源MACM址为客户端网卡MA弛址,目的MAC%址为DNS服务器MACM址),这里应该查询MA或存。数据链路层根据客户端与DNS服务器之间的链路,将数据包封装成 帧,传给物理层。物理层会将数据帧转化为电信号放到物理介质上。 电信号到达DNS服务器后会从物理层到达应用层(这里和客户端发送数据差不多,只不过这 个过程变成了解封装),DNS服务器做完域名解析后再将数据传给客户端,传输过程同客户端发送数据。 2、建立TCP/IP连接:客户端知道WE囹艮务器IP地址之后,在网络层产生建立TCP/IP三次握手的数据包(TCP/IP三次握手:客户端向服务器端发送SYN信息,服务器端收到SYN信 息后回复给客户端SYN+AC褊认信息,客户端收到确认信息后再向服务器发送ACK信息建立 连接),应用层标识HTTP服务将数据发送到传输层,传输层将数据+源端口号(大于1023)、目的端口号(80)+上层服务WW如装为数据段传给网路层。网络层将数据段+源ip与目的 ip (WW服务器的ip地址)封装为数据包发送到数据链路层。数据链路层参照ARP缓存表确定源MAC%址(本机MACM址)及目的MACM址(客户端与路由B相连端口的MACM址)将数据包封装成数据帧。这里还需要CR破验。。。。。。数据帧到达物理层后变成电信号发送 到介质上(这里还需要访问控制方法DSMA/CD 路由B收到电信号后传给路由器的数据链路层,这里还需要CRC,FC眼验。。。…确定数据 帧没有损坏后查看目的MACM址与路由器端口地址是否相同,如果相同将解封装,将数据包 发送到路由器B的物理层,路由器查看路由表确定数据包的转发端口,路由器B确定与路由 A之间的链路,创建帧。 路由B与路由A可以看成是点对点,即路由B将创建PPP帧。路由A收到电信号后,确定帧的完整性,如果完整即将数据帧解封装发送到网络层,路由A查询路由表将数据包转发到与WEBf连的路由端口。 路由A的数据链路层将查询ARP缓存表确定WW服务器的MACM址,路由A将创建源MAC 地址

个人博客_课程设计报告

目录 第一章概述 (1) 1.1 本课题的研究背景 (1) 1.2 本课题的研究意义 (1) 1.3 现行研究存在的问题及解决办法 (1) 1.3.1 需求分析问题 (1) 1.3.2 代码实现问题 (2) 第二章系统分析 (3) 2.1 系统需求分析 (3) 2.2 采用的关键技术介绍 (3) 2.2.1 https://www.doczj.com/doc/6210968733.html,简介 (3) 2.2.2 Access数据库简介 (4) 2.3 可行性分析 (4) 2.3.1 技术可行性 (4) 2.3.2 操作可行性 (4) 第三章系统概要设计 (6) 3.1 系统总体设计 (6) 3.1.1 运行环境 (6) 3.1.2 系统流程 (6) 3.1.3 系统结构 (7) 3.2 系统接口的概要设计 (8) 3.2.1 用户接口 (8) 3.3 数据库概要设计 (9) 3.3.1 逻辑结构设计 (9) 3.3.2 物理结构设计 (10) 第四章系统详细设计 (11) 4.1 系统界面的详细设计 (11) 4.1.1 普通用户首页的详细设计 (11) 4.1.2 留言界面的详细设计 (11) 4.1.3 后台首页的详细设计 (12) 4.2 数据库详细设计 (13) 4.2.1 表的详细设计 (13) 第五章系统实现 (15) 5.1 系统开发环境 (15) 5.2 系统实现 (15) 5.2.1 客户端系统实现 (15) 5.2.2 后台管理系统实现 (17)

5.3 系统运行环境要求 (17) 5.3.1 服务器端要求 (17) 5.3.2 客户端要求 (18) 5.4 系统部署 (18) 5.4.1数据库设置 (18) 5.4.2 服务器端运行设置步骤 (18) 第六章性能测试与分析 (19) 6.1 测试实例(测试集)的研究与选择 (19) 第七章课程设计总结 (20) 7.1 课程设计心得体会 (20) 参考文献 (21)

《网络嗅探器》课程设计报告

《网络与信息安全技术》课程报告 课题名称:网络嗅探器提交报告时间:2010年12月17 日 网络嗅探器 专业 组号指导老师 [摘要]随着网络技术的飞速发展,网络安全问题越来越被人重视。嗅探技术作为网络安全攻防中最基础的技术,既可以用于获取网络中传输的大量敏感信息,也可以用于网络管理。通过获取网络数据包的流向和内容等信息,可以进行网络安全分析和网络威胁应对。因此对网络嗅探器的研究具有重要意义。 本课程设计通过分析网络上常用的嗅探器软件,在了解其功能和原理的基础上,以VC为开发平台,使用Windows环境下的网络数据包捕获开发库WinPcap,按照软件工程的思想进行设计并实现了一个网络嗅探工具。该嗅探工具的总体架构划分为5部分,分别是最底层的数据缓存和数据访问,中间层的数据捕获,协议过滤,协议分析和最顶层的图形画用户界面。 本嗅探器工具完成了数据包捕获及分析,协议过滤的主要功能,实现了对网络协议,源IP 地址,目标IP地址及端口号等信息的显示,使得程序能够比较全面地分析出相关信息以供用户参考决策。 关键词:网络嗅探;WinPcap编程接口;数据包;网络协议;多线程 (中文摘要在150字左右。摘要正文尽量用纯文字叙述。用五号宋体字。姓名与摘要正文之间空二行。关键词与摘要之间不空行。“摘要”这两个字加粗) 关键词:入侵检测系统;感应器;分析器;分布式入侵检测系统模型 Network sniffer Major: software engineering Group Number: 29 [Abstract] With the rapid development of network technology, network security is increasingly being attention. Sniffing network security technology as the most basic offensive and defensive

网络与信息安全保障措施

网络与信息安全保障措施 Prepared on 22 November 2020

网络与信息安全保障措施 信息安全保密制度 1、我公司建立了健全的信息安全保密管理制度,实现信息安全保密责任制,切实负起确保网络与信息安全保密的责任。严格按照“谁主管、谁负责”、“谁主办、谁负责”的原则,落实责任制,明确责任人和职责,细化工作措施和流程,建立完善管理制度和实施办法,确保使用网络和提供信息服务的安全。 2、网站信息内容更新全部由网站工作人员完成,工作人员素质高、专业水平好,有强烈的责任心和责任感。网站所有信息发布之前都经分管领导审核批准。 工作人员采集信息将严格遵守国家的有关法律、法规和相关规定。严禁通过我公司网站及短信平台散布《互联网信息管理办法》等相关法律法规明令禁止的信息(即“九不准”),一经发现,立即删除。 3、遵守对网站服务信息监视,保存、清除和备份的制度。开展对网络有害信息的清理整治工作,对违法犯罪案件,报告并协助公安机关查处。 4、所有信息都及时做备份。按照国家有关规定,网站将保存 60天内系统运行日志和用户使用日志记录,短信服务系统将保存 5个月以内的系统及用户收发短信记录。制定并遵守安全教育和培训制度。加大宣传教育力度,增强用户网络安全意识,自觉遵守互联网管理有关法律、法规,不泄密、不制作和传播有害信息,不链接有害信息或网页。 安全技术保障措施

防病毒、防黑客攻击技术措施是防止不法分子利用互联网络进行破坏活动,保护互联网络和电子公告服务的信息安全的需要。我公司特此制定以下防病毒、防黑客攻击的安全技术措施: 1、所有接入互联网的计算机应使用经公安机关检测合格的防病毒产品并定期下载病毒特征码对杀毒软 件升级,确保计算机不会受到已发现的病毒攻击。 2、确保物理网络安全,防范因为物理介质、信号辐射等造成的安全风险。 3、采用网络安全控制技术,联网单位已采用防火墙、IDS等设备对网络安全进行防护。 4、使用漏洞扫描软件扫描系统漏洞,关闭不必要的服务端口。 5、制订口令管理制度,防止系统口令泄露和被暴力破解。 6、制订系统补丁的管理制度,确定系统补丁的更新、安装、发布措施,及时堵住系统漏洞。 防黑客攻击主要包括: ①、安全漏洞检测与修补 防范黑客最好的方法是在黑客找到安全漏洞并加以利用之前找到并修补漏洞。随着计算机技术的不断发展,新的安全漏洞不断出现。所以必须对最新发现的安全漏洞及时进行修补,并定期进行检测,做到永远领先于黑客一步。 ②、黑客入侵实时检测和紧急响应 经过安全漏洞检测和修补后的网络和系统仍然难以完全避免黑客的攻击,所以我们采用黑客入侵检测系统(IDS),在服务器上部署入侵检测

网络协议实践课程设计报告-

成都信息工程学院网络工程系 《网络协议实践》 课程设计报告 签名:

目录 第一章 TCP和ARP协议基础............................................................................... 错误!未定义书签。 1.1什么是TCP协议........................................ 错误!未定义书签。 1.2TCP报文类型与格式 .................................... 错误!未定义书签。 1.3什么是ARP协议........................................ 错误!未定义书签。 1.4ARP报文类型和结构 .................................... 错误!未定义书签。第二章抓包验证TCP协议和ARP协议.............................................................. 错误!未定义书签。 2.1实验环境.............................................. 错误!未定义书签。 2.2实验步骤与抓包结果分析................................ 错误!未定义书签。 2.3实验结论.............................................. 错误!未定义书签。第三章 OSPF路由协议验证分析.. (3) 3.1实验环境及工具介绍 (9) 3.2实验步骤及抓包结果分析 (10) 3.3实验结论--OSPF运行过程说明 (12) 3.4实验心得体会 (12)

网页制作课程设计报告

网页制作课程设计报告学院: 专业班级: 姓名: 学号: 成绩: 阅卷教师:

目录 1、设计目的 (1) 2、设计思想 (1) 2、1网站整体结构规划思想 (1) 2、2 主页设计思想 (1) 2、3子页的设计思想 (1) 3网页详细设计分析 (1) 4结论 (1)

1、设计目的 阐述该个人网站的设计意图与创意,简单介绍自己的个人网站。 2、设计思想 阐述网站的整体设计思想,包括: 2、1网站整体结构规划思想 要求阐述网站整体结构的选择、设计的思想,绘制网站结构草图。 2、2 主页设计思想 要求对主页的布局思路进行阐述与分析。 2、3子页的设计思想 要求对子页的设计以及网页对象的选取思路进行阐述与分析。 3网页详细设计分析 要求选取一张网页,对网页的设计实现过程进行阐述与分析,详细说明制作该网页的步骤,所使用的网页对象以及该网页对象的操作方法。 4结论 对整个设计报告做归纳性总结,并分析设计过程中的困难及如何解决的,最后提出展望。 一、设计目的

本课程的设计目的就是通过实践使同学们经历Dreamweaver cs3开发的全过程与受到一次综合训练,以便能较全面地理解、掌握与综合运用所学的知识。结合具体的开发案例,理解并初步掌握运用Dreamweaver cs3可视化开发工具进行网页开发的方法;了解网页设计制作过程。通过设计达到掌握网页设计、制作的技巧。了解与熟悉网页设计的基础知识与实现技巧。根据题目的要求,给出网页设计方案,可以按要求,利用合适图文素材设计制作符合要求的网页设计作品。熟练掌握Photoshop cs3、Dreamweaver cs3等软件的的操作与应用。增强动手实践能力,进一步加强自身综合素质。我本次主要就是设计的一“新加坡之旅”为主题的网页,针对新加坡的美丽风景做了介绍。 二、设计思想 利用Dreamweaver8、0制作一个关于“新加坡之旅”的网站,利用表格、行为、层与链接等网页设计技术设计页面。 本网站以新加坡旅游为素材,主要讲解了与新加坡景

网络与信息安全工作总结

网络与信息安全工作总结 篇一: 情况报告 今年以来,我局大力夯实信息化基础建设,严格落实信息系统安全机制,从源头做起,从基础抓起,不断提升信息安全理念,强化信息技术的安全管理和保障,加强对包括设备安全、网络安全、数据安全等信息化建设全方位的安全管理,以信息化促进农业管理的科学化和精细化。 一、提升安全理念,健全制度建设 我局结合信息化安全管理现状,在充分调研的基础上,制定了《保密及计算机信息安全检查工作实施方案》,以公文的形式下发执行,把安全教育发送到每一个岗位和人员。进一步强化信息化安全知识培训,广泛签订《保密承诺书》。进一步增强全局的安全防范意识,在全农业系统建立保密及信息安全工作领导小组,由书记任组长,局长为副组长,农业系统各部门主要负责同志为成员的工作领导小组,下设办公室,抽调精兵强将负责对州农业局及局属各事业单位保密文件和局上网机、工作机、中转机以及网络安全的日管管理与检查。局属各单位也相应成立了网络与信息安全领导小组。 二、着力堵塞漏洞,狠抓信息安全 我局现有计算机37台,其中6台为工作机,1台中转机,每个工作人员使用的计算机按涉密用、内网用、外网用三种

情况分类登记和清理,清理工作分为自我清理和检查两个步骤。清理工作即每个干部职工都要对自己使用的计算机(含笔记本电脑)和移动存储介质,按涉密用、内网用、外网用进行分类,并进行相应的信息清理归类,分别存储。检查组办公室成员对各类计算机和移动存储介质进行抽查,确保所有计算机及存储设备都符合保密的要求。 定期巡查,建立安全保密长效机制。针对不同情况采用分类处理办法(如更新病毒库、重装操作系统、更换硬盘等),并制定相应制度来保证长期有效。严肃纪律,认真学习和严格按照《计算机安全及保密工作条例》养成良好的行为习惯,掌握安全操作技能,强化安全人人有责、违规必究的责任意识和机制。 三、规范流程操作,养成良好习惯 我局要求全系统工作人员都应该了解信息安全形势,遵守安全规定,掌握操作技能,努力提高全系统信息保障能力,提出人人养成良好信息安全习惯“九项规范”。 1、禁止用非涉密机处理涉密文件。所有涉密文件必须在涉密计算机上处理(包括编辑、拷贝和打印),内外网计算机不得处理、保存标密文件。 2、禁止在外网上处理和存放内部文件资料。 3、禁止在内网计算机中安装游戏等非工作类软件。 4、禁止内网计算机以任何形式接入外网。包括插头转

网络协议实验报告

实验一: unsigned short checkSum(char*pBuffer,int nLen) { unsigned short nWord; unsigned int nSum=0; int i; for(i=0;i>16) { nSum=(nSum&0xFFFF)+(nSum>>16); } nSum=~nSum; return((unsigned short)nSum); } int timeout=1000; setsockopt(sock_raw,SOL_SOCKET,SO_RCVTIMEO,(char*)&timeout,sizeof(timeout)); setsockopt(sock_raw,SOL_SOCKET,SO_SNDTIMEO,(char*)&timeout,sizeof(timeout)); ICMPheader*pIcmpHeader=(ICMPheader*)sendBuffer; pIcmpHeader->byType=8; pIcmpHeader->byCode=0; pIcmpHeader->nId=(USHORT)::GetCurrentProcessId(); pIcmpHeader->nChecksum=0; pIcmpHeader->nSequence=htons(nSeq++); memset(sendBuffer+sizeof(ICMPheader),'*',32); pIcmpHeader->nChecksum=htons(checkSum(sendBuffer, sizeof(ICMPheader)+32)); int nRet=sendto(sock_raw,sendBuffer,sizeof(ICMPheader)+32,0, (SOCKADDR*)&dest_addr,sizeof(SOCKADDR_IN)); IPheader*ipHdr=(IPheader*)recvBuffer; ICMPheader*icmpHdrRet=(ICMPheader*)(recvBuffer+sizeof(IPheader)); if(icmpHdrRet->byCode==0&& icmpHdrRet->nId==pIcmpHeader->nId&& icmpHdrRet->nSequence==pIcmpHeader->nSequence) { nPacketReceived++; unsigned long dwRecvTime=::GetTickCount(); int nRoundTime=dwRecvTime-dwSendTime; nTotalRoundTime+=nRoundTime;

网上购物系统课程设计报告

荆楚理工学院 课程设计成果 学院: 计算机工程学院班级: 11级计算机科学与技术3 班 学生: 学号: 设计地点(单位) A5-102 设计题目: 网上购物系统 完成日期: 2014 年 6 月 3 日 指导老师评语:_________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ 成绩(五级记分制):______________________ 教师签名:_____________________________

前言 近年来,随着Internet的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。于是电子商务开始流行起来,越来越多的商家在网上建起在线商店,向消费者展示出一种新颖的购物理念。 网上购物系统作为B2B,B2C(Business to Customer,即企业对消费者),(Customer to Customer,即消费者对消费者)电子商务的前端商务平台,在其商务活动全过程中起着举足轻重的作用。本文主要考虑的是如何建设B2C 的网上购物系统。 网上购物是一种具有交互功能的商业信息系统。它向用户提供静态和动态两类信息资源。所谓静态信息是指那些比经常变动或更新的资源,如公司简介、管理规和公司制度等等;动态信息是指随时变化的信息,如商品报价,会议安排和培训信息等。网上购物系统具有强大的交互功能,可使商家和用户方便的传递信息,完成电子贸易或EDI交易。这种全新的交易方式实现了公司间文档与资金的无纸化交换。

信息安全实验报告信息安全概论课程设计

郑州轻工业学院课程设计报告 名称:信息安全概论 指导教师:吉星、程立辉 姓名:符豪 学号:541307030112 班级:网络工程13-01

1.目的 数据加密技术要求只有在指定的用户或网络下,才能解除密码而获得原来的数据,这就需要给数据发送方和接受方以一些特殊的信息用于加解密,这就是所谓的密钥。其密钥的值是从大量的随机数中选取的。按加密算法分为专用密钥和公开密钥两种。数据加密技术是网络中最基本的安全技术,主要是通过对网络中传输的信息进行数据加密来保障其安全性,这是一种主动安全防御策略,用很小的代价即可为信息提供相当大的安全保护。 2.题目 使用C#编程语言,进行数据的加密与解密。 系统基本功能描述如下: 1、实现DES算法加密与解密功能。 2、实现TripleDES算法加密与解密功能。

3、实现MD5算法加密功能。 4、实现RC2算法加密与解密功能。 5、实现TripleDES算法加密与解密功能。 6、实现RSA算法加密与解密功能。 3.功能描述 使用该软件在相应的文本框中输入明文,然后点击加密就会立即转化成相应的密文,非常迅速和方便,而且操作简单加流畅,非常好用。 4.需求分析 加密软件发展很快,目前最常见的是透明加密,透明加密是一种根据要求在操作系统层自动地对写入存储介质的数据进行加密的技术。透明加密软件作为一种新的数据保密手段,自2005年上市以来,得到许多软件公司特别是制造业软件公司和传统安全软件公司的热捧,也为广大需要对敏感数据进行保密的客户带来了希望。加密软件上市以来,市场份额逐年上升,同时,经过几年的实践,客户对软件开发商提出了更多的要求。与加密软件产品刚上市时前一两年各软件厂商各持一词不同,经过市场的几番磨炼,客户和厂商对透明加密软件有了更加统一的认识。 5.设计说明 传统的周边防御,比如防火墙、入侵检测和防病毒软件,已经不再能够解决很多今天的数据保护问题。为了加强这些防御措施并且满足短期相关规范的要求,许多公司对于数据安全纷纷采取了执行多点

网络协议课程设计报告

目录 1.课程设计目的 ---------------------------------------------------- 2 2.课程设计要求 ---------------------------------------------------- 2 3.课程设计题目分析 ------------------------------------------------ 2 3.1 网卡设置 -------------------------------------------------- 2 3.2 程序设计 -------------------------------------------------- 3 3.2.1 使用原始套接字------------------------------------------ 3 3.2.2 接收数据包---------------------------------------------- 4 3.2.3 定义IP头部的数据结构---------------------------------- 4 3.2.4 IP包的解析 --------------------------------------------- 5 4.解析IP数据包设计相关知识 -------------------------------------- 5 5.程序流程图------------------------------------------------------- 6 6.程序设计--------------------------------------------------------- 7 6.1 协议的定义 ------------------------------------------------ 7 6.2捕获处理--------------------------------------------------- 7 6.3 运行界面 -------------------------------------------------- 8 7.实验结果--------------------------------------------------------- 9 8.自我评析和总结 -------------------------------------------------- 9 8.1 实训心得-------------------------------------------------- 9 8.2 实训日记-------------------------------------------------- 9 9.主要参考资料 -------------------------------------------------- 10 [2]《网络协议分析》寇晓蕤罗俊勇编著机械工业出版社--------- 10 [3]《C语言程序设计》张建伟李秀琴主编科学出版社--------- 10 [4]《C++程序设计教程——面向对象分册》郑秋生主编 --------- 10电子工业出版社 -------------------------------------------------- 10 10.附录 ---------------------------------------------------------- 10

相关主题
文本预览
相关文档 最新文档