数据加密技术基本概念整理
1.数据加密(Data Encryption)
指将一个信息(或称明文,plain text)经过加密钥匙(Encryption key)及加密函数转换,变成无意义的密文(cipher text),而接收方则将此密文经过解密函数、解密钥匙(Decryption key)还原成明文。加密技术是网络安全技术的基石。
2.对称密钥
又称为专用密钥或单密钥,加密和解密时使用同一个密钥,即同一个算法。如AES,DES,IDEA算法。
在php中AES算法可以通过mcrypt扩展的相关函数来实现
3.非对称密钥
又称公开密钥,加密和解密时使用不同的密钥,即不同的算法,虽然两者之间存在一定的关系,但不可能轻易地从一个推导出另一个。有一把公用的加密密钥,有多把解密密钥.
比较著名的公钥密码算法有:RSA、背包密码、McEliece密码、Diffe?Hellman、Rabin、零知识证明的算法、椭圆曲线、EIGamal算法等等。最有影响的公钥密码算法是RSA,它能抵抗到目前为止已知的所有密码攻击。
在php中RSA可通过openssl扩展的相关函数实现
4.对称加密(Reciprocal cipher)
又称为对等密钥加密(en:Symmetric-key algorithm)),对称加密,私钥加密,共享密钥加密。是密码学中的一类加密(encryption)算法。该类密码的加密(encryption)算法是它自己本身的逆反函数,所以其解密(decryption)算法等同于加密算法,也就是说,要还原对等加密的密文,套用加密同样的算法即可得到明文。换句话说,若参数(或密钥)合适的话,两次连续的对等加密运算后会回复原始文字(在数学上,这有时称之为对合(involution)。在实际应用中,体现为加密和解密使用同一个密钥,或者知道一方密钥能够轻易计算出另一方密钥。
常见的对称加密算法有DES、3DES、AES、Blowfish、IDEA、RC4、RC5、RC6。
5.公开密钥加密(英语:Public-key cryptography,也称为非对称(密钥)加密)
该思想最早由雷夫·莫寇(Ralph C. Merkle)在1974年提出[1],之后在1976年。狄菲(Whitfield Diffie)与赫尔曼(Martin Hellman)两位学者以单向函数与单向暗门函数为基础,为发讯与收讯的两方建立金钥。
非对称密钥,是指一对加密密钥与解密密钥,这两个密钥是数学相关,用某用户加密密钥加密后所得的信息,只能用该用户的解密密钥才能解密。如果知道了其中一个,并不能计算出另外一个。因此如果公开了一对密钥中的一个,并不会危害到另外一个的秘密性质。称公开的密钥为公钥;不公开的密钥为私钥。
如果加密密钥是公开的,这用于客户给私钥所有者上传加密的数据,这被称作为公开密钥加密(狭义)。例如,网络银行的客户发给银行网站的账户操作的加密数据。
如果解密密钥是公开的,用私钥加密的信息,可以用公钥对其解密,用于客户验证持有私钥一方发布的数据或文件是完整准确的,接收者由此可知这条信息确实来自于拥有私钥的某人,这被称作数字签名,公钥的形式就是数字证书。例如,从网上下载的安装程序,一般都带有程序制作者的数字签名,可以证明该程序的确是该作者(公司)发布的而不是第三方伪造的且未被篡改过(身份认证/验证)。
常见的公钥加密算法有: RSA、ElGamal、背包算法、Rabin(Rabin的加密法可以说是RSA方法的特例)、Diffie-Hellman (D-H) 密钥交换协议中的公钥加密算法、Elliptic Curve Cryptography(ECC, 椭圆曲线加密算法)。使用最广泛的是RSA算法(由发明者Rivest、Shmir和Adleman姓氏首字母缩写而来)是著名的公开金钥加密算法,ElGamal是另一种常用的非对称加密算法。
参考文章
Javascript到PHP加密通讯的简单实现
百度百科-数据加密技术
维基百科-对等加密
维基百科-公开密钥加密
数据加密技术基本概念整理相关推荐
- 【jeecg-boot项目开发crm】:平台技术点——day05【Java定时任务解决方案:九、触发器,调度器概念整理】:图灵课堂
九.触发器,调度器概念整理 1 触发器的优先级 1. 1判断错过触发的条件和产生的原因 1.2错过触发之后要怎么处理呢[下面给出策略] 默认使用的策略: SimpleTrigger[常用]: new* ...
- 区块链中的基本概念整理
区块链中的基本概念整理 区块链本身是由多种技术集合而成,涉及了多方面的内容,而在其组合应用的过程中,同时也产生了很多新的概念.对于这些概念的整理和理解,有助于更加深刻的理解区块链的本质,也可以指导我们 ...
- 计算机 硕士 技术路线,(最新整理)硕士开题报告技术路线图
<(最新整理)硕士开题报告技术路线图>由会员分享,可在线阅读,更多相关<(最新整理)硕士开题报告技术路线图(2页珍藏版)>请在人人文库网上搜索. 1.完整)硕士开题报告技术路线 ...
- 数据加密技术知识点大盘点
一. 什么是数据加密? 信息化时代,信息化本身就是一把双刃剑,一方面它为我们的生产.生活带来好处,另一方面,信息泄露也会给我们带来极大的威胁.所以,客观上,必须有强有力的安全措施,防止机密数据被窃取或 ...
- 网络安全技术第二章——数据加密技术及应用(数据加密概述、密码体制、加密算法数字签名和报文鉴别身份认证)
数据加密技术及应用 一.数据加密概述 1.数据加密技术 2.密码学 3.保密体制或保密系统 4.密码体制 5.数据加密 6.常见现代密码 7.数据加密标准DES概述 8.高级加密标准AES概述 非对称 ...
- 计算机网络通信中的安全技术,计算机网络通信安全中数据加密技术的应用(原稿)...
<计算机网络通信安全中数据加密技术的应用(原稿).doc>由会员分享,可免费在线阅读全文,更多与<计算机网络通信安全中数据加密技术的应用(原稿)>相关文档资源请在帮帮文库(ww ...
- 前端开发桌面软件、技术博客整理等
整理桌面 渐渐的发现,很多东西存储在本地,永远不如放在云端,很多需要记录的东西,换台电脑,原来的东西可能找不到了,整理的过程是繁琐的,但是结果却是很方便. 记录来盈嘉互联后电脑安装的软件 马克飞象.t ...
- 系统安全性之数据加密技术
数据加密的基本概念 数据加密技术的发展 直至进入20世纪60年代,由于电子技术和计算机技术的迅速发展,以及结构代数.可计算性理论学科研究成果的出现,才使密码学的研究走出困境而进入了一个新的发展时期:特 ...
- 数据加密技术和数据加密算法
转自:http://www.cnblogs.com/wxbjs/archive/2011/09/02/2163540.html 数据加密技术 现代社会对信息安全的需求大部分可以通过密码技术来实现.密码 ...
最新文章
- LMDIF_函数用法
- 五、redis和关系型数据库如何配合使用
- 使用个推的时候出现Installation error: INSTALL_FAILED_DUPLICATE_PERMISSION
- linux sh 字符截取,shell字符截断
- mysql cluster cge (commercial)_Mysql 产品分类和版本说明
- 如何跑通第一个 SQL 作业
- java课程之团队开发冲刺1.8
- 用递归与分治策略求解网球循环赛日程表_算法设计:分治法(比赛日程安排)...
- java spring 过滤器_java – 如何在spring-security中的另一个过滤器之前添加过滤器?...
- html 输入类型,HTML 输入类型(示例代码)
- 选择Python科学计算发行版
- latex模板章节序号标签加粗
- 步进电机转速 与 pwm 关系
- Oracle 繁简体转换(未解决)
- redmi airdots手动串联_【更正】关于小米AirDots青春版和Redmi红米AirDots所支持蓝牙协议内容的更正...
- win10锁定计算机后黑屏,win10锁定屏幕就黑屏怎么办
- 使用Python实现自动生日祝福
- yolov5 + second_classify -- 代码
- Putty的噩梦——渗透工具PuttyRider使用心得分享
- 小米电视连接树莓派samba