密码学笔记1-基本概念和常用加密算法
来源:互联网 发布:c4d r17 mac 破解版 编辑:程序博客网 时间:2024/05/31 19:07
常用术语:
1.密码(cipher):
通常密码学中的密码指的是密码算法,是用于加密和解密的数学函数(一般情况下加密和解密有两种不同的密码算法)。有别于我们日常生活中所说的密码,我们说的密码是一种用于身份认证的口令(password)。
2.密钥(key):
密钥是在在密码算法运行需要输入的参数,分为对称密钥和非对称密钥。
相同明文相同加密算法的情况下,使用不同的密钥会得到不同的密文结果。
密钥越长越安全,但是密钥过长算法运行速度会很慢。
3.对称密钥:
对称密钥用于对称加密算法中。
在对称加密算法中,加密和解密过程使用的密钥是相同的。
对称加密算法的安全性取决于密钥的保密性。
4.非对称密钥:
用于非对称加密算法中,分为公钥和私钥。
公共密钥是公开的,而私有密钥必须保密。
公钥和私钥的其中一把用于加密时,则另一把就用于解密。
用公钥加密的文件只能用私钥解密,而私钥加密的文件只能用公钥解密。
为发送一份保密报文,发送者必须使用接收者的公共密钥对数据进行加密,一旦加密,只有接收方用其私人密钥才能加以解密。
有时候也存在用私钥加密用公钥解密的情况,如数字签名。
常见加密算法:
通常把加密算法分为三类:对称加密算法(传统加密算法)、非对称加密算法(公钥加密算法)和哈希算法。
1.对称加密算法:
指加密和解密使用相同密钥的加密算法。
优点:运行速度快;
缺点:需要在服务端和客户端之间共享密钥,然而难以做到在公开的计算机网络上安全地传送和保管密钥。且由于双方都使用相同的密钥,无法实现数数字签名等功能,无法保证信息的不可否认性。
常见的对称加密算法:
DES、3DES、AES、RC2、RC4、RC5、IDEA、TDEA、Blowfish、SKIPJACK
2.非对称加密算法
加密和解密使用不同的密钥–公钥和私钥来进行。
非对称加密的过程:
1.服务端生成配对的公钥和私钥
2.私钥保存在服务端,公钥发送给客户端
3.客户端使用公钥加密明文传输给服务端
4.服务端使用私钥解密密文得到明文
优点:由于非对称加密无需在客户端和服务端之间共享密钥,只要私钥不发给任何用户,即使公钥在网上被截获,也无法进行解密。安全性得到了很大的提升;
缺点:加解密速度远远慢于对称加密算法。
常见的非对称加密算法:
RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)
3.哈希散列算法
散列函数H是一个公开的函数,它可将任意长度的报文M变换成固定长度的散列码h,散列函数表示为h=H(M),它生成报文所独有的“指纹”(摘要)。
散列函数的特征:
1. 对于不同报文不能产生相同散列码(事实上哈希碰撞的概率是很小的),改变原始报文中任意一位数值将产生完全不同的散列码
2. 对任意一个报文无法预知散列码
3. 无法根据散列码倒推报文
4. 散列算法是公开的,其安全性来自于单向散列的能力
5. 散列码长度固定,与报文长度无关
常见的哈希算法:
MD4、MD5、SHA
- 密码学笔记1-基本概念和常用加密算法
- 密码学复习笔记1【基本概念与传统密码技术】
- 密码学笔记1 密码学发展
- 密码学基本概念与信息理论基础学习笔记
- 密码学----基本概念
- FLASH与密码学-常用加密算法的AS3.0实现
- 从密码学角度看TX常用的TEA加密算法
- 从密码学角度看腾讯常用的TEA加密算法
- 从密码学角度看TX常用的TEA加密算法
- 从密码学角度看腾讯常用的TEA加密算法
- 从密码学角度看TX常用的TEA加密算法
- 常用加密算法笔记
- 密码学:SHA1加密算法详解
- 密码学:RSA加密算法详解
- 密码学之加密算法简记
- 【密码学】AES加密算法图解
- 【密码学:RSA加密算法详解】
- 密码学基本概念(一)
- 状压dp之棋盘覆盖
- 启动Activity前检测
- 安装mysql时遇到的问题
- Design Pattern(9)-Facade Pattern
- 最朴素的prim算法
- 密码学笔记1-基本概念和常用加密算法
- bzoj 2407 最短路
- Spring Cloud与分布式系统
- ASP 与 VBScript 和 JScript
- 2017广东工业大学程序设计竞赛决赛 D 只有通过毁灭才能揭示真理
- 前端自动化工具打包gulp学习之路
- Connection接口分析
- 业界资讯:阿里的Egg.js 发布
- Linux中查看CPU信息