对称加密/非对称加密

news2024/11/28 6:49:18

古典密码学

起源于古代战争:在战争中,为了防止书信被截获后重要信息泄露,人们开始对书信进行加密。

移位式加密

如密码棒,使用布条缠绕在木棒上的方式来对书信进行加密。

加密算法:缠绕后书写
密钥: 木棒的尺寸

替换式加密

按规则使用不同的文字来替换掉原先的文字来进行加密

加密算法:替换文字
密钥:替换的码表

现代密码学

可以加密任何二进制数据
非对称加密的出现使得密码学有了更广泛的用途:数字签名

对称加密

原理

通信双方使用同一个密钥,使用加密算法配合密钥来加密,解密时使用加密过程的完全逆过程来进行解密

简化模型即上面的古典密码学中替换式加密的模型:对文字进行规则化替换来加
密,对密文进行逆向的规则化替换来解密

经典算法

DES(56位密钥,密钥太短而逐渐被抛弃)、AES(128位、192位、256位密钥,现在最流行)

对称加密作用

加密通信,防止信息在不安全网络上被截获后,信息被人读取或篡改

对称加密(如AES)的破解

破解思路
拿到一组或多组「原文-密钥」对
设法找到一个密钥,这个密钥可以将这些「原文-密文」对中的原文加密为密文,以及将密文解密为原文,即为成功破解

反破解
一种优秀的堆成加密算法的标准是,让破解者找不到比穷举法(暴力破解发)更有效的破解手段,并且穷举法的破解时间足够长(例如数千年)

对称加密的缺点

密钥泄漏:不能在不安全网络上传输密钥,一旦密钥泄漏则加密通信失败。

非对称加密

原理

使用公钥对数据进行加密得到密文;使用私钥对数据进行解密得到原数据
非对称加密使用的是复杂的数学技巧,在古典密码学中没有对应的原型

签名(确认对方身份)

由于私钥和公钥互相可解,因此非对称加密还可以应用于签名技术
通常会对原数据hash以后对hash签名,然后附加在原数据后面作为签名,这是为了让数据更小

在这里插入图片描述

使用非对称加密通信,可以在不可信网络上将双方的公钥传给对方,然后在发消息前分别对消息使用对方的公钥来加密和使用自己的私钥来签名,做到不可信网络上的可靠密钥传播即加密通信

在这里插入图片描述

经典算法:

RSA(可用于加密和签名)、DSA(仅用于签名)

非对称加密的优缺点

优点:可以在不安全网络上传输密钥
缺点:计算复杂,因此性能相比对称加密差很多

非对称加密(如RSA、ECDSA)的破解

破解思路
和对称加密的不同之处在于,非对称加密的公钥很容易获得,因此制造「原文-密文」对没有什么困难的事
所以非对称加密的关键在于,如何找到一个正确的私钥,可以解密所有经过公钥加密过的密文,找到这样的私钥即为破解
由于非对称加密的自身特性,怎么样通过公钥来推断出

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[笔记]深入解析Windows操作系统《四》管理机制

文章目录 前言4.1注册表查看和修改注册表注册表用法注册表数据类型注册表逻辑结构HKEY_CURRENT_USERHKEY_USERS 实验:观察轮廓加载和卸载HKEY_CLASSES_ROOTHKEY_LOCAL_MACHINE 实验:离线方式或远程编辑BCDHKEY_CURRENT_CONFIGHKEY_PERFORMANCE_DATA 前言 本章讲述了…

day3_垃圾回收器

文章目录 Serial回收器ParNew回收器Parallel Scavenge回收器Serial Old回收器Parallel Old回收器CMS(Concurrent Mark Sweeping)回收器G1 主要有7种垃圾回收器,如下所示: 其中有直线关联的表示,这2种垃圾回收器可以配合使用的。 S…

大模型之PaLM2简介

1 缘起 大模型时代。 时刻关注大模型相关的研究与进展, 以及科技巨头的商业化大模型产品。 作为产品&技术普及类文章,本文将围绕PaLM2是什么、特点、如何使用展开。 想要了解更多信息的可以移步官方网站提供的参考文档,后文会给出相关链…

Oracle11g服务说明

一、服务说明 1.OracleDBConsoleorcl:非必须启动 Oracle数据库控制台服务,orcl是Oracle的实例标识,默认的实例为orcl。在运行Enterprise Manager(企业管理器OEM)的时候,需要启动这个服务。 2.OracleJobS…

一文了解异步编程

promise 什么是promise promise是异步编程的一种解决方案,从语法上来说,Promise是一个对象,从它可以获取异步操作的消息 ES6规定,Promise对象是一个构造函数,接受一个函数作为参数,这个函数会立即执行&a…

Long类型返回前端精度丢失

【1】给前端返回Long会出现精度丢失问题 在《阿里巴巴Java开发手册》中,有一条关于前后端超大整数返回的规约,具体内容如下: 【2】问题复现 后端直接用postman测试接口,返回数据没有问题。但是前端访问接口的时候,发…

系统化了解Micrometer

本文从官方文档整理出一篇系统化全面了解的文章, 后续可能会慢慢补上源码层面的解析: https://micrometer.io/docs 学习本文的目的在于深入了解中间件的监控模块的设计, 先看看主流的做法于核心思想 本文的引用来的笔者的理解于备注 需要做的是: 先理解功能存在的理由设计模式…

kibana 代码执行 (CVE-2019-7609)

漏洞原理 “原型污染”是一种针对JS语言开发的攻击方法。JS语言中,每一个对象都是有其原型(proto)的,而该原型又有其自己的原型对象,直到某个对象的原型为null。而如果JS对其中定义的对象原型的属性读写缺乏控制&…

进程程序替换+简易版shell实现

索引 进程程序替换如何进行程序替换不同程序替换函数之间的区别系统接口调用其他语言的函数替换函数execle 简易版shell实现 进程程序替换 什么是进程程序替换? 指在一个正在运行的进程中,将原来的程序替换成新的程序的过程。 eg:如果我们想…

I IntelliJ IDEA 2023.1 最新解锁方式,支持java20,让Coding飞一会儿

IntelliJ IDEA 2023.1 最新变化 在 IntelliJ IDEA 2023.1 中,我们根据用户的宝贵反馈对新 UI 做出了大量改进。 我们还实现了性能增强,从而更快导入 Maven,以及在打开项目时更早提供 IDE 功能。 新版本通过后台提交检查提供了简化的提交流程…

Android不基于第三发依赖包解析shp文件(2)

接着上篇文章继续 2)Point (点)   一个 Point 由一对双精度坐标组成,存储顺序为 X,Y。    /*** PointGeometry记录读取* */static Geometry renderPointGeometry(byte[] recordContent,GeometryFactory geometryFactory) {int shapetype2

N轴机械臂的MDH正向建模,及python算法

目录 一、前言二、三维空间的坐标系变换三、MDH建模要点四、MDH的变换矩阵推导五、机械臂MDH的python模型六、python源码 一、前言 如果机器人工程师缺乏机器人学理论的支撑和足够的认识,那么随着机器人项目的深入推进,可能会越走越艰难,所谓…

【Lambda】集合的Lambda表达式

【Lambda】集合的Lambda表达式 【一】Stream的方法介绍【1】Stream里常用的方法【2】collect(toList()) & filter【3】map【4】flatMap【5】max&min【6】reduce 【二】常用案例总结【1】准备方法查询数据库获取List结果【2】取值【3】分组【4】去重【5】排序【6】list的…

uniapp制作水印相机给图片添加水印并且保存图片至本地

uniapp保存文件的三种方式 文件主要分为两大类: 1.代码包文件:代码包文件指的是在项目目录中添加的文件。 2.本地文件:通过调用接口本地产生,或通过网络下载下来,存储到本地的文件。 其中本地文件又分为三种&#…

【K8s】Service详解

文章目录 一、Service介绍1、认识Service2、kube-proxy的三种工作模式3、Service的类型 二、Service的使用1、实验数据准备2、Service类型为ClusterIP补充:Endpoints补充:负载分发策略 3、Service类型为HeadLiness3、Service类型为NodePort4、Service的类…

Ovito渲染技巧之体系边界识别

关注 M r . m a t e r i a l , \color{Violet} \rm Mr.material\ , Mr.material , 更 \color{red}{更} 更 多 \color{blue}{多} 多 精 \color{orange}{精} 精 彩 \color{green}{彩} 彩! 主要专栏内容包括: †《LAMMPS小技巧》: ‾ \textbf…

性能、性能还是性能---下一代Android性能框架分析

性能优化的重要性和难度毋庸置疑,事实上,性能优化也是一个永无止境的游戏,总会发现有一些东西需要优化。但是不可避免的是,这也是一个边际效益递减的事情,项目或应用获得的收益在一定程度上也会逐渐降低。What’s new …

ReentrantLock 原理

目录 ReentrantLock 概述 ReentrantLock 的原理 什么是 AQS ? 获取锁资源(以⾮公平锁为例) tryAcquire addWaiter acquireQueued 释放锁资源 ⾮公平锁体现在哪⾥? 调试代码 总结 ReentrantLock 概述 ReentrantLock是Lock接⼝的默认实现,是⼀…

【Linux】-关于Linux的指令(下)

💖作者:小树苗渴望变成参天大树 ❤️‍🩹作者宣言:认真写好每一篇博客 💨作者gitee:gitee 💞作者专栏:C语言,数据结构初阶,Linux,C 文章目录 前言一、时间相关的指令二、cal指令三、find -name指…

Centos7 经典模式安装GBase 8s 图文教程

Centos7安装GBase 8s 图文教程 前言1.1 硬件要求1.2 系统要求1.3 虚拟 PC 软件1.4 安装及配置数据库服务器1.4.1 创建 gbasedbt 组和用户1.4.2 创建 GBase 8s 数据库安装目录1.4.3 上传并解压安装包1.4.4 执行安装 参考文献 前言 本篇博文分享如何在Centos7 x86架构的系统中安…