什么是对称加密技术?
对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥,这种方法在密码学中叫做对称加密算法,对称加密算法使用起来简单快捷,密钥较短,且破译困难,除了数据加密标准(DES),另一个对称密钥加密系统是国际数据加密算法(IDEA),它比DES的加密性好,而且对计算机功能要求也没有那么高。IDEA加密标准由 PGP(Pretty Good Privacy)系统使用。
对称加密算法在电子商务交易过程中存在几个问题:
1、要求提供一条安全的渠道使通讯双方在首次通讯时协商一个共同的密钥。直接的面对面协商可能是不现实而且难于实施的,所以双方可能需要借助于邮件和电话等其它相对不够安全的手段来进行协商;
2、密钥的数目难于管理。因为对于每一个合作者都需要使用不同的密钥,很难适应开放社会中大量的信息交流;
3、对称加密算法一般不能提供信息完整性的鉴别。它无法验证发送者和接受者的身份;
4、对称密钥的管理和分发工作是一件具有潜在危险的和烦琐的过程。对称加密是基于共同保守秘密来实现的,采用对称加密技术的贸易双方必须保证采用的是相同的密钥,保证彼此密钥的交换是安全可靠的,同时还要设定防止密钥泄密和更改密钥的程序。
假设两个用户需要使用对称加密方法加密然后交换数据,则用户最少需要2个密钥并交换使用,如果企业内用户有n个,则整个企业共需要n×(n-1) 个密钥,密钥的生成和分发将成为企业信息部门的恶梦。
常见的对称加密算法有DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES
什么是非对称加密技术
1976年,美国学者Dime和Henman为解决信息公开传送和密钥管理问题,提出一种新的密钥交换协议,允许在不安全的媒体上的通讯双方交换信息,安全地达成一致的密钥,这就是“公开密钥系统”。相对于“对称加密算法”这种方法也叫做“非对称加密算法”。
与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。
非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。甲方只能用其专用密钥解密由其公用密钥加密后的任何信息。
非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要,但加密和解密花费时间长、速度慢,它不适合于对文件加密而只适用于对少量数据进行加密。
如果企业中有n个用户,企业需要生成n对密钥,并分发n个公钥。由于公钥是可以公开的,用户只要保管好自己的私钥即可(企业分发后一般保存的是私钥,用户拿的是公钥),因此加密密钥的分发将变得十分简单。同时,由于每个用户的私钥是唯一的,其他用户除了可以可以通过信息发送者的公钥来验证信息的来源是否真实,还可以确保发送者无法否认曾发送过该信息。非对称加密的缺点是加解密速度要远远慢于对称加密,在某些极端情况下,甚至能比非对称加密慢上1000倍。
非对称加密的典型应用是数字签名。
常见的非对称加密算法有:RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)
企业加密系统应用 常用加密算法介绍
对称加密、非对称加密、hash加密(md5加密是典型应用)
Hash算法
Hash算法特别的地方在于它是一种单向算法,用户可以通过Hash算法对目标信息生成一段特定长度的唯一的Hash值,却不能通过这个Hash值重新获得目标信息。因此Hash算法常用在不可还原的密码存储、信息完整性校验等。
常见的Hash算法有MD2、MD4、MD5、HAVAL、SHA
加密算法的效能通常可以按照算法本身的复杂程度、密钥长度(密钥越长越安全)、加解密速度等来衡量。上述的算法中,除了DES密钥长度不够、MD2速度较慢已逐渐被淘汰外,其他算法仍在目前的加密系统产品中使用。
分享到:
相关推荐
根据加密过程中使用的密钥类型,加密算法大致可以分为两大类:**对称加密算法**和**非对称加密算法**。此外,还有一类特殊的加密算法——**散列(Hash)算法**,用于生成数据的摘要信息。 ### 对称加密算法 对称...
5.用对称密钥对(原文和签名)进行加密 6.用对方的公钥对称密钥进行加密(加密密钥) 7.将密文(5)和加密密钥(6)一起发给对方 接收方: 1.用自己的私钥对加密密钥进行解密,得到对称密钥--也只有自己才能...
1. **bcprov-ext-jdk15on-149.jar**:这是Bouncy Castle提供的加密库,是一个强大的密码学API,支持多种加密算法,包括对称和非对称加密。Bouncy Castle为Java提供了额外的加密功能,比如对某些非标准或较新的加密...
综上所述,本实验涵盖了密码学中的核心概念,通过实践使学生掌握了对称加密和非对称加密的实现细节。这种实践性的学习方法有助于巩固理论知识,增强实际问题解决能力,对于网络安全领域的研究和工作具有重要意义。
在C#编程环境中,我们可以利用内置的类库实现对称加密和非对称加密。本篇将详细介绍这两种加密方式,并结合提供的"RsaEncryptExample"和"TdesEncryptExample"代码示例进行解析。 **1. 对称加密** 对称加密是最常见...
本工具包就是针对这一需求而设计的,它提供了对称加密和非对称加密两种常见的加密算法,为数据的安全传输和存储提供了保障。 对称加密是最早、最简单的一种加密方式,它的特点是加密和解密使用同一个密钥。在Java中...
RSA非对称加密算法是由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)三位科学家在1977年提出的,这是他们在麻省理工学院共同研究的成果。RSA算法之所以重要,是...
其中,对称加密和非对称加密是两种主要的加密方式,它们各自有着独特的特点和应用场景。本文将深入探讨这两种加密算法及其工作原理。 首先,对称加密是最基础且历史悠久的加密方法。它基于一个秘密的密钥,即加密和...
本项目"Go-go语言封装的各种对称加密和非对称加密"正是针对这一需求,提供了便捷的Go语言实现,包括3重DES、AES的CBC和CTR模式以及RSA非对称加密。下面将详细介绍这些加密算法及其在Go中的应用。 1. 对称加密: - ...
非对称加密算法流程图,使用visio绘制。
太不安全,应该加密传输,怎么做呢,对称加密一旦秘钥丢失则形同虚设,最好使用非对称加密的方式,由后端事先生成公钥和私钥,公钥发给前端页面,私钥后端自己保留,前端进行认证时,把密码原文用公钥加密再发给后端...
对称加密和非对称加密结合的方式是客户端先获取到服务端的公钥,然后自己生成一个唯一的随机密钥 A,使用公钥加密随机密钥 A,这时只有服务端的私钥才能解密出随机密钥 A。服务端拿到随机密钥 A 之后,服务端和...
java关于加密的算法demo代码(Base64加密\数字签名\对称加密算法\非对称加密算法\消息摘要算法) JAVA安全实现三种方式: 1.JDK 2.Commons Codec 3.Bouncy Castle 一。非对称加密算法: 1.DH 2.RSA 3.ELGamal 二。...
对称加密和非对称加密各有优势,在实际应用中可以根据不同的场景需求来选择合适的加密方式。对称加密适用于数据量大、实时性强的应用场景;而非对称加密则更适合于密钥分发和身份验证等场景。随着技术的发展,加密...
本篇文章将详细探讨AES对称加密和RSA非对称加密的Java实现。 AES对称加密是一种广泛应用的块加密算法,它使用相同的密钥进行加密和解密,速度快,效率高。在Java中,我们可以使用Java Cryptography Extension (JCE)...
光学非对称加密技术是一种融合了光学原理与非对称加密算法的新型信息...通过对密码学的基本术语和加密分类的理解,以及深入探讨非对称加密算法和光学系统的结合,我们可以预见这一领域的未来将为信息安全带来新的突破。
非对称加密JAVA实现,实现对超长内容进行加密
非对称加密技术是一种在现代信息安全领域中占据核心地位的加密方式,相较于传统的对称加密算法,它引入了一种全新的密钥管理机制,即使用一对密钥——公钥和私钥来进行加密和解密操作。这一技术的诞生,解决了信息...
7. 性能优化:因为非对称加密通常比对称加密慢,所以可能会介绍如何平衡安全和性能,例如使用非对称加密仅用于密钥交换,然后使用对称加密进行数据传输。 通过学习这个"EncryptTcpExample"中的内容,你可以深入理解...