简易版本的加密分类、原理及应用

本文介绍了加密算法的基础概念,包括不可逆加密(如MD5、SHA256)、对称加密(如DES)和非对称加密(如RSA)的原理与应用场景。探讨了不同加密方式的安全性和使用限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

加密算法的分类

    不可逆加密:

    可逆加密:

加密算法原理

不可逆加密:MD5(Message-Digest Algorithm)

SHA256:(Secure Hash Algorithm 2)

对称加密:DES(Data Encryption Standard)

非对称加密:RSA(以3个人名命名的)

另外不算加密的编码base64:


加密算法的分类

    不可逆加密:

              加密后不能解密出原文,不存在密钥,例如MD5,SHA256

    可逆加密:

              对称加密算法:加解密密钥是一样,AES、DES

              非对称加密算法:加解密密钥不一样,RSA DSA

 

加密算法原理

不可逆加密:MD5(Message-Digest Algorithm)

        选取四个幻数:

        A=0x01234567

        B=0x89ABCDEF

        C=0xFEDCBA98

        D=0x76543210

每个幻数是32位,加起来正好是128位。根据原文长度,进行一定次数的循环,最后得到新的ABCD值拼接起来就是加密后的128位密文。

安全性:虽然128位密文的总数是有限的2的128次方。但至今只能将原文算出MD5密文后匹配才能暴力破解。

用途:用户密码加密,支付签名,数字证书(第三方存证机构保存的摘要信息),文件指纹(fingerprint)等。

 

SHA256:(Secure Hash Algorithm 2

算法与MD5思路相似,只不过这里取了ABCDEFGH共8个幻数。

 

对称加密:DES(Data Encryption Standard)

加密时首先将64位的密钥生成16个48位的子密钥,然后用这16个子密钥去依次操作两个32位的原文,得到两个32位的密文,合并后即可得到最后的密文。解密时,将密文用16个子密钥倒排操作密文即可得。

安全性:需以安全的方式进行密钥交换,密钥管理复杂。但效率高,系统开销小,适合加密大量数据场景。DES 现在已经不被视为一种安全的加密算法,主要原因是它使用的56位密钥过短,替代的是AES(Advanced Encryption Standard)

应用:DES算法在POS、ATM、磁卡及智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用,以此来实现关键数据的保密,如信用卡持卡人的PIN的加密传输,IC卡与POS间的双向认证、金融交易数据包的MAC校验等,均用到DES算法。

 

非对称加密:RSA(以3个人名命名的)

拿一个私钥数D,一个公钥数E,公共模数N

加密:原文数的E次方,所得结果除N取模后便是密文。C = ME mod N

解密:密文数的D次方,所得结果除N取模后便是原文。M =CD mod N

安全性:破解难度等价于分解两个大素数之积(公认的数学难题)。

使运算代价很高,尤其是速度较慢,较对称密码算法慢几个数量级,只能加密少量数据。

 

另外不算加密的编码base64:

Base64字符选用了”A-Z、a-z、0-9、+、/” 64个可打印字符,将3个8位字节(3×8=24位)编码成4个6位的字节(4×6=24位),之后在每个6位字节前面,补充两个0,形成4个8位字节的形式(取值正好是64个)。如果原文不是3个8位字节的整数倍,那么不够的全部补0,转换完空出的结果就用就用“=”来补位,总之要保证最后编码出来得字节数是4的倍数。

第一步,将待转换的字符串每三个字节分为一组,每个字节占8bit,那么共有24个二进制位。

第二步,将上面的24个二进制位每6个一组,共分为4组。

第三步,在每组前面添加两个0,每组由6个变为8个二进制位,总共32个二进制位,即四个字节。

安全性:只是换了一种编码格式而已,不存在加解密

应用:应用场景比较广泛,网络传输中遇到中文可能会乱码,二进制文件,图片等并不全是可打印字符,都可以用基于64个可打印的字符来表示。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值