加密算法简介

数据加密(或称为密码学)是一种用于对信息进行保密处理的科学。加密的目的是为了防止信息被不应该获取、不允许获取的人得到。加密算法(密码学)在历史上产生了深远的政治、社会和道德影响。

数据加密如同数据压缩一样,是信息论的另一种产物。这是数学领域的一个分支。

数据加密一定是有两个过程:第一个过程,我们称之为加密,在这个过程中将可识别的数据(或称为明文)加密为无法识别的形式(也就是密文);第二个过程与第一个过程相反,将密文解密转换回普通的原始明文。

密码背后的主要思想是:如果允许读取数据,则从密文转换为明文应该是很容易的,相反,如果不允许读取,则不可能实现从密文到明文的转换。

密码使用一种称为“密钥”的特殊信息,用于保证安全性。一旦用密钥加密数据,只有知道正确密码的人才能解密数据。事实上,对于任何好的加密算法,其关键属性就是围绕密钥的安全性。更进一步说,好密码的安全性不依赖于把密码的算法保密。这就类似于,尽管人人都知道保险箱是如何工作的,但是没有密码就无法打开保险箱的大门。

现代的加密算法,从如何使用的角度可以分为两类:

一类是对称加密,另一类就是非对称加密。

所谓对称加密,是指加密和解密使用同一个密钥,通常称之为“Session Key ”,也就是说任何知道密钥的人即可以加密也可以解密数据。

而在非对称的算法中,用来加密和解密的密钥是不同的。用来加密的密钥称为公钥,也就是说可以公开的密钥,而用来解密的密钥称为私钥,这个是不能公开的,只有解密人才会持有。公钥和私钥协同工作,只有特定的私钥才能解开由特定的公钥加密过的数据。因此,只知道如何加密的数据并不意味着就可以成功解密,必须拥有正确的私钥才行。这样也很好地避免了密钥的传输安全性问题。

DES是一种典型的对称加密算法。目前认为DES是相对安全的,DES是和种效率较高的加密算法,甚至可以直接在软件中实现。

RSA是最流行的公钥加密算法之一。RSA是被认为非常安全的加密算法,但是处理速度比DES要慢得多。因此,它常用来加密较小规模的数据。软件实现的RSA已经开始用于计算机网络加密,用来完成密钥分配、数字签名等功能。

数据加密常见的应用场景:

电子邮件

电子邮件中的数据通常在非安全的通道上进行传输,比如Internet。Internet的广泛使用也使得加密带有敏感信息的电子邮件成为近些年来非常重要的应用。

电子货币

金融交易的一种手段,要使得交易可以得到认证但是无法跟踪。交易必须得到认证,这样参与交易的双方才不会被骗。交易必须是无法跟踪的,这样每一方的隐私就可以得到保护。然而,在实践中,如果没有特殊的协议来协同支持的话,这些需求是很难实现的。

认证服务器

认证服务器解决处于网络中不同端点处的两个团体间的安全性问题。两个团体间必须能够交换密钥,而在同一时刻又必须确保它们在与正确的对方通话,而不是一个冒充者。认证服务器通过各种依赖加密机制的协议来实现这些功能。

数字签名

用来验证数据的归属者的一种方法,很像在文档上签字一样。一种生成数字签名的方法是使用公钥加密。用户A采用他的私钥加密一段数据,并将其发给B。B认为这个数据是来自A的,因此使用A的公钥对数据进行解密验证,如果能够成功解密数据,则可以肯定数据是来自于A的。

智能卡

一种不型的卡片密钥。其中包含微型计算机以及少量的存储空间。一般来说,智能卡多用于各种形式的信贷上。其他类型的智能卡用于接入计算机或者建筑物的门禁等。智能卡采用加密技术,因为通过它可以完成某些重要的操作,比如修改银行的账户以及进入安全环境。

*有兴趣的朋友可以关注,近期将更新DES算法和RSA算法的具体实现与分析,以及应用举例。

转载于:https://www.cnblogs.com/idreamo/p/9321344.html

数据加密算法的简介与应用相关推荐

  1. 河北省医疗卫生数据中心案例简介

    河北省卫生厅是负责全省卫生工作的政府部门,辖区人口6000万,其职能是基于国家卫生工作大政方针,研究提出全省卫生事业发展规划和战略目标,制订全省卫生工作计划.地方规范和标准,开展行业监督管理和服务. ...

  2. BigData:大数据开发的简介、核心知识(linux基础+Java/Python编程语言+Hadoop{HDFS、HBase、Hive}+Docker)、经典场景应用之详细攻略

    BigData:大数据开发的简介.核心知识(linux基础+Java/Python编程语言+Hadoop{HDFS.HBase.Hive}+Docker).经典场景应用之详细攻略 BigData:大数 ...

  3. DataScience:数据可视化的简介(意义+六大优势)、使用工具之详细攻略

    DataScience:数据可视化的简介(意义+六大优势).使用工具之详细攻略 导读:源于人.机器和互联网本身的数据并不能为管理人员和其他决策者提供有价值的见解,必须整理.规范和进一步解释数据,然后进 ...

  4. 密码学加密算法分类_密码学中的国际数据加密算法(IDEA)

    密码学加密算法分类 Introduction 介绍 International Data Encryption Algorithm (IDEA) is a type of cryptography a ...

  5. 加密算法概念简介--MD5、SHA、DES、3DES、AES、RSA、ECC

    MD5        MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致.是计算机广泛使用的杂凑算法之一(又译摘要算法.哈希算法),主流编程语言 ...

  6. SequoiaDB数据水平分区简介

    1. 数据水平分区简介 在SequoiaDB中,默认情况下,表(集合)的数据只会存储在一个复制组中.这样,对该表的CRUD操作只会落到一个复制组中. 随着对表的IO请求上升/数据量的增加,就会造成性能 ...

  7. Android开发笔记(七十二)数据加密算法

    编码算法 URL编码 URL编码其实并非加解密算法,只是对特殊字符进行字符转义,从而方便在URL中传输参数.URL编码有两种方式,一种是狭义的URL编码,另一种是广义的URL编码. 狭义的URL编码指 ...

  8. 大数据与Hadoop有什么关系?大数据Hadoop入门简介

    学习着数据科学与大数据技术专业(简称大数据)的我们,对于"大数据"这个词是再熟悉不过了,而每当我们越去了解大数据就越发现有个词也会一直被提及那就是--Hadoop 那Hadoop与 ...

  9. 橙子01-大数据基础入门简介

    橙子01-大数据基础入门简介 大数据的概念 volume variety velocity value 大数据技术 大数据处理的基本流程 云计算的三个关键技术 大数据的应用 相关视频内容可在b站观看大 ...

最新文章

  1. python截取后三位元素_python – 如何从BeautifulSoup的表中获取第一个和第三个td?...
  2. c++ 重载 重写_关于C/C++中的++i和i++实现机制的探讨
  3. 该文件可能是只读的 或者您要访问的位置_喔噢小贴士:如何保护PPT不被更改,将其设为只读...
  4. hashSet与treeSet的去重原理
  5. dom4j工具类_基于DOM4J的XML文件解析类
  6. Python vtk学习(1)
  7. Inception介绍(MySQL自动化运维工具)
  8. matlab双线性插值双三次插值对CUFED5进行处理
  9. Java 微信小程序笔记 三、 微信小程序邀请码生成
  10. flutter doctor --android-licenses命令之后出现JAVA_HOME错误
  11. 什么是 DeFi(去中心化金融)?
  12. 学习javaweb第二天
  13. 美国洛杉矶时间转 格林威治时间
  14. 用1、3、5、7 这4 个数字,能组成的互不相同且无重复数字的三位数有哪些?共有多少个?这些数的和为多少?
  15. arduino烧录esp8266出错:error: espcomm_upload_mem failed
  16. logstash收集日志写入redis
  17. 【查找算法】二叉排序树查找法
  18. 树莓派4B安装历程(小白)
  19. SVM 图片分类python实现
  20. elementary os网易云音乐托盘图标不显示菜单解决方法

热门文章

  1. linux ftp命令大全,linuxftp常用命令【图解】
  2. ui unity 图片高亮_程序化生成UI模型与顶点动画
  3. 解决spring整合mybatis时错误 ‘org.mybatis.spring.mapper.MapperScannerConfigurer#0‘
  4. 知道python网课答案_Python程序设计答案
  5. onnx 测试_ONNX 现场演示教程
  6. c语言程序设计教程岳莉答案,C++程序设计教程
  7. 计算机网络网关作用,默认网关的作用
  8. 大学生拍照搜题_大学生心理健康教育知识,请问:这个考试有没有找答案软件?...
  9. c语言指着与数组,C语言指针与数组
  10. 大快人心,盗版串口芯片CH340的被判刑了,公司被罚400万!