173 2438 5004
KEROS加密芯片——品牌直销 | 免费样品 | 技术支持
当前位置:网站首页 > 资讯中心 正文 资讯中心

最基本的加密算法

keros@mark 2022-07-05 资讯中心

本篇文章给大家谈谈最基本的加密算法,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站。

www.keroschip.com

java最常用的几种加密算法

简单的Java加密算法有:

第一种. BASE

Base是网络上最常见的用于传输Bit字节代码的编码方式之一,大家可以查看RFC~RFC,上面有MIME的详细规范。Base编码可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中,就采用了Base来将一个较长的唯一标识符(一般为-bit的UUID)编码为一个字符串,用作HTTP表单和HTTP GET URL中的参数。在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式。此时,采用Base编码具有不可读性,即所编码的数据不会被人用肉眼所直接看到。

第二种. MD

MD即Message-Digest Algorithm (信息-摘要算法),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD的前身有MD、MD和MD。

MD算法具有以下特点:

压缩性:任意长度的数据,算出的MD值长度都是固定的。

容易计算:从原数据计算出MD值很容易。

抗修改性:对原数据进行任何改动,哪怕只修改个字节,所得到的MD值都有很大区别。

弱抗碰撞:已知原数据和其MD值,想找到一个具有相同MD值的数据(即伪造数据)是非常困难的。

强抗碰撞:想找到两个不同的数据,使它们具有相同的MD值,是非常困难的。

MD的作用是让大容量信息在用数字签名软件签署私人密钥前被”压缩”成一种保密的格式(就是把一个任意长度的字节串变换成一定长的十六进制数字串)。除了MD以外,其中比较有名的还有sha-、RIPEMD以及Haval等。

第三种.SHA

安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标准(Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。对于长度小于^位的消息,SHA会产生一个位的消息摘要。该算法经过加密专家多年来的发展和改进已日益完善,并被广泛使用。该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文,也可以简单的理解为取一串输入码(称为预映射或信息),并把它们转化为长度较短、位数固定的输出序列即散列值(也称为信息摘要或信息认证代码)的过程。散列函数值可以说是对明文的一种“指纹”或是“摘要”所以对散列值的数字签名就可以视为对此明文的数字签名。

SHA-与MD的比较

因为二者均由MD导出,SHA-和MD彼此很相似。相应的,他们的强度和其他特性也是相似,但还有以下几点不同:

对强行攻击的安全性:最显著和最重要的区别是SHA-摘要比MD摘要长 位。使用强行技术,产生任何一个报文使其摘要等于给定报摘要的难度对MD是^数量级的操作,而对SHA-则是^数量级的操作。这样,SHA-对强行攻击有更大的强度。

对密码分析的安全性:由于MD的设计,易受密码分析的攻击,SHA-显得不易受这样的攻击。

速度:在相同的硬件上,SHA-的运行速度比MD慢。

第四种.HMAC

HMAC(Hash Message Authentication Code,散列消息鉴别码,基于密钥的Hash算法的认证协议。消息鉴别码实现鉴别的原理是,用公开函数和密钥产生一个固定长度的值作为认证标识,用这个标识鉴别消息的完整性。使用一个密钥生成一个固定大小的小数据块,即MAC,并将其加入到消息中,然后传输。接收方利用与发送方共享的密钥进行鉴别认证等。

古典加密技术中最基本的两种算法是什么

替代算法和置换移位法。

1.替代算法

替代算法指的是明文的字母由其他字母或数字或符号所代替。最著名的替代算法是恺撒密码。凯撒密码的原理很简单,其实就是单字母替换。我们看一个简单的例子:

明文:abcdefghijklmnopq

密文:defghijklmnopqrst

若明文为student,对应的密文则为vwxghqw 。在这个一一对应的算法中,恺撒密码将字母表用了一种顺序替代的方法来进行加密,此时密钥为3,即每个字母顺序推后3个。由于英文字母为26个,因此恺撒密码仅有26个可能的密钥,非常不安全。

为了加强安全性,人们想出了更进一步的方法:替代时不是有规律的,而是随机生成一个对照表。

明文:abcdefghijklmnopqrstuvwxyz

密文:xnyahpogzqwbtsflrcvmuekjdI

此时,若明文为student,对应的密文则为 vmuahsm 。这种情况下,解密函数是上面这个替代对照表的一个逆置换。

不过,有更好的加密手段,就会有更好的解密手段。而且无论怎样的改变字母表中的字母顺序,密码都有可能被人破解。由于英文单词中各字母出现的频度是不一样的,通过对字母频度的统计就可以很容易的对替换密码进行破译。为了抗击字母频度分析,随后产生了以置换移位法为主要加密手段的加密方法。

2.置换移位法

使用置换移位法的最著名的一种密码称为维吉尼亚密码。它以置换移位为基础的周期替换密码。

前面介绍的替代算法中,针对所有的明文字母,密钥要么是一个唯一的数,要么则是完全无规律可寻的。在维吉尼亚密码中,加密密钥是一个可被任意指定的字符串。加密密钥字符依次逐个作用于明文信息字符。明文信息长度往往会大于密钥字符串长度,而明文的每一个字符都需要有一个对应的密钥字符,因此密钥就需要不断循环,直至明文每一个字符都对应一个密钥字符。对密钥字符,我们规定密钥字母a,b,c,d……y,z对应的数字n为:0,1,2,3……24,25。每个明文字符首先找到对应的密钥字符,然后根据英文字母表按照密钥字符对应的数字n向后顺序推后n个字母,即可得到明文字符对应的密文字符。

如果密钥字为deceptive , 明文为 wearediscoveredsaveyourself,则加密的过程为:

明文: wearediscoveredsaveyourself

密钥: deceptivedeceptivedeceptive

密文: zicvtwqngrzgvtwavzhcqyglmgj

对明文中的第一个字符w,对应的密钥字符为d,它对应需要向后推3个字母,w,x,y,z,因此其对应的密文字符为z。上面的加密过程中,可以清晰的看到,密钥deceptive被重复使用。

古典密码体制将数学的方法引入到密码分析和研究中。这为现代加密技术的形成和发展奠定了坚实的基础。

目前常用的加密方法主要有两种是什么

目前常用的加密方法主要有两种,分别为:私有密钥加密和公开密钥加密。私有密钥加密法的特点信息发送方与信息接收方均需采用同样的密钥,具有对称性,也称对称加密。公开密钥加密,又称非对称加密,采用一对密钥,一个是私人密钥,另一个则是公开密钥。

私有密钥加密

私有密钥加密,指在计算机网络上甲、乙两用户之间进行通信时,发送方甲为了保护要传输的明文信息不被第三方窃取,采用密钥A对信息进行加密而形成密文M并发送给接收方乙,接收方乙用同样的一把密钥A对收到的密文M进行解密,得到明文信息,从而完成密文通信目的的方法。

这种信息加密传输方式,就称为私有密钥加密法。

私有密钥加密的特点:

私有密钥加密法的一个最大特点是:信息发送方与信息接收方均需采用同样的密钥,具有对称性,所以私有密钥加密又称为对称密钥加密。

私有密钥加密原理:

私有加密算法使用单个私钥来加密和解密数据。由于具有密钥的任意一方都可以使用该密钥解密数据,因此必须保证密钥未被授权的代理得到。

公开密钥加密

公开密钥加密(public-key cryptography),也称为非对称加密(asymmetric cryptography),一种密码学算法类型,在这种密码学方法中,需要一对密钥,一个是私人密钥,另一个则是公开密钥。

这两个密钥是数学相关,用某用户密钥加密后所得的信息,只能用该用户的解密密钥才能解密。如果知道了其中一个,并不能计算出另外一个。因此如果公开了一对密钥中的一个,并不会危害到另外一个的秘密性质。称公开的密钥为公钥;不公开的密钥为私钥。

密码加密的方法有那些?

用户密码加密方式

用户密码保存到数据库时,常见的加密方式有哪些?以下几种方式是常见的密码保存方式:

1. 明文保存

比如用户设置的密码是“123456”,直接将“123456”保存在数据库中,这种是最简单的保存方式,也是最不安全的方式。但实际上不少互联网公司,都可能采取的是这种方式。

2. 对称加密算法来保存

比如3DES、AES等算法,使用这种方式加密是可以通过解密来还原出原始密码的,当然前提条件是需要获取到密钥。不过既然大量的用户信息已经泄露了,密钥很可能也会泄露,当然可以将一般数据和密钥分开存储、分开管理,但要完全保护好密钥也是一件非常复杂的事情,所以这种方式并不是很好的方式。

3. MD5、SHA1等单向HASH算法

使用这些算法后,无法通过计算还原出原始密码,而且实现比较简单,因此很多互联网公司都采用这种方式保存用户密码,曾经这种方式也是比较安全的方式,但随着彩虹表技术的兴起,可以建立彩虹表进行查表破解,目前这种方式已经很不安全了。

其实之前公司也是采用的这种MD5加密方式。

4. PBKDF2算法

该算法原理大致相当于在HASH算法基础上增加随机盐,并进行多次HASH运算,随机盐使得彩虹表的建表难度大幅增加,而多次HASH也使得建表和破解的难度都大幅增加。

在使用PBKDF2算法时,HASH一般会选用sha1或者sha256,随机盐的长度一般不能少于8字节,HASH次数至少也要1000次,这样安全性才足够高。一次密码验证过程进行1000次HASH运算,对服务器来说可能只需要1ms,但对于破解者来说计算成本增加了1000倍,而至少8字节随机盐,更是把建表难度提升了N个数量级,使得大批量的破解密码几乎不可行,该算法也是美国国家标准与技术研究院推荐使用的算法。

5. bcrypt、scrypt等算法

这两种算法也可以有效抵御彩虹表,使用这两种算法时也需要 指定 相应的参数,使破解难度增加。

在密码学中,scrypt(念作“ess crypt”)是Colin Percival于2009年所发明的金钥推衍函数,当初设计用在他所创立的Tarsnap服务上。设计时考虑到大规模的客制硬件攻击而刻意设计需要大量内存运算。

Scrypt不仅计算所需时间长,而且占用的内存也多,使得并行计算多个摘要异常困难,因此利 用rainbow table进行暴力攻击更加困难。Scrypt 没有在生产环境中大规模应用,并且缺乏仔细的审察和广泛的函数库支持。但是,Scrypt 在算法层面只要没有破绽,它的安全性应该高于PBKDF2和bcrypt。

各个算法的特性

总结

采用PBKDF2、bcrypt、scrypt等算法可以有效抵御彩虹表攻击,即使数据泄露,最关键的“用户密码”仍然可以得到有效的保护,黑客无法大批量破解用户密码,从而切断撞库扫号的根源。

【加密软件编辑推荐】

易控网盾加密软件--重要文件防泄密专家!轻松实现单位内部文件自动加密保护,加密后的文件在单位内部正常流转使用。未经许可,任何私自拷贝加密文件外发出去,都将打开为乱码,无法使用!对于发送给客户等第三方的文件,可实现控制打开时间和打开次数等防泄密参数!同时可设置对员工电脑文件自动备份,防止恶意删除造成核心数据的遗失!从源头防止企业核心文件被外泄!

相关页面:加密软件,文件加密,文档加密,图纸加密软件,防泄密软件,CAD加密软件,文件外发加密

关于最基本的加密算法的介绍到此就结束了,顺便给大家介绍一款加密芯片-KEROS,采用AES256对称算法,目前已广泛应用于各类硬件加密解决方案,高安全性,低成本已获得广大用户认可,行业首选。

本文标签:最基本的加密算法

产品列表
产品封装
友情链接