简单聊聊加密和加签的关系与区别

大家好,我是G探险者。

平时我们在项目上一定都听过加密和加签,加密可能都好理解,知道它是保障的数据的机密性,那加签是为了保障啥勒?它和加密有啥区别?

带着这个疑问,我们就来聊聊二者的区别。

加密(Encryption)和加签名(Signing)这两种技术在确保数据安全和完整性方面发挥着关键作用。虽然这两种技术常被提及,但它们各自的功能和应用却有着明显的差异。

1.加密:保护数据内容的机密性

加密是一种通过将数据转换成不可读形式的方法,以防止未授权的访问。这一过程涉及使用密钥(Key)将原始数据(明文)转换为加密后的数据(密文)。

  • 目的: 保护数据的机密性,确保只有授权的接收方能够阅读数据内容。
  • 常用算法: RSA、ECC(Elliptic Curve Cryptography)等。
  • 特点: 非对称加密通常用于加密小量数据,如加密其他密钥或密钥交换,因为它相比对称加密来说计算量更大。

加密分为两类:

对称加密: 使用相同的密钥进行数据的加密和解密。例如,AES(Advanced Encryption Standard)是一种常用的对称加密算法。

非对称加密: 使用一对密钥,其中公钥用于加密,私钥用于解密。RSA(Rivest-Shamir-Adleman)算法是非对称加密的典型例子。

2. 加签名:验证数据来源和完整性

加签名是一种用来验证数字信息完整性和来源真实性的技术。通过使用私钥生成签名,然后使用相应的公钥进行验证。这个过程确保了数据在传输过程中没有被篡改,并且证实了数据来源的合法性。

  • 目的: 验证数据的完整性和来源的真实性,确保数据在传输过程中未被篡改,并验证发送方的身份。
  • 密钥使用: 签名是使用发送方的私钥生成的,任何人都可以使用发送方的公钥来验证签名,但只有发送方才能生成这个签名。
  • 常用算法: RSA、DSA(Digital Signature Algorithm)、ECDSA(Elliptic Curve Digital Signature Algorithm)等。
  • 特点: 加签名不对数据本身进行加密,而是生成一个小的、基于原始数据的数字指纹(通常通过哈希函数产生)。

3. 加密与加签名的关系和区别

虽然加密和加签名在保护信息安全方面共同作用,但它们的目的和应用有着本质的不同。

特性/操作加密 (Encryption)加签名 (Signing)
目的保护数据的机密性。验证数据的完整性和来源的真实性。
工作方式对称加密使用同一密钥进行加解密,非对称加密使用公钥加密和私钥解密。使用私钥生成签名,使用公钥验证签名。
密钥使用对称加密中同一密钥用于加密和解密;非对称加密中使用一对密钥,公钥加密,私钥解密。私钥用于生成签名,公钥用于验证签名。
数据可见性加密后的数据不可读,只有拥有密钥的人能解密查看原始数据。签名不影响数据的可读性,任何人都可以读取数据,但只有签名者才能生成有效签名。
安全目标防止未授权访问和阅读数据内容。确保数据未被篡改,并验证数据来源的真实性。
应用场景保护数据传输过程中的隐私(如加密邮件、文件、网络数据等)。确认数据的合法来源和完整性(如软件更新验证、文档签名、身份认证等)。
典型使用敏感数据的存储和传输,如个人信息、商业秘密等。软件分发、电子商务交易、数字合同等场景,确保数据和交易的安全性。

4. 小结

  • 加密 侧重于保护数据内容的机密性,使得数据内容仅对授权用户可见。
    公钥加密,私钥解密:在非对称加密中,发送方使用接收方的公钥对数据进行加密,只有拥有对应私钥的接收方能够解密。这确保了只有特定的接收者能够访问加密数据。

  • 加签名则侧重于验证数据的完整性和来源的真实性,确保数据未被篡改且来源可靠。
    私钥加签,公钥验签:在数字签名的过程中,发送方使用自己的私钥对数据(或其哈希值)进行加签。任何人都可以使用发送方的公钥来验证签名,以确认数据的完整性和发送方的身份。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/182412.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

测试15k薪资第1步 —— 自动化测试理论基础

目录 1、自动化测试定义 2、自动化测试分类&工具 3、未来发展趋势 1.1、什么是自动化测试 自动化测试指的是利用软件工具或脚本来执行测试任务,以替代手动测试过程的一种测试方法。它的主要目的是通过自动化执行、验证和评估软件应用的功能、稳定性、性能等方面…

Redis(哨兵模式)

哨兵模式的定义: 是Redis的一种高可用解决方案,通过运行多个Redis实例来监控主从Redis实例的状态,当主实例出现故障时,哨兵会自动选举一个从实例作为新的主实例,从而保证系统的高可用性。哨兵模式可以监控多个主从Red…

HCIP---MPLS---LDP

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 MPLS 基于标签转发表进行转发,与路由表类似,标签转发表有两种获取渠道:一是手动配置(类似静态路由),二是通过协议自动学习(类似OSPF)。手动配…

ubuntu搭建phpmyadmin+wordpress

Ubuntu搭建phpmyadmin wordpress Linux系统设置:Ubuntu 22配置apache2搭建phpmyadmin配置Nginx环境,搭建wordpress Linux系统设置:Ubuntu 22 配置apache2 安装apache2 sudo apt -y install apache2设置端口号为8080 sudo vim /etc/apache…

【MISRA-C 2012】浓缩版解读

文章目录 1、前言2、简介2.1、如何看待MISRA-C 20122.2、准则(guidelines)里面的指示(Directive)和规则(Rule)2.3、准则(guidelines)的级别(Category) 3、若干重要的Directive和Rule3.1、指示(Directive)Dir 2.1(必要) 所有的源文件编译过程不得有编译错…

【机器学习 | ARIMA】经典时间序列模型ARIMA定阶最佳实践,确定不来看看?

🤵‍♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…

2023年广东成考成绩公布!分数线也出来了!

广东考试院最新公布,参加2023年成人高考的考生,在今天(11月23日)18:20分后将受到官方的成绩短信。 考生也可以通过考试院小程序和官网网站查询成绩。 另外,考生收到的短信分数为卷面分,不含25岁年龄加分&am…

RAD Studio 12 IDE 界面主题设置

RAD Studio 12 IDE 界面主题设置 RAD Studio 12 IDE 界面主题设置RAD Studio 安装完成后自身默认背景界面高亮的,由于长期编程累眼,一般要自己设置暗色界面。具体操作如下: Light 浅色或 Dark 深色主题Tools->Options->User Interf…

【LeetCode刷题】--59.螺旋矩阵II

59.螺旋矩阵II class Solution {public int[][] generateMatrix(int n) {int[][] res new int[n][n];int count 1;int left 0,right n-1,top 0,bottom n -1;while(left < right && top < bottom){for(int col left;col < right;col){ //从左往右res[to…

超级利器!Postman自动化接口测试让你提升测试效率,节省宝贵时间!

Postman自动化接口测试 该篇文章针对已经掌握 Postman 基本用法的读者&#xff0c;即对接口相关概念有一定了解、已经会使用 Postman 进行模拟请求的操作。 当前环境&#xff1a; Window 7 - 64 Postman 版本&#xff08;免费版&#xff09;&#xff1a;Chrome App v5.5.3 …

unity shaderGraph实例-可交互瀑布

不要问我水在哪里&#xff0c;你自己相像这是一个瀑布&#xff0c;瀑布的效果我还不会做 效果展示 整体结构 这里片元着色器最后输出的baseColor应该是黑色&#xff0c;白色为错误。 各区域内容 区域1 计算球到瀑布的距离&#xff0c;然后减去一个值&#xff0c;实现黑色区域…

大模型增量预训练参数说明

在增量预训练过程中通常需要设置三类或四类参数,模型参数,数据参数,训练参数,额外参数。 下面分别针对这四种参数进行说明。 欢迎关注公众号 模型参数 model_type模型类型,例如bloom,llama,baichuan,qwen等。 model_name_or_path模型名称或者路径。 tokenizer_name_or…

计算机毕业设计 基于Hadoop的物品租赁系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

性能测试的指南:测试类型、性能测试步骤、最佳实践等!

近期公司为了节省成本搞了一波机房迁移&#xff0c;整合了一些南美部署架构。有一些上google云和有些下阿里云等大的调整。 在做机房迁移项目当中就需要思考如何进行性能测试&#xff0c;这种大的机房迁移SRE&#xff08;运维&#xff09;会针对组件会做一些单组件的性能测试&a…

App Cleaner Uninstaller Pro 一键清理,彻底卸载Mac应用

随着科技的不断发展&#xff0c;Mac电脑已经成为许多用户工作和娱乐的首选。然而&#xff0c;随着时间的推移&#xff0c;我们的Mac电脑上可能会堆积大量的无效文件和冗余数据&#xff0c;这不仅占用了宝贵的磁盘空间&#xff0c;还可能影响到系统的运行速度。为了解决这一问题…

远端WWW服务支持TRACE请求

安全扫描的时候&#xff0c;扫出来的问题&#xff0c;这里不分享如何处理&#xff0c;就只分享下&#xff0c;如何找到有问题的端口。 通过命令 curl -v -X TRACE -I ip:port&#xff0c;这里的ip和端口就是扫描出有问题的服务器地址ip以及开放的服务端口。 观察返回值&#x…

【亚太杯前两问论文】2023年第十三届APMCM亚太地区大学生数学建模竞赛——(文末领取方式)

2023年第十三届APMCM亚太地区大学生数学建模竞赛——论文无偿分享&#xff01;&#xff01;&#xff01; C题前两问论文代码已出&#xff0c;其他赛题及后续论文代码会持续更新。 祝各位小伙伴都能在比赛中发挥出色&#xff0c;取得心仪的成绩呦&#xff01;一起加油&#xff…

通过Spring整合MyBatis实现持久层操作

文章目录 为什么要整合Spring和MyBatis&#xff1f;步骤一&#xff1a;添加依赖步骤二&#xff1a;配置数据源步骤三&#xff1a;配置MyBatis步骤四&#xff1a;创建Mapper接口和XML文件步骤五&#xff1a;使用Mapper接口拓展&#xff1a;事务管理 &#x1f389;通过Spring整合…

基于51单片机数字电流表数码管显示( proteus仿真+程序+设计报告+讲解视频)

电流表 1. 主要功能&#xff1a;2. 讲解视频&#xff1a;3. 仿真4. 程序代码5. 设计报告6. 设计资料内容清单&&下载链接资料下载链接&#xff1a; 基于51单片机数字电流表数码管显示( proteus仿真程序设计报告讲解视频&#xff09; 仿真图proteus7.8及以上 程序编译器…

java游戏制作-王者荣耀游戏

一.准备工作 首先创建一个新的Java项目命名为“王者荣耀”&#xff0c;并在src下创建两个包分别命名为“com.sxt"、”com.stx.beast",在相应的包中创建所需的类。 创建一个名为“img”的文件夹来储存所需的图片素材。 二.代码呈现 package com.sxt;import javax.sw…