1、数学思维能力训练的生活化
数学思维能力的训练尽量与实际生活紧密相连,在课堂教学中的教学内容要面对生活实践,为学生营造1种宽松平等而又充满智力活动的氛围,使学生自然而然地受到创新性思维的训练。由于学生的思维的创造性是1种心智技能活动,是内在的隐性活动,因此,必须借助外在的动作技能、显性活动作基础。在教学中,要结合学生的生活经验,引导学生通过“再创造”来学习知识,以培养学生的思维能力为目的,达到能力的创新。在教学《接近整百整10数加减法的简便算法》时,有这样1题“165-97=165-100+3”,学生对减100时要加上3,难以理解,我就让学生联系买东西找0的生活实际想:妈妈带了165元钱去医药商店买了1盒97元的西洋参。她付给营业员1张百元钞票(应把165元减去100元),营业员找回3元,(应加上3元)。所以,多减去的要3应该加上。这样教学,抽象的运算获得了经验的支持,具体的经验也经过1番梳理和提炼,上升为理论上的简便运算,从而又总结出“多减要加上,多加要减去,少加要再加,少减要再减”的速算规律,达到良好的教学效果。
2、应用题教学紧密联系学生的实际生活。
应用题训练“生活化”是指把应用题与生活中的问题联系起来,懂得生活中的1般道理,再去理解数量关系,理解了的数量关系再运用到生活中去解决实际问题。例如在教学3步计算应用题时,我把书上的例题该为和学生生活接近的问题“要求我们3年级1共有多少人?你会想什么办法知道?”于是有的学生说去问班主任每个班有多少人再加起来就可以了;还有学生说去问教导主任;还有学生说到学校的校长办公室直接查电脑就行了不用算。通过学生自己动脑筋想出了各种解决问题的办法使学生的学习欲望大增,学习兴趣高涨。通过这样的活动,学生不但掌握了知识点,更重要的是通过它让学生展开了想象的翅膀,使他们体验到学习知识的快乐,掌握了技能,激发了他们的自主创新意识。
② 数据加密技术在未来网络安全技术中的作用和地位
数据加密技术在计算机网络安全中的应用价值
互联网行业遍布人们日常生活的方方面面,但是在带来便利的同时也带来了很多潜在的危险,尤其是互联网的系统安全和信息数据安全成为首要问题,在这种情况下,数据加密技术的发展为计算机网络安全注入新的活力,为网络用户的信息安全带来保障。本文介绍了计算机网络安全的主要问题,即系统内部漏洞,程序缺陷和外界攻击,病毒感染和黑客的违法行为等。并且阐述了数据加密技术在计算机网络安全中的主要应用,比如保护系统安全,保护信息和个人隐私,以及其在电子商务中的广泛应用,可见数据加密技术为互联网网络行业的飞速发展有重要影响,并且随着数据加密技术的发展,必然会在未来在互联网网络安全中发挥更大的作用。
【关键词】网络安全 数据加密 个人信息 互联网
1 引言
伴随着信息化时代的发展,互联网行业像一股席卷全球的浪潮,给人们的生活带来翻天覆地的变化,为传统行业注入了新的活力。但是同时也带来了潜在的危机,当利用互联网处理数据成为一种常态后,数据的安全就成为不容忽视的问题。因此互联网行业面临着信息数据泄露或被篡改的危险,这也是互联网行业最主要的问题。在这种形势下,数据加密技术应运而生,成为现在互联网数据安全保障最有效的方式,毋庸置疑,数据加密技术在解决信息保密的问题中起到了十分重要的作用,进而在全球很大范围内得到了广泛应用,为互联网行业的发展贡献了不可或缺的力量,有着十分重要的意义。
2 网络安全问题――数据加密技术应用背景
2.1 内部漏洞
计算机网络安全问题来自内部漏洞和外界入侵,内部漏洞是指服务器本身的缺陷,网络运行是无数个程序运行实现的,但是程序极有可能存在一定的漏洞,尤其是现在的网络操作都是不同用户,不同端口同时进行,一旦其中一个端口受到入侵,其他用户也会受到影响,这样就形成一个网络漏洞,造成整个系统无法正常运行。除此之外,如果程序中存在的漏洞没有被及时发现和正确处理,很可能被不法分子所利用,进行网络入侵,损害信息数据安全,威胁计算机网络安全。
2.2 外界攻击
外界攻击就是指计算机网络安全被不法分子利用特殊的程序进行破坏,不仅会使计算机网络系统遭到难以估量的破坏,更使重要信息数据泄露,造成惨重损失。尤其是现在随着互联网的发展,人们对于自己的隐私和信息有很强的保护意识,但是社交网络应用和网址端口的追踪技术让这些信息数据的安全性有所降低。如果计算机网络被严重破坏,个人信息和重要数据很容易被盗取,甚至会对原本的程序进行恶意修改,使其无法正常运行,这个被破坏的程序就成为一个隐患,一旦有数据通过此程序进行处理,就会被盗取或者篡改。
3 数据加密技术应用于网络安全的优势分析
3.1 巧妙处理数据
数据加密技术对数据进行保护和处理,使数据就成为一种看不懂的代码,只有拥有密码才能读到原本的信息文本,从而达到保护数据的目的。而数据加密技术基本有两种,一种是双方交换彼此密码,另一种是双方共同协商保管同一个密码,手段不同,但是都能有效地保护信息数据安全。
3.2 应用领域广泛
数据加密技术广泛于各个方面,保护了计算机系统和互联网时代的个人信息,维护了重要数据,避免被黑客轻易攻击盗取信息,同时也促进了电子商务等行业的发展,并且使人们对于网络生活有了更高的信任度。相信通过不断提升,数据加密技术会得到更加广泛深刻的应用。
4 数据加密技术在网络安全中的应用探索
4.1 更好维护网络系统
目前,计算机数据处理系统存在一定的漏洞,安全性有待提升,数据易受到盗取和损坏。利用数据加密技术对网络系统进行加密,从而实现对系统安全性的有效管理。同时,这种类型的加密也是十分常见而通用的,一般上网络用户会通过权限设置来对网络系统进行加密,比如我们的个人电脑开机密码就属于对网络系统进行加密,只有拥有密码才可以运行电脑程序,很好地保护了个人数据安全。或者,通过将数据加密技术科学合理运用,对外界信息进行检查和监测,对原本存在的信息实现了两重保护,利用防火墙的设置,只有拥有解锁每个文件的秘密,才能获得原本信息。
4.2 有力保障数据安全
计算机网络安全最重要的部分就是信息数据安全,尤其是处于信息时代,个人隐私和信息得到了前所未有的重视,也存在着很大的危险,而有了数据加密技术,这个问题便可迎刃而解。一般上,数据加密技术包括对数据的加密,维护,以及软件加密,设置相应权限,实时实地监控等,因为对数据进行了一定的保护和处理,使之成为一种看不懂的代码,只有拥有密码才能读到原本的信息文本,从而达到保护数据的目的。在这些基本操作的基础上,数据加密技术还拥有强大的备份能力,对该技术的数据资源能够严格控制,进行自我检测和修补漏洞,在防止外界攻击基础上进一步进行自我系统实时保护,全方位地加强计算机网络数据安全,也进一步保护了用户的个人信息。
4.3 促进电商等的发展
电商的崛起可以说是一个划时代的奇迹,现在越来越多的人投入到网购大军,使用移动终端进行缴费购物等大大便利了人们的日常生活,但是购物缴费就涉及到钱财交易,不少不法分子利用这一网络行为,不断用各种方法进行网络盗窃,给人们的财产造成巨大威胁。数据加密技术利用密码对用户的个人账户财产信息进行严格保密,不仅能够抵抗病毒和危险程序的破坏,而且也有效地防止了不法分子的违法行为,在很大程度上令人们在网络购物变得安全而放心,从而也促进了电商的发展,为我国经济可持续发展贡献力量。
5 数据加密技术前景展望
互联网飞速发展,为人民带来便利的同时也带来了潜在的危机,当利用互联网处理数据成为一种常态后,数??的安全就成为不容忽视的问题 ,计算机数据加密技术通过对网络系统和软件等加密,使原本的信息变成一种看不懂的代码,只用拥有密码才能读到原本信息,从而保护了计算机数据。这项技术已经广泛于各个方面,应用价值很高,不仅为电商的发展带来便利,更加保护了计算机系统和互联网时代的个人信息,维护了重要数据,避免被黑客轻易攻击盗取信息。相信通过不断提升,数据加密技术会得到更加广泛深刻的应用。
③ 生活中关于密码和加密相关的事件有哪些
商用密码与我们日常生活息息相关。不经意间,密码已经深入到了我们的生活。打开手机、电脑需要密码,取款、转账也需要密码,甚至登QQ、刷微信也需要密码……生活中到处都需要密码。
我们日常生活中常说的用户名“密码”只是“口令”,并不是密码法中的“密码”。“进不来”“拿不走”“看不懂”“改不了”“走不脱”。
是密码在保障信息安全中发挥的身份认证、访问控制、机密性、完整性、不可抵赖性等作用的通俗表述。网络连到哪,数据跑到哪,安全需求在哪,密码保障到哪。
密码学:
首先加密的产生要追溯到二战时期,在战争中己方的军队之间在传递战争信息的时候如果被敌方截获或者掉包,会发生十分惨重的后果。于是军方想出了一个主意,各部队负责接收和发送信息的士兵都保留一个密码本。
面记载着一些字和词汇对应被写成另一个字和词汇的对应关系,每次发送信息的时候按照密码本把真实信息对应翻译成语义不连贯的加密信息,对方接收到之后再按照相同的密码本翻译过来应用。
密码学就是由此衍生出的一门学科,随着一些相关的学科的发展,比如数学、通信,加密技术也愈加复杂。我们将被我们进行加密活动的原始内容称为消息,但是消息和信息还是有一些区别的,有些消息可能是没有信息量的,有些消息可能包含很多有效信息。
但是无论消息用途有多大,在加密活动中都是有意义的。我们可以通过对消息的一些处理得到明文,比如提炼、概括、翻译为另一种语言,等等,明文就是我们进行加密的主体。
明文经过一定的加密算法和加密密钥的翻译就会得到密文,如果对相关概念有了解的人应该能很好的理解这句话,如果不太了解算法和密钥是什么的话,就看一看小编下面的解释:我们可以把加密算法理解为一个数学公式。
可以把密钥理解为公式里面的参数,比如我们设计一个算法叫做W=ax,W是我们加密得到的密文,a就是密钥,x是我们需要加密的明文,发送明文的人把明文x代入公式W=ax计算出密文W,接收明文的人想要解开明文就用x=W/a计算。
虽然在实际加密中我们面对的消息是各种格式的,不能用一个数学公式一概而论,而且对于加密双密钥的情况参数a并不会被双方使用,但是大概意思是可以通过这样一个拿着参数计算和求解数学公式的原理来理解的。总之我们对原始的消息进行一定的处理(也可以不处理)得到了明文。
明文通过加密之后得到了密文,这时的消息已经不能够通过简单的观察被分析出来了,只有掌握一些关于密钥的信息或者应用解密算法才能够进行分析活动,而且往往不能够分析出完整的加密活动。
④ 信息加密技术的加密技术应用
在常规的邮政系统中,寄信人用信封隐藏其内容,这就是最基本的保密技术,而在电子商务中,有形的信封就不再成为其代表性的选择。为了实现电子信息的保密性,就必须实现该信息对除特定收信人以外的任何人都是不可读取的。而为了保证共享设计规范的贸易伙伴的信息安全性就必须采取一定的手段来隐藏信息,而隐藏信息的最有效手段便是加密。
保密通信,计算机密钥,防复制软盘等都属于信息加密技术。通信过程中的加密主要是采用密码,在数字通信中可利用计算机采用加密法,改变负载信息的数码结构。计算机信息保护则以软件加密为主。
⑤ 加密算法和技术在生活中的应用
RSA算法主要是在建立HTTP保密通信的时候来用,微软先在windows上保存了自己用的公钥,然后通过微软认证的人给我们发了一个认证的信息,我们就可以用windows上的公钥来解密同时确认那个认证是不是有效的。HHTP保密通信建立了以后,我们主要是通过AES加密算法来做数据通信。
我们平时都是用用户名和密码来登陆网站,但是如果将用户名和密码直接发送到网站是有风险的,如果网站被别人攻击,人家就会拿到我们的用户和密码,一般的做法是将密码用SHA算法处理以后,将sha算法的结果发给网站。因为通过sha的结果不能算出输入的数据。所以攻击的人只能是拿到用户,他拿不到密码。
⑥ 详解加密技术概念、加密方法以及应用
随着网络技术的发展,网络安全也就成为当今网络 社会 的焦点中的焦点,几乎没有人不在谈论网络上的安全问题,病毒、黑客程序、邮件炸弹、远程侦听等这一切都无不让人胆战心惊。病毒、黑客的猖獗使身处今日网络 社会 的人们感觉到谈网色变,无所适从。
但我们必需清楚地认识到,这一切一切的安全问题我们不可一下全部找到解决方案,况且有的是根本无法找到彻底的解决方案,如病毒程序,因为任何反病毒程序都只能在新病毒发现之后才能开发出来,目前还没有哪能一家反病毒软件开发商敢承诺他们的软件能查杀所有已知的和未知的病毒,所以我们不能有等网络安全了再上网的念头,因为或许网络不能有这么一日,就象“矛”与“盾”,网络与病毒、黑客永远是一对共存体。
现代的电脑加密技术就是适应了网络安全的需要而应运产生的,它为我们进行一般的电子商务活动提供了安全保障,如在网络中进行文件传输、电子邮件往来和进行合同文本的签署等。其实加密技术也不是什么新生事物,只不过应用在当今电子商务、电脑网络中还是近几年的 历史 。下面我们就详细介绍一下加密技术的方方面面,希望能为那些对加密技术还一知半解的朋友提供一个详细了解的机会!
一、加密的由来
加密作为保障数据安全的一种方式,它不是现在才有的,它产生的 历史 相当久远,它是起源于要追溯于公元前2000年(几个世纪了),虽然它不是现在我们所讲的加密技术(甚至不叫加密),但作为一种加密的概念,确实早在几个世纪前就诞生了。当时埃及人是最先使用特别的象形文字作为信息编码的,随着时间推移,巴比伦、美索不达米亚和希腊文明都开始使用一些方法来保护他们的书面信息。
近期加密技术主要应用于军事领域,如美国独立战争、美国内战和两次世界大战。最广为人知的编码机器是German Enigma机,在第二次世界大战中德国人利用它创建了加密信息。此后,由于Alan Turing和Ultra计划以及其他人的努力,终于对德国人的密码进行了破解。当初,计算机的研究就是为了破解德国人的密码,人们并没有想到计算机给今天带来的信息革命。随着计算机的发展,运算能力的增强,过去的密码都变得十分简单了,于是人们又不断地研究出了新的数据加密方式,如利用ROSA算法产生的私钥和公钥就是在这个基础上产生的。
二、加密的概念
数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。
三、加密的理由
当今网络 社会 选择加密已是我们别无选择,其一是我们知道在互联网上进行文件传输、电子邮件商务往来存在许多不安全因素,特别是对于一些大公司和一些机密文件在网络上传输。而且这种不安全性是互联网存在基础——TCP/IP协议所固有的,包括一些基于TCP/IP的服务;另一方面,互联网给众多的商家带来了无限的商机,互联网把全世界连在了一起,走向互联网就意味着走向了世界,这对于无数商家无疑是梦寐以求的好事,特别是对于中小企业。为了解决这一对矛盾、为了能在安全的基础上大开这通向世界之门,我们只好选择了数据加密和基于加密技术的数字签名。
加密在网络上的作用就是防止有用或私有化信息在网络上被拦截和窃取。一个简单的例子就是密码的传输,计算机密码极为重要,许多安全防护体系是基于密码的,密码的泄露在某种意义上来讲意味着其安全体系的全面崩溃。
通过网络进行登录时,所键入的密码以明文的形式被传输到服务器,而网络上的窃听是一件极为容易的事情,所以很有可能黑客会窃取得用户的密码,如果用户是Root用户或Administrator用户,那后果将是极为严重的。
还有如果你公司在进行着某个招标项目的投标工作,工作人员通过电子邮件的方式把他们单位的标书发给招标单位,如果此时有另一位竞争对手从网络上窃取到你公司的标书,从中知道你公司投标的标的,那后果将是怎样,相信不用多说聪明的你也明白。
这样的例子实在是太多了,解决上述难题的方案就是加密,加密后的口令即使被黑客获得也是不可读的,加密后的标书没有收件人的私钥也就无法解开,标书成为一大堆无任何实际意义的乱码。总之无论是单位还是个人在某种意义上来说加密也成为当今网络 社会 进行文件或邮件安全传输的时代象征!
数字签名就是基于加密技术的,它的作用就是用来确定用户是否是真实的。应用最多的还是电子邮件,如当用户收到一封电子邮件时,邮件上面标有发信人的姓名和信箱地址,很多人可能会简单地认为发信人就是信上说明的那个人,但实际上伪造一封电子邮件对于一个通常人来说是极为容易的事。在这种情况下,就要用到加密技术基础上的数字签名,用它来确认发信人身份的真实性。
类似数字签名技术的还有一种身份认证技术,有些站点提供入站FTP和WWW服务,当然用户通常接触的这类服务是匿名服务,用户的权力要受到限制,但也有的这类服务不是匿名的,如某公司为了信息交流提供用户的合作伙伴非匿名的FTP服务,或开发小组把他们的Web网页上载到用户的WWW服务器上,现在的问题就是,用户如何确定正在访问用户的服务器的人就是用户认为的那个人,身份认证技术就是一个好的解决方案。
在这里需要强调一点的就是,文件加密其实不只用于电子邮件或网络上的文件传输,其实也可应用静态的文件保护,如PIP软件就可以对磁盘、硬盘中的文件或文件夹进行加密,以防他人窃取其中的信息。
四、两种加密方法
加密技术通常分为两大类:“对称式”和“非对称式”。
对称式加密就是加密和解密使用同一个密钥,通常称之为“Session Key ”这种加密技术目前被广泛采用,如美国政府所采用的DES加密标准就是一种典型的“对称式”加密法,它的Session Key长度为56Bits。
非对称式加密就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥”和“私钥”,它们两个必需配对使用,否则不能打开加密文件。这里的“公钥”是指可以对外公布的,“私钥”则不能,只能由持有人一个人知道。它的优越性就在这里,因为对称式的加密方法如果是在网络上传输加密文件就很难把密钥告诉对方,不管用什么方法都有可能被别窃听到。而非对称式的加密方法有两个密钥,且其中的“公钥”是可以公开的,也就不怕别人知道,收件人解密时只要用自己的私钥即可以,这样就很好地避免了密钥的传输安全性问题。
五、加密技术中的摘要函数(MAD、MAD和MAD)
摘要是一种防止改动的方法,其中用到的函数叫摘要函数。这些函数的输入可以是任意大小的消息,而输出是一个固定长度的摘要。摘要有这样一个性质,如果改变了输入消息中的任何东西,甚至只有一位,输出的摘要将会发生不可预测的改变,也就是说输入消息的每一位对输出摘要都有影响。总之,摘要算法从给定的文本块中产生一个数字签名(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算法的一个扩展。
六、密钥的管理
密钥既然要求保密,这就涉及到密钥的管理问题,管理不好,密钥同样可能被无意识地泄露,并不是有了密钥就高枕无忧,任何保密也只是相对的,是有时效的。要管理好密钥我们还要注意以下几个方面:
1、密钥的使用要注意时效和次数
如果用户可以一次又一次地使用同样密钥与别人交换信息,那么密钥也同其它任何密码一样存在着一定的安全性,虽然说用户的私钥是不对外公开的,但是也很难保证私钥长期的保密性,很难保证长期以来不被泄露。如果某人偶然地知道了用户的密钥,那么用户曾经和另一个人交换的每一条消息都不再是保密的了。另外使用一个特定密钥加密的信息越多,提供给窃听者的材料也就越多,从某种意义上来讲也就越不安全了。
因此,一般强调仅将一个对话密钥用于一条信息中或一次对话中,或者建立一种按时更换密钥的机制以减小密钥暴露的可能性。
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传给它的标签传给用户乙以确定用户乙的身份,然后用户甲和用户乙之间就可以用会话密钥进行安全的会话了,而且为了保证安全,这个会话密钥是一次性的,这样黑客就更难进行破解了。同时由于密钥是一次性由系统自动产生的,则用户不必记那么多密钥了,方便了人们的通信。
七、数据加密的标准
随着计算机硬件的速度越来越快,制造一台这样特殊的机器的花费已经降到了十万美元左右,而用它来保护十亿美元的银行,那显然是不够保险了。另一方面,如果只用它来保护一台普通服务器,那么DES确实是一种好的办法,因为黑客绝不会仅仅为入侵一个服务器而花那么多的钱破解DES密文。
另一种非常着名的加密算法就是RSA了,RSA(Rivest-Shamir-Adleman)算法是基于大数不可能被质因数分解假设的公钥体系。简单地说就是找两个很大的质数。一个对外公开的为“公钥”(Prblic key) ,另一个不告诉任何人,称为"私钥”(Private key)。这两个密钥是互补的,也就是说用公钥加密的密文可以用私钥解密,反过来也一样。
假设用户甲要寄信给用户乙,他们互相知道对方的公钥。甲就用乙的公钥加密邮件寄出,乙收到后就可以用自己的私钥解密出甲的原文。由于别人不知道乙的私钥,所以即使是甲本人也无法解密那封信,这就解决了信件保密的问题。另一方面,由于每个人都知道乙的公钥,他们都可以给乙发信,那么乙怎么确信是不是甲的来信呢?那就要用到基于加密技术的数字签名了。
甲用自己的私钥将签名内容加密,附加在邮件后,再用乙的公钥将整个邮件加密(注意这里的次序,如果先加密再签名的话,别人可以将签名去掉后签上自己的签名,从而篡改了签名)。这样这份密文被乙收到以后,乙用自己的私钥将邮件解密,得到甲的原文和数字签名,然后用甲的公钥解密签名,这样一来就可以确保两方面的安全了。
八、加密技术的应用
加密技术的应用是多方面的,但最为广泛的还是在电子商务和VPN上的应用,下面就分别简叙。
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)都是在专用网络上完成的,使用专用网的费用大大高于互联网。正是这样巨大的诱惑,才使人们开始发展因特网上的电子商务,但不要忘记数据加密。
2、加密技术在VPN中的应用
现在,越多越多的公司走向国际化,一个公司可能在多个国家都有办事机构或销售中心,每一个机构都有自己的局域网LAN(Local Area Network),但在当今的网络 社会 人们的要求不仅如此,用户希望将这些LAN连结在一起组成一个公司的广域网,这个在现在已不是什么难事了。
事实上,很多公司都已经这样做了,但他们一般使用租用专用线路来连结这些局域网 ,他们考虑的就是网络的安全问题。现在具有加密/解密功能的路由器已到处都是,这就使人们通过互联网连接这些局域网成为可能,这就是我们通常所说的虚拟专用网(Virtual Private Network ,VPN)。当数据离开发送者所在的局域网时,该数据首先被用户湍连接到互联网上的路由器进行硬件加密,数据在互联网上是以加密的形式传送的,当达到目的LAN的路由器时,该路由器就会对数据进行解密,这样目的LAN中的用户就可以看到真正的信息了。
⑦ 网络中有什么地方需要用到数据加密技术
加密技术是网络安全技术的基石。 数据加密技术要求只有在指定的用户或网络下,才能解除密码而获得原来的数据,这就需要给数据发送方和接受方以一些特殊的信息用于加解密,这就是所谓的密钥。其密钥的值是从大量的随机数中选取的。按加密算法分为专用密钥和公开密钥两种。 专用密钥,又称为对称密钥或单密钥,加密和解密时使用同一个密钥,即同一个算法。如DES和MIT的Kerberos算法。单密钥是最简单方式,通信双方必须交换彼此密钥,当需给对方发信息时,用自己的加密密钥进行加密,而在接收方收到数据后,用对方所给的密钥进行解密。当一个文本要加密传送时,该文本用密钥加密构成密文,密文在信道上传送,收到密文后用同一个密钥将密文解出来,形成普通文体供阅读。在对称密钥中,密钥的管理极为重要,一旦密钥丢失,密文将无密可保。这种方式在与多方通信时因为需要保存很多密钥而变得很复杂,而且密钥本身的安全就是一个问题。 对称密钥是最古老的,一般说“密电码”采用的就是对称密钥。由于对称密钥运算量小、速度快、安全强度高,因而目前仍广泛被采用。 DES是一种数据分组的加密算法,它将数据分成长度为64位的数据块,其中8位用作奇偶校验,剩余的56位作为密码的长度。第一步将原文进行置换,得到64位的杂乱无章的数据组;第二步将其分成均等两段;第三步用加密函数进行变换,并在给定的密钥参数条件下,进行多次迭代而得到加密密文。 公开密钥,又称非对称密钥,加密和解密时使用不同的密钥,即不同的算法,虽然两者之间存在一定的关系,但不可能轻易地从一个推导出另一个。有一把公用的加密密钥,有多把解密密钥,如RSA算法。 非对称密钥由于两个密钥(加密密钥和解密密钥)各不相同,因而可以将一个密钥公开,而将另一个密钥保密,同样可以起到加密的作用。 在这种编码过程中,一个密码用来加密消息,而另一个密码用来解密消息。在两个密钥中有一种关系,通常是数学关系。公钥和私钥都是一组十分长的、数字上相关的素数(是另一个大数字的因数)。有一个密钥不足以翻译出消息,因为用一个密钥加密的消息只能用另一个密钥才能解密。每个用户可以得到唯一的一对密钥,一个是公开的,另一个是保密的。公共密钥保存在公共区域,可在用户中传递,甚至可印在报纸上面。而私钥必须存放在安全保密的地方。任何人都可以有你的公钥,但是只有你一个人能有你的私钥。它的工作过程是:“你要我听你的吗?除非你用我的公钥加密该消息,我就可以听你的,因为我知道没有别人在偷听。只有我的私钥(其他人没有)才能解密该消息,所以我知道没有人能读到这个消息。我不必担心大家都有我的公钥,因为它不能用来解密该消息。” 公开密钥的加密机制虽提供了良好的保密性,但难以鉴别发送者,即任何得到公开密钥的人都可以生成和发送报文。数字签名机制提供了一种鉴别方法,以解决伪造、抵赖、冒充和篡改等问题。 数字签名一般采用非对称加密技术(如RSA),通过对整个明文进行某种变换,得到一个值,作为核实签名。接收者使用发送者的公开密钥对签名进行解密运算,如其结果为明文,则签名有效,证明对方的身份是真实的。当然,签名也可以采用多种方式,例如,将签名附在明文之后。数字签名普遍用于银行、电子贸易等。 数字签名不同于手写签字:数字签名随文本的变化而变化,手写签字反映某个人个性特征,是不变的;数字签名与文本信息是不可分割的,而手写签字是附加在文本之后的,与文本信息是分离的。 值得注意的是,能否切实有效地发挥加密机制的作用,关键的问题在于密钥的管理,包括密钥的生存、分发、安装、保管、使用以及作废全过程。
⑧ 开发中常见的加密方式及应用
开发中常见的加密方式及应用
一、base64
简述:Base64是网络上最常见的用于传输8Bit 字节码 的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。所有的数据都能被编码为并只用65个字符就能表示的文本文件。( 65字符:A~Z a~z 0~9 + / = )编码后的数据~=编码前数据的4/3,会大1/3左右(图片转化为base64格式会比原图大一些)。
应用:Base64编码是从二进制到字符的过程,可用于在 HTTP 环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base64来将一个较长的唯一 标识符 (一般为128-bit的UUID)编码为一个字符串,用作HTTP 表单 和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制 数据编码 为适合放在URL(包括隐藏 表单域 )中的形式。此时,采用Base64编码具有不可读性,需要解码后才能阅读。
命令行进行Base64编码和解码
编码:base64 123.png -o 123.txt
解码:base64 123.txt -o test.png -D Base64编码的原理
原理:
1)将所有字符转化为ASCII码;
2)将ASCII码转化为8位二进制;
3)将二进制3个归成一组(不足3个在后边补0)共24位,再拆分成4组,每组6位;
4)统一在6位二进制前补两个0凑足8位;
5)将补0后的二进制转为十进制;
6)从Base64编码表获取十进制对应的Base64编码;
Base64编码的说明:
a.转换的时候,将三个byte的数据,先后放入一个24bit的缓冲区中,先来的byte占高位。
b.数据不足3byte的话,于缓冲区中剩下的bit用0补足。然后,每次取出6个bit,按照其值选择查表选择对应的字符作为编码后的输出。
c.不断进行,直到全部输入数据转换完成。
d.如果最后剩下两个输入数据,在编码结果后加1个“=”;
e.如果最后剩下一个输入数据,编码结果后加2个“=”;
f.如果没有剩下任何数据,就什么都不要加,这样才可以保证资料还原的正确性。
二、HASH加密/单向散列函数
简述:Hash算法特别的地方在于它是一种单向算法,用户可以通过Hash算法对目标信息生成一段特定长度(32个字符)的唯一的Hash值,却不能通过这个Hash值重新获得目标信息。对用相同数据,加密之后的密文相同。 常见的Hash算法有MD5和SHA。由于加密结果固定,所以基本上原始的哈希加密已经不再安全,于是衍生出了加盐的方式。加盐:先对原始数据拼接固定的字符串再进行MD5加密。
特点:
1) 加密 后密文的长度是定长(32个字符的密文)的
2)如果明文不一样,那么散列后的结果一定不一样
3)如果明文一样,那么加密后的密文一定一样(对相同数据加密,加密后的密文一样)
4)所有的加密算法是公开的
5)不可以逆推反算(不能根据密文推算出明文),但是可以暴力 破解 ,碰撞监测
原理:MD5消息摘要算法,属Hash算法一类。MD5算法对输入任意长度的消息进行运行,产生一个128位的消息摘要。
1)数据填充
对消息进行数据填充,使消息的长度对512取模得448,设消息长度为X,即满足X mod 512=448。根据此公式得出需要填充的数据长度。
填充方法:在消息后面进行填充,填充第一位为1,其余为0。
2)添加信息长度
在第一步结果之后再填充上原消息的长度,可用来进行的存储长度为64位。如果消息长度大于264,则只使用其低64位的值,即(消息长度 对264取模)。
在此步骤进行完毕后,最终消息长度就是512的整数倍。
3)数据处理
准备需要用到的数据:
4个常数:A = 0x67452301, B = 0x0EFCDAB89, C = 0x98BADCFE, D = 0x10325476;
4个函数:F(X,Y,Z)=(X & Y) | ((~X) & Z);G(X,Y,Z)=(X & Z) | (Y & (~Z));H(X,Y,Z)=X ^ Y ^ Z;I(X,Y,Z)=Y ^ (X | (~Z));
把消息分以512位为一分组进行处理,每一个分组进行4轮变换,以上面所说4个常数为起始变量进行计算,重新输出4个变量,以这4个变量再进行下一分组的运算,如果已经是最后一个分组,则这4个变量为最后的结果,即MD5值。
三、对称加密
经典算法:
1)DES数据加密标准
DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。
DES算法是这样工作的:如Mode为加密,则用Key去把数据Data进行加密, 生成Data的密码形式(64位)作为DES的输出结果;如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果。在通信网络的两端,双方约定一致的Key,在通信的源点用Key对核心数据进行DES加密,然后以密码形式在公共通信网(如电话网)中传输到通信网络的终点,数据到达目的地后,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。这样,便保证了核心数据(如PIN、MAC等)在公共通信网中传输的安全性和可靠性。
2)3DES使用3个密钥,对消息进行(密钥1·加密)+(密钥2·解密)+(密钥3·加密)
3)AES高级加密标准
如图,加密/解密使用相同的密码,并且是可逆的
四、非对称加密
特点:
1)使用公钥加密,使用私钥解密
2)公钥是公开的,私钥保密
3)加密处理安全,但是性能极差
经典算法RSA:
1)RSA原理
(1)求N,准备两个质数p和q,N = p x q
(2)求L,L是p-1和q-1的最小公倍数。L = lcm(p-1,q-1)
(3)求E,E和L的最大公约数为1(E和L互质)
(4)求D,E x D mode L = 1
五、数字签名
原理以及应用场景:
1)数字签名的应用场景
需要严格验证发送方身份信息情况
2)数字签名原理
(1)客户端处理
对"消息"进行HASH得到"消息摘要"
发送方使用自己的私钥对"消息摘要"加密(数字签名)
把数字签名附着在"报文"的末尾一起发送给接收方
(2)服务端处理
对"消息" HASH得到"报文摘要"
使用公钥对"数字签名"解密
对结果进行匹配
六、数字证书
简单说明:
证书和驾照很相似,里面记有姓名、组织、地址等个人信息,以及属于此人的公钥,并有认证机构施加数字签名,只要看到公钥证书,我们就可以知道认证机构认证该公钥的确属于此人。
数字证书的内容:
1)公钥
2)认证机构的数字签名
证书的生成步骤:
1)生成私钥openssl genrsa -out private.pem 1024
2)创建证书请求openssl req -new -key private.pem -out rsacert.csr
3)生成证书并签名,有效期10年openssl x509 -req -days 3650 -in rsacert.csr -signkey private.pem -out rsacert.crt
4)将PEM格式文件转换成DER格式openssl x509 -outform der -in rsacert.crt -out rsacert.der
5)导出P12文件openssl pkcs12 -export -out p.p12 -inkey private.pem -in rsacert.crt
iOS开发中的注意点:
1)在iOS开发中,不能直接使用PEM格式的证书,因为其内部进行了Base64编码,应该使用的是DER的证书,是二进制格式的;
2)OpenSSL默认生成的都是PEM格式的证书。
七、https
HTTPS和HTTP的区别:
超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息。HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。
为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。
HTTPS和HTTP的区别主要为以下四点:
1)https协议需要到ca申请证书,一般免费证书很少,需要交费。
2)http是 超文本传输协议 ,信息是明文传输,https则是具有 安全性 的 ssl 加密传输协议。
3)http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4)http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的 网络协议 ,比http协议安全。
5)SSL:Secure Sockets Layer安全套接字层;用数据加密(Encryption)技术,可确保数据在网络上传输过程中不会被截取及窃听。目前一般通用之规格为40 bit之安全标准,美国则已推出128 bit之更高安全标准,但限制出境。只要3.0版本以上之I.E.或Netscape 浏览器 即可支持SSL。目前版本为3.0。SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层:SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。