首页 > 其他分享 >【加密与解密】第六章①

【加密与解密】第六章①

时间:2023-01-30 20:14:06浏览次数:33  
标签:加密 解密 秘钥 SHA 算法 第六章 加密算法 MD5

现有的系列号加密算法大都是软件开发者自行设计的,大部分都相当简单。此外还有很多成熟的算法可以使用,例如密码学中一些强度比较高的算法。

单向散列算法

单向散列算法也称hash(哈希)算法,是一种将任意长度的消息压缩到某一固定长度的函数,其过程不可逆。Hash函数可用于数字签名,消息的完整性测试,消息起源的认真检测。常见的散列算法有MD5,SHA,RIPE-MD等等。
由于hash函数是不可逆算法,软件只能使用hash函数作为加密的一个中间步骤。

MD5算法

MD5消息摘要算法是由Rivest设计的。它对输入的任意长度的消息进行运算,产生128位的消息摘要。他现在不那么留下。

1.算法原理


2.MD5算法在加解密中的应用


特点很明显,跟踪时很容易发现。如果采用MD5算法,就必然会初始化上面的4个常数。

3.实例分析



SHA算法

安全散列算法包括SHA-1.SHA-256.SHA-384和SHA-512四种,分别产生160位,256位,384位和512位散列值。

1.算法描述

是一种主流的加密散列算法,设计基于MD5算法相同的原理,并且模仿了该算法。

2.实例分析



SM3密码杂凑算法

SM3是国密算法,由国家密码局发布,广泛用于商用密码应用中的数字签名和验证,消息认证码的生成及验证集随机数的产生。

小结

对称加密算法

对称加密算法的加密秘钥和解密秘钥是完全相同的,其安全性依赖于两个因素,第一加密算法必须是足够强的,仅基于秘闻本神奇解密信息在实践中是不可能的,可以抵抗现有各种密码分析方法的攻击。第二加密的安全性依赖于秘钥的秘密性。
若要采用对称算法检验注册码,正确的方法是把用户输入的注册码作为加密算法或者解密算法的秘钥,为了增加穷举的难度,则需要对位数有一定的要求。

RC4流密码

RC4的安全性不是很强,但是在实际应用中可以保证一定的安全性。

1.算法原理

RC4生成一种称为秘钥流的伪随机流,它与明文通过异或操作混合达到加密的目的。

TEA算法

1.算法原理

TEA的分组长度为64位,秘钥长度为128位,采用feistel网络。作者推荐通过32次循环加密,即64轮。加密过程如下。K【0】到K【3】为秘钥,v【0】到v【1】为待加密的信息。

2.实例分析




IDEA算法

国际数据加密算法,这是他的名字。

1.算法原理



2.实例分析




标签:加密,解密,秘钥,SHA,算法,第六章,加密算法,MD5
From: https://www.cnblogs.com/Corax0o0/p/17077130.html

相关文章

  • 加密你的DNS
    为什么要加密你的DNS?因为传统DNS查询数据以明文方式传输,存在暴露的风险,采用加密DNS可以有效地防止隐私泄露和DNS劫持。隐私泄露:传统DNS请求数据易被其他人获取,从而泄......
  • 【加密与解密】第五章②
    前面几天过年去了,直接他妈摆了小半个月,要死,最近继续之前的进度。警告窗口Nag的意思是烦人。Nag窗口是软件设计者用来不时提醒用户购买正式版本的窗口。去除Nag窗口常用......
  • 技术汇总:第六章:分布式自增长ID
    packageutil;importjava.lang.management.ManagementFactory;importjava.net.InetAddress;importjava.net.NetworkInterface;/**名称:IdWorker.java描述:分布......
  • 易灵思钛金系列加密方案
     易灵思钛金系列加密方案(qq.com)......
  • Linux网络第六章:PXE高效批量网络装机及kickstart无人值守安装
    目录一、PXE基础知识二、PXE使用服务三、高效批量网络装机实操1、环境准备2、配置dhcpd服务3、配置FTP服务4、配置TFTP服务5、配置kickstart无人值守6、启动服务......
  • 常见的JS加密解密
    一种常见的JavaScript解密案例是使用JavaScript的​​eval()​​函数来解密已经加密的代码。例如,一段加密的代码可能看起来像这样:scssCopycodevarencrypted="eval(f......
  • IDE中自带的java springboot项目的密码加密和解密
    IDE里搜这个类org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI,跑类的main方法进行加密参数:input=你的明文密码password=固定你自己公司的某个固定值algorithm=PBEWi......
  • JAVA加解密之AES
      <!--AES加密--><dependency><groupId>org.bouncycastle</groupId><artifactId>bcprov-ext-jdk16</artifactId><......
  • JS加解密之AES
      demo<scriptsrc="https://cdn.bootcss.com/crypto-js/3.1.9-1/crypto-js.min.js"></script><script>alert(aesDecrypt(aesEncrypt("yvioo","wa1234535")......
  • [转]利用python的PyPDF2和PyMuPDF库玩转PDF的提取、合并、旋转、缩放、加密
    本文转自:https://www.cnblogs.com/steven0325/p/16888425.html一、安装PyPDF2和PyMuPDF库pipinstallPyPDF2pipinstallpymupdf#fitz是pymupdf的子模块二、工具......