计算机加密系统的设计与实现

计算机加密系统的设计与实现
计算机加密系统的设计与实现

摘要

随着计算机技术的提高,网络安全也就成为当今网络的焦点中的焦点,几乎没有人不在谈论网络上的安全,病毒、黑客程序、邮件炸弹、远程侦听等这一切都无不让人胆战心惊。病毒、黑客的猖獗使身处今日网络社会的人们感觉到谈网色变,无所适从。

但我们必需清楚地认识到,这一切一切的安全问题我们不可一下全部找到解决方案,况且有的是根本无法找到彻底的解决方案,如病毒程序,因为任何反病毒程序都只能在新病毒发现之后才能开发出来,还没有哪能一家反病毒软件开发商敢承诺他们的软件能查杀所有已知的和未知的病毒,所以我们不能有等网络安全了再上网的念头,因为或许网络不能有这么一日,就象“矛”与“盾”,网络与病毒、黑客永远是一对共存体。

电脑加密技术就是适应了网络安全的需要而应运产生的,它为我们进行一般的商务活动提供了安全保障,如在网络中进行文件传输、电子邮件往来和进行合同文本的签署等。其实加密技术也不是什么新生事物,只不过在当今电子商务、电脑网络中还是近几年的。下面我们就详细介绍一下加密技术的方方面面,希望能为那些对加密技术还一知半解的朋友提供一个详细了解的机会!

关键词:文件加密、密钥

ABSTRACT

With the improvement of computer technology, network security has become the focus of the current focus of the network, almost no one does not talk about network security, virus, hacker programs, mail bombs, remote listening, etc. All these are all scary. Viruses, hackers rampant that people living today feel about the network of social networks pale and disoriented.

But we must clearly recognize that all these security problems we can not look at all find a solution, Moreover, some simply can not find a complete solution, such as virus program, because any anti-virus programs can only be discovered only after the new virus Developed, there is no anti-virus software developers, how can a commitment to their software dare to killing all known and unknown viruses, we can not have safe access to internet and other network idea, because the network may not have such a Day, as "spear"and"shield ", the network with viruses, hackers will always be a body of coexistence.

Computer encryption technology is adapted to the needs of network security have to be shipped, and it is our business to provide general security, such as network file transfers, e-mail contacts and the signing of the contract documents and so on. In fact, encryption is not a new phenomenon, but in today's e-commerce, computer network or in recent years. Below we explain in detail all aspects of encryption technology, hoping for those little knowledge of encryption technology also provides a detailed understanding of friends the chance!

Keywords: Encryption Security

目录

1、加密的由来 ...................................... - 4 -

2、加密的概念 ...................................... - 4 -

3、加密的理由 ...................................... - 4 -

4、两种加密方法 .................................... - 6 -

5、加密技术中的摘要函数(MAD、MAD和MAD)........... - 6 -

6、密钥的管理 ...................................... - 7 -6.1、密钥的使用要注意时效和次数 .................... - 7 -

6.2、多密钥的管理 .................................. - 7 -

7、数据加密的标准 .................................. - 8 -

8、加密技术的 ...................................... - 9 -8.1、在电子商务方面的应用 ......................... - 10 -8.2、加密技术在VPN中的应用 ....................... - 10 -参考文献 .......................................... - 12 -

1、加密的由来

加密作为保障数据安全的一种方式,它不是现在才有的,它产生的历史相当久远,它是起源于要追溯于公元前2000年(几个世纪了),虽然它不是现在我们所讲的加密技术(甚至不叫加密),但作为一种加密的概念,确实早在几个世纪前就诞生了。当时埃及人是最先使用特别的象形文字作为信息编码的,随着时间推移,巴比伦、美索不达米亚和希腊文明都开始使用一些来保护他们的书面信息。

近期加密技术主要应用于军事领域,如美国独立战争、美国内战和两次世界大战。最广为人知的编码机器是German Enigma机,在第二次世界大战中德国人利用它创建了加密信息。此后,由于Alan Turing和Ultra计划以及其他人的努力,终于对德国人的密码进行了破解。当初,机的就是为了破解德国人的密码,人们并没有想到计算机给今天带来的信息革命。随着计算机的发展,运算能力的增强,过去的密码都变得十分简单了,于是人们又不断地研究出了新的数据加密方式,如利用ROSA算法产生的私钥和公钥就是在这个基础上产生的。

2、加密的概念

数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。3、加密的理由

当今网络社会选择加密已是我们别无选择,其一是我们知道在互联网上进行文件传输、电子邮件商务往来存在许多不安全因素,特别是对于一些大公司和一些机密文件在网络上传输。而且这种不安全性是互联网存在基础

——TCP/IP协议所固有的,包括一些基于TCP/IP的服务;另一方面,互联网给众多的商家带来了无限的商机,互联网把全世界连在了一起,走向互联网就意味着走向了世界,这对于无数商家无疑是梦寐以求的好事,特别是对于中小。为了解决这一对矛盾、为了能在安全的基础上大开这通向世界之门,我们只好选择了数据加密和基于加密技术的数字签名。

加密在网络上的作用就是防止有用或私有化信息在网络上被拦截和窃取。一个简单的例子就是密码的传输,计算机密码极为重要,许多安全防护体系是基于密码的,密码的泄露在某种意义上来讲意味着其安全体系的全面崩溃。

通过网络进行登录时,所键入的密码以明文的形式被传输到服务器,而网络上的窃听是一件极为容易的事情,所以很有可能黑客会窃取得用户的密码,如果用户是Root用户或Administrator用户,那后果将是极为严重的。

还有如果你公司在进行着某个招标项目的投标工作,工作人员通过电子邮件的方式把他们单位的标书发给招标单位,如果此时有另一位竞争对手从网络上窃取到你公司的标书,从中知道你公司投标的标的,那后果将是怎样,相信不用多说聪明的你也明白。

这样的例子实在是太多了,解决上述难题的方案就是加密,加密后的口令即使被黑客获得也是不可读的,加密后的标书没有收件人的私钥也就无法解开,标书成为一大堆无任何实际意义的乱码。总之无论是单位还是个人在某种意义上来说加密也成为当今网络社会进行文件或邮件安全传输的象征。

数字签名就是基于加密技术的,它的作用就是用来确定用户是否是真实的。应用最多的还是电子邮件,如当用户收到一封电子邮件时,邮件上面标有发信人的姓名和信箱地址,很多人可能会简单地认为发信人就是信上说明的那个人,但实际上伪造一封电子邮件对于一个通常人来说是极为容易的事。在这种情况下,就要用到加密技术基础上的数字签名,用它来确认发信人身份的真实性。

类似数字签名技术的还有一种身份认证技术,有些站点提供入站FTP和WWW服务,当然用户通常接触的这类服务是匿名服务,用户的权力要受到限制,但也有的这类服务不是匿名的,如某公司为了信息交流提供用户的合作伙伴非匿名的FTP服务,或开发小组把他们的Web网页上载到用户的WWW服务器上,现在的问题就是,用户如何确定正在访问用户的服务器的人就是用户认为的那

个人,身份认证技术就是一个好的解决方案。

在这里需要强调一点的就是,文件加密其实不只用于电子邮件或网络上的文件传输,其实也可应用静态的文件保护,如PIP软件就可以对磁盘、硬盘中的文件或文件夹进行加密,以防他人窃取其中的信息。

4、两种加密方法

加密技术通常分为两大类:“对称式”和“非对称式”。

对称式加密就是加密和解密使用同一个密钥,通常称之为“Session Key ”这种加密技术目前被广泛采用,如美国政府所采用的DES加密标准就是一种典型的“对称式”加密法,它的Session Key长度为56Bits。

非对称式加密就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥”和“私钥”,它们两个必需配对使用,否则不能打开加密文件。这里的“公钥”是指可以对外公布的,“私钥”则不能,只能由持有人一个人知道。它的优越性就在这里,因为对称式的加密方法如果是在网络上传输加密文件就很难把密钥告诉对方,不管用什么方法都有可能被别窃听到。而非对称式的加密方法有两个密钥,且其中的“公钥”是可以公开的,也就不怕别人知道,收件人解密时只要用自己的私钥即可以,这样就很好地避免了密钥的传输安全性问题。

5、加密技术中的摘要函数

摘要是一种防止改动的方法,其中用到的函数叫摘要函数。这些函数的输入可以是任意大小的消息,而输出是一个固定长度的摘要。摘要有这样一个性质,如果改变了输入消息中的任何东西,甚至只有一位,输出的摘要将会发生不可预测的改变,也就是说输入消息的每一位对输出摘要都有。总之,摘要算法从给定的文本块中产生一个数字签名(fingerprint或message digest),数字签名可以用于防止有人从一个签名上获取文本信息或改变文本信息内容和进行身份认证。摘要算法的数字签名原理在很多加密算法中都被使用,如SO/KEY和PIP(pretty good privacy)。

现在流行的摘要函数有MAD和MAD,但要记住客户机和服务器必须使用相同的算法,无论是MAD还是MAD,MAD客户机不能和MAD服务器交互。

MAD摘要算法的设计是出于利用32位RISC结构来最大其吞吐量,而不需要大量的替换表(substitution table)来考虑的。MAD算法是以消息给予的长度作为输入,产生一个128位的"指纹"或"消息化"。要产生两个具有相同消息化的文字块或者产生任何具有预先给定"指纹"的消息,都被认为在计算上是不可能的。

MAD摘要算法是个数据认证标准。MAD的设计思想是要找出速度更快,比MAD更安全的一种算法,MAD的设计者通过使MAD在计算上慢下来,以及对这些计算做了一些基础性的改动来解决安全性这一问题,是MAD算法的一个扩展。

6、密钥的管理

密钥既然要求保密,这就涉及到密钥的管理,管理不好,密钥同样可能被无意识地泄露,并不是有了密钥就高枕无忧,任何保密也只是相对的,是有时效的。要管理好密钥我们还要注意以下几个方面:

6.1、密钥的使用要注意时效和次数

如果用户可以一次又一次地使用同样密钥与别人交换信息,那么密钥也同其它任何密码一样存在着一定的安全性,虽然说用户的私钥是不对外公开的,但是也很难保证私钥长期的保密性,很难保证长期以来不被泄露。如果某人偶然地知道了用户的密钥,那么用户曾经和另一个人交换的每一条消息都不再是保密的了。另外使用一个特定密钥加密的信息越多,提供给窃听者的材料也就越多,从某种意义上来讲也就越不安全了。

因此,一般强调仅将一个对话密钥用于一条信息中或一次对话中,或者建立一种按时更换密钥的机制以减小密钥暴露的可能性。

6.2、多密钥的管理

假设在某机构中有100个人,如果他们任意两人之间可以进行秘密对话,那么总共需要多少密钥呢?每个人需要知道多少密钥呢?也许很容易得出答案,如果任何两个人之间要不同的密钥,则总共需要4950个密钥,而且每个

人应记住99个密钥。如果机构的人数是1000、10000人或更多,这种办法就显然过于愚蠢了,管理密钥将是一件可怕的事情。

Kerberos提供了一种解决这个较好方案,它是由MIT发明的,使保密密钥的管理和分发变得十分容易,但这种本身还存在一定的缺点。为能在因特网上提供一个实用的解决方案,Kerberos建立了一个安全的、可信任的密钥分发中心(Key Distribution Center,KDC),每个用户只要知道一个和KDC 进行会话的密钥就可以了,而不需要知道成百上千个不同的密钥。

假设用户甲想要和用户乙进行秘密通信,则用户甲先和KDC通信,用只有用户甲和KDC知道的密钥进行加密,用户甲告诉KDC他想和用户乙进行通信,KDC会为用户甲和用户乙之间的会话随机选择一个对话密钥,并生成一个标签,这个标签由KDC和用户乙之间的密钥进行加密,并在用户甲启动和用户乙对话时,用户甲会把这个标签交给用户乙。这个标签的作用是让用户甲确信和他交谈的是用户乙,而不是冒充者。因为这个标签是由只有用户乙和KDC知道的密钥进行加密的,所以即使冒充者得到用户甲发出的标签也不可能进行解密,只有用户乙收到后才能够进行解密,从而确定了与用户甲对话的人就是用户乙。

当KDC生成标签和随机会话密码,就会把它们用只有用户甲和KDC知道的密钥进行加密,然后把标签和会话钥传给用户甲,加密的结果可以确保只有用户甲能得到这个信息,只有用户甲能利用这个会话密钥和用户乙进行通话。同理,KDC会把会话密码用只有KDC和用户乙知道的密钥加密,并把会话密钥给用户乙。

用户甲会启动一个和用户乙的会话,并用得到的会话密钥加密自己和用户乙的会话,还要把KDC传给它的标签传给用户乙以确定用户乙的身份,然后用户甲和用户乙之间就可以用会话密钥进行安全的会话了,而且为了保证安全,这个会话密钥是一次性的,这样黑客就更难进行破解了。同时由于密钥是一次性由系统自动产生的,则用户不必记那么多密钥了,方便了人们的通信。

7、数据加密的标准

最早、最著名的保密密钥或对称密钥加密算法DES(Data Encryption Standard)是由IBM公司在70年代起来的,并经政府的加密标准筛选后,于

1976年11月被美国政府采用,DES随后被美国国家标准局和美国国家标准协会(American National Standard Institute,ANSI)承认。DES使用56位密钥对64位的数据块进行加密,并对64位的数据块进行16轮编码。与每轮编码时,一个48位的"每轮"密钥值由56位的完整密钥得出来。DES用软件进行解码需用很长时间,而用硬件解码速度非常快。幸运的是,当时大多数黑客并没有足够的设备制造出这种硬件设备。在1977年,人们估计要耗资两千万美元才能建成一个专门机用于DES的解密,而且需要12个小时的破解才能得到结果。当时DES被认为是一种十分强大的加密方法。

随着计算机硬件的速度越来越快,制造一台这样特殊的机器的花费已经降到了十万美元左右,而用它来保护十亿美元的银行,那显然是不够保险了。另一方面,如果只用它来保护一台普通服务器,那么DES确实是一种好的办法,因为黑客绝不会仅仅为入侵一个服务器而花那么多的钱破解DES密文。

另一种非常著名的加密算法就是RSA了,RSA(Rivest-Shamir-Adleman)算法是基于大数不可能被质因数分解假设的公钥体系。简单地说就是找两个很大的质数。一个对外公开的为“公钥”(Prblic key),另一个不告诉任何人,称为"私钥”(Private key)。这两个密钥是互补的,也就是说用公钥加密的密文可以用私钥解密,反过来也一样。

假设用户甲要寄信给用户乙,他们互相知道对方的公钥。甲就用乙的公钥加密邮件寄出,乙收到后就可以用自己的私钥解密出甲的原文。由于别人不知道乙的私钥,所以即使是甲本人也无法解密那封信,这就解决了信件保密的问题。另一方面,由于每个人都知道乙的公钥,他们都可以给乙发信,那么乙怎么确信是不是甲的来信呢?那就要用到基于加密技术的数字签名了。

甲用自己的私钥将签名加密,附加在邮件后,再用乙的公钥将整个邮件加密(注意这里的次序,如果先加密再签名的话,别人可以将签名去掉后签上自己的签名,从而篡改了签名)。这样这份密文被乙收到以后,乙用自己的私钥将邮件解密,得到甲的原文和数字签名,然后用甲的公钥解密签名,这样一来就可以确保两方面的安全了。

8、加密技术的

加密技术的应用是多方面的,但最为广泛的还是在商务和VPN上的应用,

下面就分别简叙。

8.1、在电子商务方面的应用

电子商务(E-business)要求顾客可以在网上进行各种商务活动,不必担心自己的信用卡会被人盗用。在过去,用户为了防止信用卡的号码被窃取到,一般是通过电话订货,然后使用用户的信用卡进行付款。现在人们开始用RSA(一种公开/私有密钥)的加密技术,提高信用卡交易的安全性,从而使电子商务走向实用成为可能。

许多人都知道NETSCAPE公司是Internet商业中领先技术的提供者,该公司提供了一种基于RSA和保密密钥的应用于因特网的技术,被称为安全插座层(Secure Sockets Layer,SSL)。

也许很多人知道Socket,它是一个编程界面,并不提供任何安全措施,而SSL不但提供编程界面,而且向上提供一种安全的服务,SSL3.0现在已经应用到了服务器和浏览器上,SSL2.0则只能应用于服务器端。

SSL3.0用一种电子证书(electric certificate)来实行身份进行验证后,双方就可以用保密密钥进行安全的会话了。它同时使用“对称”和“非对称”加密方法,在客户与电子商务的服务器进行沟通的过程中,客户会产生一个Session Key,然后客户用服务器端的公钥将Session Key进行加密,再传给服务器端,在双方都知道Session Key后,传输的数据都是以Session Key 进行加密与解密的,但服务器端发给用户的公钥必需先向有关发证机关申请,以得到公证。

基于SSL3.0提供的安全保障,用户就可以自由订购商品并且给出信用卡号了,也可以在网上和合作伙伴交流商业信息并且让供应商把订单和收货单从网上发过来,这样可以节省大量的纸张,为公司节省大量的电话、传真费用。在过去,电子信息交换(Electric Data Interchange,EDI)、信息交易(information transaction)和交易(financial transaction)都是在专用上完成的,使用专用网的费用大大高于互联网。正是这样巨大的诱惑,才使人们开始发展因特网上的电子商务,但不要忘记数据加密。

8.2、加密技术在VPN中的应用

现在,越多越多的公司走向国际化,一个公司可能在多个国家都有办事机构或销售中心,每一个机构都有自己的局域网LAN(Local Area Network),但在当今的网络人们的要求不仅如此,用户希望将这些LAN连结在一起组成一个公司的广域网,这个在现在已不是什么难事了。

事实上,很多公司都已经这样做了,但他们一般使用租用专用线路来连结这些局域网,他们考虑的就是网络的安全问题。现在具有加密/解密功能的路由器已到处都是,这就使人们通过互联网连接这些局域网成为可能,这就是我们通常所说的虚拟专用网(Virtual Private Network ,VPN)。当数据离开发送者所在的局域网时,该数据首先被用户湍连接到互联网上的路由器进行硬件加密,数据在互联网上是以加密的形式传送的,当达到目的LAN的路由器时,该路由器就会对数据进行解密,这样目的LAN中的用户就可以看到真正的信息了。

参考文献

《软件加密原理与应用》

作者:飞天诚信出版社:电子工业出版社

《加密解密技能百练》

作者:邱志聪出版社:中国铁道出版社

《文件加密全接触》

作者:金波艳出版社:上海科学技术出版社

《加密解密全方位学习》

作者:武新华出版社:中国铁道

《软件加密技术内幕》

作者:看雪学院出版社:电子工业出版社

《密码学-加密演算法》

作者:邓安文

public class HerpEncrypt {

#region 三重DES加密解密

private static TripleDES mydes = new TripleDESCryptoServiceProvider();

///

/// 密钥

///

public static string Key = "[)&@^&*!~(12njimht+d_w#$";

///

/// 向量

///

public static string IV =

"#$^%&&*Y";//"#$^%&&*Yisifhsfjsljfslhgosdshf26382837sdfjskhf97(*&(*";

///

/// 获得密钥

///

/// 密钥

private static byte[] GetLegalKey() {

string sTemp = Key;

//mydes.GenerateKey();

//byte[] bytTemp = mydes.Key;

//int KeyLength = bytTemp.Length;

//if (sTemp.Length > KeyLength)

// sTemp = sTemp.Substring(0, KeyLength);

//else if (sTemp.Length < KeyLength)

// sTemp = sTemp.PadRight(KeyLength, ' ');

return ASCIIEncoding.ASCII.GetBytes(sTemp);

}

///

/// 获得初始向量IV

///

/// 初试向量IV

private static byte[] GetLegalIV() {

string sTemp = IV;

//mydes.GenerateIV();

//byte[] bytTemp = mydes.IV;

//int IVLength = bytTemp.Length;

//if (sTemp.Length > IVLength)

// sTemp = sTemp.Substring(0, IVLength);

//else if (sTemp.Length < IVLength)

// sTemp = sTemp.PadRight(IVLength, ' ');

return ASCIIEncoding.ASCII.GetBytes(sTemp);

}

///

/// 加密方法

///

/// 待加密的串

/// 经过加密的串

public static string Encrypt(string Source) {

try {

byte[] bytIn = UTF8Encoding.UTF8.GetBytes(Source);

MemoryStream ms = new MemoryStream();

mydes.Key = GetLegalKey();

mydes.IV = GetLegalIV();

ICryptoTransform encrypto = mydes.CreateEncryptor();

CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Write);

cs.Write(bytIn, 0, bytIn.Length);

cs.FlushFinalBlock();

ms.Close();

byte[] bytOut = ms.ToArray();

return Convert.ToBase64String(bytOut);

} catch (Exception ex) {

throw new Exception("在文件加密的时候出现错误!错误提示:\n" + ex.Message);

}

}

///

/// 解密方法

///

/// 待解密的串

/// 经过解密的串

public static string Decrypt(string Source) {

try {

byte[] bytIn = Convert.FromBase64String(Source);

MemoryStream ms = new MemoryStream(bytIn, 0,

bytIn.Length);

mydes.Key = GetLegalKey();

mydes.IV = GetLegalIV();

ICryptoTransform encrypto = mydes.CreateDecryptor();

CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Read);

StreamReader sr = new StreamReader(cs);

return sr.ReadToEnd();

} catch (Exception ex) {

throw new Exception("在文件解密的时候出现错误!错误提示:\n" + ex.Message);

}

}

///

/// 加密方法byte[] to byte[]

///

/// 待加密的byte数组

/// 经过加密的byte数组

public static byte[] Encrypt(byte[] Source) {

try {

byte[] bytIn = Source;

MemoryStream ms = new MemoryStream();

mydes.Key = GetLegalKey();

mydes.IV = GetLegalIV();

ICryptoTransform encrypto = mydes.CreateEncryptor();

CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Write);

cs.Write(bytIn, 0, bytIn.Length);

cs.FlushFinalBlock();

ms.Close();

byte[] bytOut = ms.ToArray();

return bytOut;

} catch (Exception ex) {

throw new Exception("在文件加密的时候出现错误!错误提示:\n" + ex.Message);

}

}

///

/// 解密方法byte[] to byte[]

///

/// 待解密的byte数组

/// 经过解密的byte数组

public static byte[] Decrypt(byte[] Source) {

try {

byte[] bytIn = Source;

MemoryStream ms = new MemoryStream(bytIn, 0,

bytIn.Length);

mydes.Key = GetLegalKey();

mydes.IV = GetLegalIV();

ICryptoTransform encrypto = mydes.CreateDecryptor();

CryptoStream cs = new CryptoStream(ms, encrypto, CryptoStreamMode.Read);

StreamReader sr = new StreamReader(cs);

return UTF8Encoding.UTF8.GetBytes(sr.ReadToEnd());

} catch (Exception ex) {

throw new Exception("在文件解密的时候出现错误!错误提示:\n" + ex.Message);

}

}

///

/// 加密方法File to File

///

/// 待加密文件的路径

/// 待加密后文件的输出路径

public static void Encrypt(string inFileName, string outFileName) {

try {

FileStream fin = new FileStream(inFileName, FileMode.Open, FileAccess.Read);

FileStream fout = new FileStream(outFileName,

FileMode.OpenOrCreate, FileAccess.Write);

fout.SetLength(0);

mydes.Key = GetLegalKey();

mydes.IV = GetLegalIV();

byte[] bin = new byte[100];

long rdlen = 0;

long totlen = fin.Length;

int len;

ICryptoTransform encrypto = mydes.CreateEncryptor();

CryptoStream cs = new CryptoStream(fout, encrypto, CryptoStreamMode.Write);

while (rdlen < totlen) {

len = fin.Read(bin, 0, 100);

cs.Write(bin, 0, len);

rdlen = rdlen + len;

}

cs.Close();

fout.Close();

fin.Close();

} catch (Exception ex) {

throw new Exception("在文件加密的时候出现错误!错误提示:\n" + ex.Message);

}

}

///

/// 解密方法File to File

///

/// 待解密文件的路径

/// 待解密后文件的输出路径

public static void Decrypt(string inFileName, string outFileName) { try {

FileStream fin = new FileStream(inFileName, FileMode.Open, FileAccess.Read);

FileStream fout = new FileStream(outFileName,

FileMode.OpenOrCreate, FileAccess.Write);

fout.SetLength(0);

byte[] bin = new byte[100];

long rdlen = 0;

long totlen = fin.Length;

int len;

mydes.Key = GetLegalKey();

mydes.IV = GetLegalIV();

ICryptoTransform encrypto = mydes.CreateDecryptor();

CryptoStream cs = new CryptoStream(fout, encrypto, CryptoStreamMode.Write);

while (rdlen < totlen) {

len = fin.Read(bin, 0, 100);

cs.Write(bin, 0, len);

rdlen = rdlen + len;

}

cs.Close();

fout.Close();

fin.Close();

} catch (Exception ex) {

throw new Exception("在文件解密的时候出现错误!错误提示:\n" + ex.Message);

}

}

#endregion

#region MD5加密

///

/// 对字符串进行MD5加密

///

/// 要加密的字符串

/// 加密后结果

public static string StringToMD5(string str) {

return

System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile( str, "MD5");

}

#endregion

文件加密与解密—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类结构图

计算机系统设计报告书模板

课程设计报告目录

一、课程设计概述: 本次数据结构课程设计共完成三个题:一元稀疏矩阵多项式计算器、稀疏矩阵的操作、Josephu问题。 使用语言:C 编译环境:vc6.0 二、课程设计题目一 成绩分析文档资料 [问题描述] 录入、保存一个班级学生多门课程的成绩,并对成绩进行分析。 [需求分析] 1.通过键盘输入各学生的多门课程的成绩,建立相应的文件input.dat 2.对文件input.dat中的数据进行处理,要求具有如下功能: a.按各门课程成绩排序,并生成相应的文件输出 b.计算每人的平均成绩,按平均成绩排序,并生成文件 c.求出各门课程的平均成绩、最高分、最低分、不及格人数、

60-69分人数、70-79分人数、80-89分人数、90分以上人数 d.根据姓名或学号查询某人的各门课成绩,重名也要能处理 3.界面美观 [概要设计] -=ADT=- { Status CreateList(DataRecond* DR, int n); //创建成绩表 Status SortScore(DataRecond* DR,int n); //按各科成绩排序并存于文件 Status Partition(KeyWord* RL, int low, int high); //快速排序的第一趟 Status QSort(KeyWord* RL, int low, int high); //快速排序 Status QuickSort(KeyWord* RL,int n); //快速排序

Status EveryAvageScore(DataRecond* DR, int n); //计算每科平均成绩 Status CaluAverage(int *temp, int n); //计算平均成绩 Status ScoreProcess(DataRecond* DR); //成绩处理 Status MaxScore(int *temp, int n); //求最大分数 Status MinScore(int *temp, int n); //求最小分数 Status ScoreSegment(DataRecond* DR); //求分数段 Status Process(int *temp,int n); //主处理函数 Status NameQuery(DataRecond* DR); //按名字查找

计算机网络系统设计方案

第九章计算机网络系统 本方案将涉及以下范围: 系统需求概述 网络设计原则 网络系统设计 网络设备选型 网络的安全性 9.1 系统需求概述 随着网络技术,信息通信领域的长足发展,网络经济,知识经济再不是IT 等高科技行业的专利,企业正利用其行业特点,汲取网络技术精华,努力创造着制造业的又一个春天。未来是美好的,但现实不可回避。大多数企业对电子商务的一般认识是电子商务能帮助企业进行网上购物、网上交易,仅是一种新兴的企业运作模式,比较适用于商业型企业、贸易公司、批发配送公司,孰不知电子商务已对传统的制造业形成了巨大冲击。 在这种形式下,面对企业规模的扩大,新厂区的启用,为了加强生产经营管理,提高企业生产水平和管理水平,使之成为领导市场的现代化企业,并为浙江生迪光电有限公司的长远发展提供更好的条件提出了网络系统建设方案。 对于景兴公司网络系统建设这样一个复杂的系统工程,在硬件、软件、网络等方面都提出了非常高的要求。作为系统运行的支撑平台,更是重中之重。计

算机网络系统、网络整体安全系统以及整个系统集成建设是否成功,变得尤其重要。 根据对企业的弱电设计以及与企业有关部门的深入沟通,结合我公司以往对企业系统实施的经验积累,我们认为,本次关于景兴限公司计算机网络核心系统的总体需求可以概括为: 1、实现企业的信息化管理,提高经济管理水平和服务质量,实现企业的经济效益与社会效益的同步增长。在此基础上发展企业的决策支持辅助信息系统,因此我们计算机网络核心系统也将紧紧围绕着这些应用展开。 2、建设机房与相应的网络系统。 3、建立比较完备的安全防护体系,实现信息系统的安全保障。 4、系统必须保持一定的先进性、可扩展性、高可用性、高稳定性、易维护性。 9.2 网络设计原则 (1)先进性与成熟性相结合 近年来信息技术飞速发展,用户在构建信息系统时有了很大的选择余地,但也使用户在构建系统时绞尽脑汁地在技术的先进性与成熟性之间寻求平衡。先进而不成熟的技术不敢用,而太成熟的技术又意味着过时和淘汰。本方案充分考虑了先进性与成熟性相结合。 (2)合理、灵活的体系结构 “结构先行”是构建任何系统的先例,信息系统也不例不断变化的情况下,调整适应,从长远角度来看,也可以提供很好的投资保护。

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.系统功能描述与软件模块划分 功能:

加密解密课程设计

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

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

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

计算机系统组成教学设计

《计算机系统组成》教学设计 一、教学对象分析 本校初一级学生,基础比较薄弱,针对其好奇好动的特点。在教学过程当中,多设计一些教学过程让学生动手参与,提高学生的兴趣,增加感性认识。在讲解过程中注意多联系生活及身边的事物,有利于学生更好地掌握和理解教学内容。 学习本课之前,许多学生对计算机的操作有一定了解,但学生对于计算机系统的构成,各部件的功能,工作原理还没有形成具体概念。因此必要进一步学习《计算机系统的组成》 二、教学内容分析 本章内容是信息技术的基础知识。涉及到计算机的系统构成的术语和概念比较多,应用范围广泛,在教学中多运用实物介绍比较和基础练习,引导学生观察,分析,比较,归纳,从而达到教学目标。 教学重点:计算机是由特定功能的各种设备组合在一起的一个整体。 教学难点:计算机硬件和软件的概念。 三、教学目标 基本目标 (1)了解计算机组成各部分的名称和作用 (2)知道什么是计算机软件,了解计算机软件的作用。 (3)了解计算机处理信息的过程。 四、教学方法 ⒈本课的教学内容涉及较多名称术语,在教学中可以通过演示教学辅助软件,展示计算机硬件实物,讲解投影等多种形式增加学生对教学内容的感性认识。 ⒉学生通过填写、拼图比较,思考回答,讨论表述,理解巩固相关知识。 五、教学过程设计 新课导入: 同学们,计算机这个词对于我们来说已经不再陌生了,它已经渗透到我们生活中的每个环节中去了。那么你们知道哪些有关计算机的名词呢?(根据学生的回答,教师作出相应的小结)。同学们,你们所说的这些名词有的是计算机的硬件,有的是计算机的软件,还有一些则是计算机的应用,今天我们就要学习计算机系统的组成,计算机有许多部件,如显示器、主机、键盘等,这些部件在处理信息的过程中各起什么作用呢?一个完整的计算机系统又是由哪些部分组成?这就是今天我们要学习的内容。 (一)计算机的硬件系统(屏幕广播) ⒈硬件:指计算机实际设备的总称 ⒉硬件部分按其功能划分为:控制器、运算器、存储器(内外)、输入设备、输出设备。 ⒊展示一台打开的计算机,用实物介绍硬件的组成与作用。 ⒋硬件系统的组成结构图和功能作用。 ⒌网络传送“硬件分类填空练习课件”,让学生独自或者讨论完成练习。选一到两个学生上讲

某大楼计算机网络系统设计方案

第一章计算机网络系统 某市XX 大厦计算机网络系统(以下简称XX 大厦网络)作为某市XX 大厦 3A 智 能化系统的核心骨干支持架构,担负着为业务办公系统( OA )、楼宇自动化控制系统 (BA )以及通信自动化系统(CA )的运作提供一个可靠、稳定网络环境的重要任务。 XX 大厦网络系统从拓扑结构上分成网络平台、系统主机以及软件平台三大部分组成。 在网络平台的局域网设计中我们采用了 Cisco 3 5 2 4 XL 交换机冗余作为网络 的核心交换层,桌面接入交换机也采用Cisco 3 5 2 4 XL 交换机并加上堆叠模块, 为 每个桌面提供100Mbps 全交换连接。 在广域网接入部分,我们通过采用 Cisco 2 6 2 1路由器来实现区院网络远程接 入、远程控制管理、In ternet 出口,同时配置了 两台HP 服务器实现双机容错。 在软件平台方面,我们采用目前流行的 Windows 2000 Server 网络操作系统作为系 统软件平台,同时采用 MS SQL Server 2000作为数据库系统,采用 MS Exchange2000 IOS 内置防火墙来加强安全防护。 系统主机包括数据库主机和 WWW 服务器 我们选择了在可靠性和安全性方面性 能卓越的HP 服务器作为业务办公数据库主机。 同时为了保证服务器的可靠性,我们将

作为电子邮件系统,这些软件产品都是美国微软公司出品,能够很好的融合在一起。 F面我们将从系统规划、系统设计、设备选型等三个方面来进行详细阐述 系统总体规划 1、设计目标 BMS系1)为大厦中各个楼层、写字间的办公自动化以及楼宇自动化控制系统、 统中的各子系统提供一个安全稳定可靠的运行控制和集成管理核心网络环境; 2)根据实际需要提供不同的网络接入方式和速率,以实现用户对数据、图象、 声音等信息的高效处理; 3)预留广域网接口,以便可根据需要提供In ternet的接入,为与外界的信息交 流和事务协作创造良好的信息通路,并提供提供远程接入和管理控制以及移动办公 的服务接口; 4)提供丰富的网络服务,实现广泛的软件、硬件资源共享,避免重复投资,发 挥系统最大效益; 5)主机系统应具有高度的可靠性,能7x24小时不间断工作,并有容错措施; 还应具备很高的安全性,以保证网络中机密数据的合法访问;具有广泛的软件支持,

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

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

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

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

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

计算机系统教学设计

《计算机系统》教学设计 一、学习者分析 初一的学生,具有活泼好动的特点,怀着对初中生活的憧憬来到一个新的环境里,对每样事物都充满着好奇,都想去探个究竟。随着社会的进步,计算机的使用范围越来越广,计算机的硬件发展越来越迅速,计算机在家庭中的普及程度越来越高,很多学生的家中都有了计算机,但对计算机的认识可能仅仅局限于上网与打游戏,对于计算机系统也只能从自己可以看到的来理解,认识比较片面,通过学习本节内容,系统地认识计算机系统。 二、教材内容分析 1、本节的主要内容及在本章中的地位 本节的主机内容有计算机系统的组成、硬件系统、软件系统。要求学生从信息处理的角度了解计算机系统的基本组成,它是重要的基础知识。 本节课的内容涉及很多专业术语,这些术语都是比较难理解和掌握的,大多数学生学习起来有一定的难度,教师在教学中可能通过学习活动,引导学生观察、分析、比较、归纳和总结,使之逐步掌握《计算机系统》的知识。 2、教学重点、难点: 重点:计算机系统的组成及结构,各主要部件的作用,存储器的单位及其换算。 难点:计算机系统的组成及结构。 3、课时安排:1课时 三、教学目标 1.知识与技能 (1)了解计算机硬件和软件的概念及其关系; (2)了解计算机硬件的各个组成部份及其作用; (3)知道存储器的分类、内存RAM与ROM的区别及其作用。 (4)了解软件的分类,知道常见的软件的类别。 2.过程与方法 (1)通过让学生观察计算机的结构和主要部件,了解计算机结构及各部分的作用; (2)通过学习活动让学生体验计算机软件的分类及其作用,并归纳计算机系统的组成结构图。 3.情感态度价值观 在学习过程中,激发学生学习计算机基础知识的兴趣和积极探究的精神。 四、教学理念和方法 本课的教学内容涉及较多专业述语、名词和概念,其中很多与学生日常接触到的内容不一致。根据任务驱动教学方法和建构主义理论,设计教学情境和活动,通过展示计算机实物和观察活动,引导学生根据这些体验,认识所学内容,掌握专业词汇,理解概念,自主归纳总结出系统结构图,同时培养学生自主探究、协作学习的能力,完成教学任务。 五、教学过程设计 1.教学内容的组织与呈现方式 先用简短的语言引入新课,通过实物展示和学生的讨论活动介绍计算机的硬

计算机网络课程设计

计算机网络课程设计

滨江学院 计算机网络课程设计——广告公司网络的设计 姓名:刘权 班级:计算机科学与技术1班 指导教师:谈玲 日期: 4月8日

目录前言 一、项目概述 二、可行性分析报告 三、需求分析 3.1需求概述 3.2网络需求 1.布线结构需求 2.网络设备需求 3.IP地址规划 3.3、系统需求 1.系统要求 2.网络和应用服务 3.4、存储备份系统需求1.总体要求 2.存储备份系统建设目标

3.存储系统需求 4.备份系统需求 3.5、网络安全需求1.网络安全体系要求2.网络安全设计模型 四、网络结构设计 五、系统配置与实施 六、工程预算与进度安排

一:项目概述 1.1项目信息 某广告公司现有分公司1(50台pc)和分公司2(40台pc),分公司1和分公司2都拥有各自独立的部门。分公司1和分公司2包括:策划部、市场部、设计部。为提高办公效率,该广告公司决定建立一个内部网络。 该广告公司内部使用私有IP地址192.168.160.0/23,要求该广告公司的分公司1和分公司2之间使用路由器进行连接(不使用vpn技术),使用动态的路由协议(RIP)。分公司1和分公司2内部通过划分vlan技术,使不同的部门在不同的局域网内。 1.2 方案设计 写题为“广告公司的网络解决方案”的网络方案设计书。包括: ①完整的校园网络拓扑图(网络拓扑图要求使用visio工具进行设计绘制); ②结合网络拓扑图进行IP地址的规划; ③分公司1的VLAN的设计与规划。 ④分公司2的VLAN的设计与规划。 ⑤分公司1和分公司2的网络互连互通。 1.3 设计原则 本项目将提供全面完整和可扩展性强的解决方案,以实现系统实施灵活性和连贯性。项目在设计中充分理解用户对智能化工程建设的要求,对系统现在以及将来的应用及连接需求进行综合分析,在系统需要扩容和扩展时而进行下一步实施时,可以方便并且平滑的实现。 为了满足需求,本综合布线系统方案设计遵循以下原则:

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); } });

计算机网络系统设计方案

目录 第一章:前言 (1) 第二章:网络系统设计 (2) 2.1总体目标 (2) 2.2需求分析 (2) 2.3系统设计原则 (3) 2.4关键技术问题及解决 (4) 2.4.1网络可靠性方案 (4) 2.4.2如何提高网络传输性能 (5) 2.4.3VLAN划分 (5) 2.4.5VLAN之间的高速路由 (5) 2.4.6VLAN之间的安全及网络优先级控制 (6) 2.5网络结构设计 (7) 2.5.1网络骨干层设计 (8) 2.5.2用户接入层设计 (11) 2.5.3布线系统与网络系统的连接 (13) 第四章:安装、测试及验收 (14) 4.1系统安装与调试 (14) 4.2系统测试原理与方法 (14) 4.3硬、软件设备测试与验收 (15) 4.4系统集成测试与验收 (15)

第一章:前言 北京博达国际公共服务大楼共有地上裙楼4层,双主塔21层,地下2层,总建筑面积80090.62平方米。随着人们生活水平的提高和技术的迅速发展,网络使人们的思想观念从单一的封闭型工作、休息环境向集休息、娱乐、办公等于一体的开放式、智能型多功能工作、休息空间转变。通过公共信息查询系统,电子公告系统及时了解国内外大事以及建筑群的各种服务信息;通过高速的建筑群网络可以方便的进行购物、网上会议、网上聊天等活动,还可以直接进入INTERNET 网,以高于拨号上网的速度在万维网中畅游;使用户在建筑群内享受到高档成熟技术环境所带来的各种优质服务。 如要实现上述服务,就需建立一套现代化、高科技的信息网络系统,依靠综合数字交换设备,建立语音系统、数据通信系统、图象通信系统、有线电视系统等,使建筑物具有先进的通信能力。 我公司很高兴有机会参加北京博达国际公共服务大楼网络系统工程的研究讨论,在依据您们向我们提出的具体需求,现向您们递上我们的方案建议书。华埠特克公司非常重视参加北京博达国际公共服务大楼网络系统项目,并真诚地与北京博达国际公共服务大楼全面合作,提供我公司一流的技术与服务,使北京博达国际公共服务大楼网络系统的水平达到当今国际一流水准。

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比特的标准算法和逻辑运算,运算速

计算机操作系统课程设计

) 计算机操作系统课程设计 班级:计091-1 ! 姓名: 学号: 使用语言:C++ 指导老师: 学院: ~

一、系统要求 1、实验目的 通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现。 2、实验内容 ( 为linux系统设计一个简单的二级文件系统。要求做到以下几点: (1)可以实现下列几条命令(至少4条); login 用户登陆 dir 列文件目录 create 创建文件 delete 删除文件 open 打开文件 ~ close 关闭文件 read 读文件 write 写文件 (2)列目录时要列出文件名、物理地址、保护码和文件长度; (3)源文件可以进行读写保护。 二、系统分析 1、设计思想 ` 本文件为二级文件系统,即要实现对文件的增删改查,同时又具备登陆系统、注册用户的功能,各个用户之间的文件系统互不干扰。 本文件系统采用两级目录,其中第一级对应于用户账号,第二级对应于用户帐号下的文件。另外,为了简便文件系统未考虑文件共享,文件系统安全以及管道文件与设备文件等特殊内容。 系统采用结构体来存储用户、文件目录、文件数据内容: 0 48*5 48*5+44*50 48*5+44*50+264*200

每个分区都是由结构体组成,每个个去的结构体的个数由格式化系统是决定。整个系统的编码构成主要分为: ! 定义了每个分区的结构体; 声明了对系统操作的各种方法; 声明了对文件操作的各种方法; 整个系统的主函数,操作入口; 包含了,实现了操作系统的各种方法; 包含了,实现了操作文件的各种方法; 2、主要数据结构 文件的内容: 。 struct s_user 登录"<>n_select; (); 看文件内容"<

计算机网络系统设计方案(华为)

第三章计算机网络系统设计方案 1.网络设计依据 标准与协议 IEEE802系列: IEEE802.1 IEEE802.1p IEEE802.2 IEEE802.3 IEEE802.3u IEEE802.3z IEEE802.1Q 网络协议: TCP/IP IPX/SPX 网管协议: SNMP agentV1(RFC1155-1157)/SNMP agentV2 RMON/ATMRMON Telnet TFTP,LEC,RFC1577Client SNMP MIBII(RFC1213) Bridge MIB(RFC1493) 802.1DSpanning-TreeMIB Ethernet MIB(RFC1398) 2.网络设计原则 多媒体技术的普及给Internet和Intranet提出了更高的发展要求。海军工程大学校园网络应建成一个以宽带技术为基础、提供多层次服务、支持多媒体应用的信息服务网络。 数据网建设是海军工程大学数字化校园工程项目重要组成部分,为学生、教师获取各种信息资源提供通信基础,为各种上层应用提供网络平台,在校园的信息化中发挥这重

要作用。 在网络的整体规划中,使用代表未来发展方向的技术,采取合理的建设步骤,最终建设一个高效、实用的校园网络,为学校的信息化建设打下坚实的基础。海军工程大学校园网络工程将是一个满足数字、语音、图形图像等多媒体信息,以及综合业务信息传输和处理需要的综合数字网,并能符合多种网络协议,体系结构符合国际标准或事实上的国际工业标准(如TCP/IP),同时能兼容已有的网络环境。 根据海军工程大学校园网络建设目标和设计要求,和我们多年的系统集成经验,其校园网络总体设计遵循以下若干原则: (1)先进性: 从系统体系结构和网络系统基础结构方面均采用当前国内外先进的技术,同时,在设备选型方面考虑到技术的成熟性,采用主流机型,主流系统。 校园网络传输的信息量大,要求计算机网络具备高带宽的传输主干。随着将来用户的增加,网络也将面临多样化需求。 我们将在网络构架,硬件设备,协议选择,安全控制和网络管理等方面充分体现海军工程大学校园网络的先进性。 (2)可靠性: 我们从网络骨干线路的冗余备份、网络设备的冗余备份和电源冗余备份等方面来保证海军工程大学校园网络的可靠性。另外,还从以下几个方面来保障: 无差错运行:在网络设计中采用防干扰、防浪涌技术,在网络系统的配置中,严格遵循设备技术要求。 不间断运行:对关键的部件和设备均采用冗余备份设计,同时采用UPS电源系统,确保系统安全可靠的连续运行。 (3)开放性和扩充性 在设备选型上,选择业界著名厂商的产品,以提供更为完善全面的技术支持和售后服务。选择符合国际标准及业界流行成熟的工业标准的设备,以便对技术的未来发展提供保证。 系统结构配置,采用具有最佳升级途径的配置,一是结构合理,二是升级代价最小,保证系统具有良好的可升级性。 随着业务的发展,海军工程大学校园网络面临的任务将会愈来愈繁重,信息资源范

计算机网络系统设计项目方案

计算机网络系统设计项目方案 1概述 1.1设计依据 相关专业的设计应符合国家现行设计规,并参考地方相应规包括: ?《博达国际公共服务大厦楼宇智能系统设计与总包工程招标文件》 ?中华人民国建设部《智能建筑设计标准》 ?中华人民全部《计算机网络安全条例》 ?BS800,EN55014 –无线电干扰极限 ?ITU-T国际电联联盟–电信标准委员会 ?ISO/IEC DIS 11801建筑及建筑群结构化综合布线系统国际标准 ?IEEE802.3以太网标准 ?EIA/TIA 568A、569、606、607及570A标准 1.2设计原则 先进性:采用国际上先进而成熟的网络技术产品,服务器产品及其完善的应用软件系统,保证信息系统的通信速度,适应大量的数据和多媒体信息传输、处理、交换的需要,应有一定的扩充与发展空间,使整个网络系统具有较强的生命力。保证各种信息(数据、语音、图象)的高质量传输,才能使网络不成为网络业务开展的瓶颈。 可靠性、稳定性:计算机网络作为办公楼的基础设施,稳定性和可靠性是网络建设的非常重要的指标。在设计方案中,在充分体现方案技术先进性的同时,并能保证技术的成熟性。在网络设备及结构等方面均应达到国际和国家相应的标准指标和要求,并满足需要。 实用性:计算机网络建设强调网络系统与网络应用并重,先进实用,具有较强的可操

作性;易于管理维护、便于扩充发展。支持国际上通用标准的网络协议、国际标准的大型的动态路由协议等开放协议,有利于保证与其它网络(如公共数据网、金融网络)之间的平滑连接互通,以及将来网络的扩展。 可管理性共服务大厦的计算机网络息点数达 4257多个,以后还将进一步扩充,网络中不仅包括很多网络设备,还要划分子网和虚拟子网,网络性能管理也会变得比较复杂。因此,在方案设计中,不仅要保证全部设备的可管理性,还要给出交换机/网络性能管理软件,以满足统一、集中管理的需求,使得使用最少的人力就可以保证网络的日常维护。管理人员能够通过单一网管平台监测和控制所有的网络设备及端口。网络设备应尽量集中存放,以满足管理及外界条件的要求。 安全性:所有设备的选型以及操作系统、应用软件系统的选择应该满足防止设备损坏、数据和其他资源的丢失和破坏,防止外部非法入侵以及对网络的非授权使用。 可扩展性:在网络设计中还应考虑网络今后的扩充能力,所采用的设备应全部为生产厂家的主流产品,使今后网络节点的增加、向ATM等新技术的过渡能平滑进行,不会对现有网络结构作重大调整或是淘汰已有的设备,最大程度保证用户的投资回报率。 合理性:网络建设必须考虑技术与经济上的合理性,应具有较高的性能价格比。必须考虑网络系统在全寿命期的全部建设维持费用的合理及可承受性。 2计算机网络系统 2.1设备选型考虑 网络系统硬件平台是整个工程的物理基础,设备选型是一个重要而关键的问题。 根据我们的工程经验和专家的意见,我们根据以下标准选择厂商: 1) 设备性能价格比:设备的性能价格比是选型决策的重要考虑因素。 2) 售后服务包括如下容:设备的保修期;是否在中国有备件库,这样一旦发生硬件故障时可以及时得到更换;是否提供ONLINE服务,以便与原制造厂商及时取得联系,获

简述计算机系统设计的主要方法

1.简述计算机系统设计的主要方法。 答:基于计算机系统层次结构的基础上,其计算机系统设计 方法可以有以下的三种: 方法1:由上向下(Top-Down) 设计过程:面向应用的数学模型→面向应用的高级语言→面向这种应用的操作系统→面向操作系统和高级语言的机器语言→面向机器语言的微指令系统和硬件实现。应用场合:专用计算机的设计(早期计算机的设计)。特点:对于所面向的应用领域,性能(性能价格比)很高。随着通用计算机价格降低,目前已经很少采用。 方法2:由下向上(Bottom-Up)(通用计算机系统的一种设计方法) 设计过程:根据当时的器件水平,设计微程序机器级和传统机器级。根据不同的应用领域设计多种操作系统、汇编语言、高级语言编译器等。最后设计面向应用的虚拟机器级。应用场合:在计算机早期设计中(60~70年代)广为采用。特点:容易使软件和硬件脱节,整个计算机系统的效率降低。 方法3:中间开始(Middle-Out) 设计过程:首先定义软硬件的分界面。然后各个层次分别进行设计。应用场合:用于系列机的设计。特点:软硬件的分界面在上升,硬件比例在增加。硬件价格下降,软件价格上升。软硬件人员结合共同设计。 2. 一般来讲,计算机组成设计要确定的内容应包括那些方面? 答:(1)数据通路的宽度; (2)专用部件的设置;(3)各种操作对部件的共享程度; (4)功能部件的并行度;(5)控制机构的组成方式;(6)缓冲和排队技术;(7)预估,预判技术(8)可靠性技术。 3. 简述计算机系统结构用软件实现和用硬件实现各自的优缺点。 答:计算机系统结构用硬件实现:速度快、成本高;灵活性差、占用内存少。用软件实现:速度低、复制费用低;灵活性好、占用内存多。 4.简述冯.诺依曼计算机的特征。 答:计算机的工作过程就是执行程序的过程。怎样组织程序,涉及到计算机体系结构问题。现在的计算机都是基于“程序存储”概念设计制造出来的。 (l)冯.诺依曼(V on Neumann)的“程序存储”设计思想冯.诺依曼是美籍匈牙利数学家,他在1946年提出了关于计算机组成和工作方式的基本设想。到现在为止,尽管计算机制造技术已经发生了极大的变化,但是就其体系结构而言,

文件加密系统课程设计

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

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

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

计算机信息管理系统设计原则与原理

计算机信息管理系统设计原则与原理 计算机信息管理系统作为计算机领域的一个重要部分,是由计算机和人共同组成的,这个系统能够进行数据的传递、收集、加工、存储、使用和维护。计算机管理系统是由四个部分以及三大支柱组成的:四个部分分别是信息处理器、信息源、信息管理者、信息用户;三大支柱分别是数据库、计算机网络、现代化管理。 1 计算机信息管理系统概述。 通过计算机信息管理系统,人们能够较为高效的获取一些需要的信息,所以这一系统不止能够在组织或者企业的管理经营中进行运用,应用的领域越来越广泛。 中国的水利网站曾经有这样一篇报道,国家水利部将以网络平台和计算机为依托将农村安全饮水的管理水平进行进一步的提升;河北日报也曾有过一篇关于这方面的报道,在2013 年10 月1 日,在所有的教练车上安装了一个系统软件,该软件就是计算机信息管理系统,是为了进一步防止学车的学员“偷工减料”.在这些报道中能够充分看出计算机管理系统在社会中发挥的作用越来越大,所以将计算机信息管理系统的一系列运作原理弄明白非常有必要。 计算机信息管理系统是以计算机为工具,通过收集、存储、分析和处理数据,得出管理人员所需信息的系统,能够对数据库、计算机网络以及现代化的各种管理方式充分的进行利用,将统计学、会计学、数学以及经济学等一系列模型进行充分的利用,对数据具有非常强大的作用。比如,企业中的信息管理系统能帮助管理人员进行质量分析、市场预测、库存控制等工作。

总的来说,计算机信息管理系统具有的作用包括协助人员分析、处理、控制、预测数据以及对决策进行辅助。 2 计算机信息管理系统设计应遵循的原则 当下这个时代是瞬息万变的,随着计算机信息管理系统发展的不断深入,系统不稳定、信息的安全性缺乏保障等一系列问题逐渐暴露出来。为避免这些问题的出现,在设计的过程中需要遵循以下原则: 2.1 与时俱进 随着科技的不断进步与发展,计算机系统不能只在最初设计的技术层面上止步不前,要随着新技术的不断研发,对该系统的功能不断进行更新;此外,我们所处的时代是一个信息大爆炸的时代,在该系统中要及时替换和更新数据库中的信息;计算机信息网络的管理水平也要紧跟上时代的步伐,与前沿的技术及综合水平要保持一致,才能更好的为社会的发展提供技术和智力的支撑。 2.2 重视信息安全 在进行设计的过程中,在子系统进行工作时编程人员要保证其独立性,互相之间不能出现干扰。此外,计算机信息管理系统往往以网络为依托,而网络信息具备共享性的特点,因此一定要高度重视信息的安全。在这一系统中,要对局域网进行限制,如果使用该系统时不在局域网之内,一定要选择客户端的方式进行登录,以保证信息的安全。 2.3 运用跨平台方案 计算机信息管理系统中可以选择运用跨平台的方案,如此一来不仅节省了维护信息的费用,还有利于促进更新系统管理的相关设备,不断完善计算机信息系统。

相关文档
最新文档