加密算法简介

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

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

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

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

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

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

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

所谓对称加密,是指加密和解密使用同一个密钥,通常称之为“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. SQL标准结构化语言练习,SQL增删查改,SQL实现对bank数据的操作
  2. ip对应的区域查询(php版)(转)
  3. python获取cmd输出并生成字典_python - 字典输出生成如何进行改名
  4. std::string的split函数
  5. linux守护进程的编写
  6. An internal error occurred during: Launching New_configuration.
  7. 创校史纪录!26岁女博导发顶刊
  8. HTML期末作业-美食网站
  9. Android APK反编译步骤
  10. Redis应用场景一
  11. javascript中Object类原型对象的属性和方法
  12. {windows}之向 暴风一号(病毒) 学习一个注册表小知识
  13. 如何在官网下载java JDK
  14. Pandas高级教程之:Dataframe的合并
  15. 彭启宗的dsp技术学习笔记
  16. pdf增强锐化软件_分享一波图像处理软件神器,绝对牛皮!!
  17. X-Rover 关建华:所有产品首先要考虑的,永远是用户需求
  18. 中国剩余定理求解同余线性方程组(模数互素和非互素的情况)
  19. Windows 10推送的锁屏壁纸保存方法
  20. 如何判断手机浏览器是否有安全隐患?

热门文章

  1. 如何在Kubernetes里给PostgreSQL创建secret
  2. 使用工具Source Monitor测量您Java代码的环复杂度
  3. django文档_如何在django官方文档中快速找到需要的内容
  4. 荆州水文水位查询_【心能源】天欣公司矿井水文自动观测系统投入使用
  5. python的实例属性和静态属性表_Python:类属性,实例属性,私有属性与静态方法,类方法,实例方法...
  6. RabbitMQ和Kafka的区别
  7. 获取不到时间_一月自考成绩查询时间一出,看了文章这次稳过
  8. python解析apk文件_Python获取apk文件URL地址实例
  9. php通过ajax下载文件,PHP使用ajax的post方式下载excel文件简单示例
  10. 关于硕士研究生的几点思考