`
m635674608
  • 浏览: 5043472 次
  • 性别: 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

分享到:
评论

相关推荐

    常见加密算法方式(对称加密和非对称加密)

    在实际操作中,经常采用混合加密模式:利用非对称加密算法交换对称加密算法的密钥,再利用对称加密算法加密实际数据,从而结合两种加密算法的优点。 总之,加密算法是信息安全领域的基石,合理选择和使用加密算法...

    Vue-常用加密(MD5,DES,SHA256,BASE64,SHA1,RSA)

    Vue 中常见的加密算法可以分成三类:对称加密算法、非对称加密算法和 Hash 算法。下面将详细介绍每种加密算法的特点、优点和缺点,以及它们的应用场景。 一、单向散列加密算法 单向散列加密算法常用于提取数据,...

    OpenSSL对称加密算法中如何添加新算法

    OpenSSL 是一个开源的加密算法库,它提供了对称加密算法、非对称加密算法、哈希算法等多种加密算法。OpenSSL 的对称加密算法中可以添加新算法,以满足不同的加密需求。下面我们将介绍如何在 OpenSSL 对称加密算法中...

    移动安全--加密算法和完整性算法.ppt

    A5算法是一种对称加密算法,利用64比特的Kc和22比特的帧号Fn产生密钥流,对信息进行加密和解密。A8算法则生成用于无线通信的密钥Kc。尽管这些算法在设计时具有一定的安全级别,但随着计算能力的提升,64比特的密钥已...

    常用的加密算法名称及介绍

    常用的加密算法名称及介绍 在信息安全领域中,加密算法是保护...加密算法是保护数据安全的重要手段,常用的加密算法有对称加密算法、非对称加密算法、散列算法和Base64加密算法等,每种加密算法都有其特点和应用场景。

    java加密解密算法大全

    非对称加密算法采用一对密钥,即公钥和私钥,两者互为逆运算。公钥用于加密,私钥用于解密,反之亦然。这种机制解决了密钥分配的问题,提高了安全性,但计算复杂度较高,适用于密钥交换和数字签名,如RSA、DSA算法。...

    对称加密和非对称加密介绍和区别

    ### 对称加密与非对称加密的介绍及区别 #### 一、对称加密技术概述 **对称加密**采用了对称密码编码技术,它的核心...综上所述,对称加密和非对称加密各有优劣,选择合适的加密算法需根据具体应用场景的需求来决定。

    加密算法整理.docx

    在实际应用中,常常结合对称和非对称加密的优点,如使用非对称加密来安全传输对称加密的密钥,然后用对称加密处理大量数据,以兼顾效率和安全性。同时,散列算法常用于文件校验、数字签名等场景,确保信息未被篡改。...

    C#加密算法类库

    2. **RSA加密算法**:RSA是一种非对称加密算法,基于大数因子分解的难题。它使用一对公钥和私钥,公钥用于加密,私钥用于解密。这种算法在互联网通信中用于安全数据传输和数字证书。 3. **DES加密算法**:DES是较早...

    Java 的IDEA 加密算法加密和数字签名编程

    当前,国际上存在多种加密算法,其中DES(Data Encryption Standard)是最先发明且广泛应用的分组对称加密算法之一。DES使用56位密钥加密64位明文,输出64位密文。尽管DES在历史上曾经被穷举攻击成功破解,但在Java...

    C# 加解密 (对称,非对称,散列)

    本文将详细介绍对称加密(AES和DES)、非对称加密(RSA)以及散列函数(MD5)在C#中的应用。 1. **对称加密**: 对称加密是一种常见的加密方法,其中加密和解密使用相同的密钥。C#中,有两个主要的对称加密算法:...

    java 文件加密解密 DES PBE RSA DH DSA ECC 等算法代码

    本文将详细介绍Java中常用的几种加密算法,包括但不限于DES、PBE、RSA、DH、DSA和ECC等,并提供部分示例代码以加深理解。 #### 二、基本概念 在深入讨论各种加密算法之前,我们先来了解一些基本的概念: - **加密...

    JAVA源码很强的Java加密解密算法源码

    非对称加密算法使用一对密钥进行加解密操作,即公钥和私钥。公钥可以公开,用于加密;私钥则必须保密,用于解密。这种机制非常适合于密钥交换和数字签名等场景。常用的非对称加密算法包括: - **RSA** - **ECC...

    Java加密解密方法大全

    本文详细介绍了Java加密解密的相关概念和技术,包括对称加密算法、非对称加密算法和单向加密算法的特点及其应用场景。通过对这些基本概念的理解,可以帮助开发人员更好地选择合适的加密方案来保护敏感数据。在实际...

    论文研究-一种口令加密算法设计 .pdf

    加密算法按照密钥类型可以分为对称加密和非对称加密。对称加密使用同一个密钥进行加密和解密,而非对称加密使用一对密钥,即公钥和私钥,分别用于加密和解密。 在口令加密中,为了保证口令的安全性,通常采用单向...

    VB.NET关于加密算法

    - RSA:非对称加密,适用于公钥基础设施(PKI)。 - DSA:用于数字签名,遵循数字签名标准(DSS)。 - SHA和MD5:单向散列函数,用于消息摘要和完整性检查,尽管MD5的安全性已受到质疑。 - BLOWFISH和ECC:其他...

Global site tag (gtag.js) - Google Analytics