`
m635674608
  • 浏览: 4931903 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

【Java-加密算法】对称加密、非对称加密、单向散列

    博客分类:
  • java
 
阅读更多

一提到加密,就会联想到数字签名,这两个经常被混淆的概念到底是什么呢?

加密:加密是一种以密码方式发送信息的方法。只有拥有正确密钥的人才能解开这个信息的密码。对于其他人来说,这个信息看起来就像是一系列随机的字母、数字和符号。如果你要发送不应该让其他人看的敏感信息时,加密是特别重要的。

数字签名:数字签名是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。

加密与数字签名的区别
加密同数字签名一样,公共密钥加密使用PGP等软件,使用数学算法转换信息并且依靠公共和专用密钥。但是,加密和数字签名是有区别的,加密的目的是通过把信息翻译成密码秘密地隐藏内容。数字签名的目的是完整性和身份识别性,验证一个信息的发送者和指出内容没有被修改。虽然加密和数字签名能够单独使用,但是,你还可以对加密的信息采用数字签名。

当你签署一个信息时,你使用你的专用密钥,任何有你的公共密钥的人都能够验证这个签名是合法的。当你加密一个信息的时候,你为接收你的信息的人使用这个公共密钥,并且使用他或者她的专用密钥解码这个信息。用于人们要保持自己的专用密钥的机密,并且使用口令保护这些密钥,这个信息的接收者应该是惟一的能够观看这个信息的人。


算法分类
一、单向散列算法: 属于摘要算法,不是一种加密算法,作用是把任意长的输入消息串变化成固定长的输出串的一种函数
BASE64(严格地说,属于编码格式,而非加密算法)
MD5(Message Digest algorithm 5,信息摘要算法)
SHA(Secure Hash Algorithm,安全散列算法)
HMAC(Hash Message Authentication Code,散列消息鉴别码)
CRC(Cyclical Redundancy Check,循环冗余码校验)

二、对称加密算法: 加密密钥与解密密钥相同
DES(Data Encryption Standard,数据加密标准算法)
AES(Advanced Encryption Standard,高级加密标准)
PBE(Password-based encryption,基于密码验证)
RC5(参数可变的分组密码算法 )
BLOWFISH(对称密钥分组加密算法)

三、非对称加密算法 :加密密钥与解密密钥不相同
RSA(算法的名字以发明者的名字命名:Ron Rivest, AdiShamir 和Leonard Adleman)
DH(Diffie-Hellman算法,密钥一致协议)
Elgamal(既能用于数据加密也能用于数字签名)
DSA(Digital Signature Algorithm,数字签名)
ECC(Elliptic Curves Cryptography,椭圆曲线算法)
Merkle-Hellman(背包算法)
Miller Rabin算法(素数测试算法)


参考资料




http://blog.csdn.net/claram/article/details/48098611

分享到:
评论

相关推荐

    Java加密技术介绍.docx

    Java加密技术(四)——非对称加密算法RSA Java加密技术(五)——非对称加密算法的由来DH Java加密技术(六)——数字签名算法DSA Java加密技术(七)——非对称加密算法最高级ECC Java加密技术(八)——数字证书 ...

    Java常见加密技术全景展示_附Java代码实现

    复杂的对称加密(DES、PBE)、非对称加密算法: ● DES(Data Encryption Standard,数据加密算法) ● PBE(Password-based encryption,基于密码验证) ● RSA(算法的名字以发明者的名字命名:Ron Rivest, ...

    Java中常用的加密算法

    Java中常用的加密算法主要有MD5,DES(对称加密),RSA(非对称加密),每一种加密算法有着各自的加密特点。(注意:本文为kotlin编码) 一.MD5 MD5全称Message_Digest Algorithm-5,即信息-摘要算法5,消息摘要是采用任意...

    Java加密与解密的艺术配书源代码

    对称加密网络应用242 7.8 小结254 第8章高等数据加密—非对称加密算法256 8.1 非对称加密算法简述256 8.2 密钥交换算法—DH 258 8.3 典型非对称加密算法—RSA 269 8.4 常用非对称加密算法—ElGamal277 8.5 实例:非...

    Python3+PyCryptodome实现各种加密算法

    PyCryptodome是python一个强大的加密算法库,可以实现常见的单向加密、对称加密、非对称加密和流加密算法。包含以下内容: 1.Base64编码 2.base64编码实现代码 3.单向加密算法 4.对称加密算法 5.非对称加密算法 6.流...

    Java加密与解密的艺术

    对称加密网络应用2427.8 小结254第8章高等数据加密—非对称加密算法2568.1 非对称加密算法简述2568.2 密钥交换算法—DH 2588.3 典型非对称加密算法—RSA 2698.4 常用非对称加密算法—ElGamal2778.5 实例:非对称加密...

    GB:T 15843.2-2017 信息技术 安全技术 实体鉴别 第2部分:采用对称加密算法的机制1

    引言本部分等同采用ISO/IEC9798-2:2008及其勘误文件ISO/IEC9798-2:2008TECHNICALCOR-RIGENDUM3,它是由ISO

    论文研究-一种基于多模式加密算法的文件保护方案.pdf

    结合对称密码算法中的DES、IDEA、AES和单向散列算法中的MD5、SHA1、SHA256等算法,提出了一种在同一文件内部采用多模式加密的方案,该方案比传统的单一模式加密的方案能更好地保证数据的完整性和安全性。...

    java加密技术

    java加密技术 与单向加密算法MD5&SHA;&MAC; 对称加密算法DES&AES; PBE 算法

    黄淮学院\考试题\2010-2011

    A、加密包括对称加密和非对称加密两种 B、信息隐藏是加密的一种方法 C、如果没有信息加密的密钥,只要知道加密程序的细节就可以对信息进行加密 D、密钥的位数越多,信息的安全性就越高 可以认为数据的加密和解密是...

    SoftLock加密控件

    SoftLock加密控件是一个用于保护软件产品的ActiveX控件。...加密算法采用 RSA-MD5,RSA-SHA1单向散列函数,128位加密。 公开密钥算法(也叫非对称算法)设计。 硬件指纹采用物理硬盘序列号以及CPU序列号和ID号。

    非对称加密&&RAS算法学习经验

    非对称加密&&RAS算法 之前对非对称加密有很大的误解,可以说之前理解的非对称加密都是错误的,经过一位大牛的点拨 (碾压) 充分认识到了自己的错误~,现在重新对非对称加密做一个总结; 之前错误的想法 非对称加密 指的是...

    Linux网络服务与安全视频.zip

    目录网盘文件永久链接 01.NFS服务配置和测试 001.NFS服务资源的读与写控制 002.NFS服务资源网络地址控制 003.NFS用户映射 004.NFS相关端口以及端口的绑定 ...021.使用openssl 生成RSA非对称加密所用的密钥对......

    SFCipher(加解密工具)

    目前这个工具支持对称加密算法(AES、3DES)、非对称加密算法(RSA)、单向散列算法(MD5、SHA1、CRC32)、Base64算法等,后期还会不定时新增别的算法,在使用过程中如有问题欢迎邮件给我,我会及时优化和反馈。

    Python内置加密模块用法解析

    非对称加密(公匙加密):数据加密和解密使用的不同密钥,主要用于身份的验证(DSA,RSA) 单向加密:只能加密不能解密,主要用于解决数据的完整性(MD5,SHA系列算法) Python内置加密模块: hashlib 主要提供...

    Web服务安全(PGP、S/MIME、Secure Shell、SFTP)

    PGP加密由一系列散列、数据压缩、对称密钥加密,以及公钥加密的算法组合而成。每个步骤支持几种算法,可以选择其中一种使用。基本上包含了4个密码单元:单钥密码IDEA、双钥密码RSA、单向散列算法MD5、一个随机数...

    Java加密和数字签名编程

    本文主要谈一下密码学中的加密和数字签名,以及...主要使用单向散列函数算法,可用于检验消息的完整性,和通过散列密码直接以文本形式保存等,目前广泛使用的算法有MD4、MD5、SHA-1,jdk1.5对上面都提供了支持,在java

    Flask框架中密码的加盐哈希加密和验证功能的用法详解

    加密算法固定,容 易被暴力破解。如果密码相同,得到的哈希值是一样的。 加盐哈希加密:加密时混入一段“随机”字符串(盐值)再进行哈希加密。即使密码相同,如果盐值不同,那么哈希值也是不一样的。现在网站开发...

    应用密码学,全文,doc被压缩无密码RAR

    15.7 级联多重加密算法 291 15.8 组合多重分组算法 292 第十六章 伪随机序列发生器和序列密码 293 16.1 伪随机序列发生器 293 16.2 线性反馈移位寄存器 297 16.3 序列密码的设计与分析 304 16.4 使用LFSR的序列密码 ...

    信息安全.zip

    3.非对称加密 答案:与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密...

Global site tag (gtag.js) - Google Analytics