网络安全(1)_对称加密和非对称加密

devtools/2024/11/30 13:30:04/

网络安全概述

1.1 计算机网络面临的安全威协

(1)截获:攻击者从网络上窃听他人的通信内容,通常把这类攻击称为“截获”。在被动攻击中,攻击者只是观察和分析某一个协议数据单元(PDU)而不干扰信息流

(2)篡改:攻击者篡改网络上传递的报文。这里包括彻底中断传递的报文,甚至把完全伪造的报文传送给接收方,这种攻击也有时也称为“更改报文流”。如DNS劫持(域名劫持),安装黑客软件Cain可以进行验证。

(3)恶意程序:是一种特殊的主动攻击形式。如计算机病毒、蠕虫、木马程序、逻辑炸弹等。病毒是一种应用程序,不会存储在交换机、路由器这些网络设备中,因此这些设备不会中毒,但他们会通过网络传播到其他计算机中,当计算机中了病毒也会反过来影响网络设备的正常工作(如发送大量ARP广播包,造成内网堵塞)

(4)拒绝服务攻击:攻击者向因特网上的服务器不停发送大量分组,使因特网或服务器无法提供正常服务,这种攻击被称为拒绝服务(Denial of Service, DoS)。如果攻击者操纵因特网上的成百上千的网站集中攻击一个网站,则称为分布式拒绝服务(Distributed Denial of Service, DDoS)。有一种DDoS攻击叫做CC(Challenge Collapsar, 挑战黑洞软件)

1.2 一般的数据加密模型

(1)A和B事先预先协商好一个密钥K,然后A明文前通过加密算法E后得出密文Y。一般的加密表示方法为Y=Ek(X)

(2)B收到密文Y后,根据密钥K解密明文X。发送前将数据加密,在接收端B解密得到明文。解密运算表示为Dk(Y) = Dk(Ek(X)) = X

(2)如果加密密钥和解密密钥是同一个密钥,这种加密技术称为“对称加密”。如果两个密钥不同,这种加密技术称为“非对称加密”

2. 对称加密和非对称加密

2.1 对称密码体制

(1)加密密钥和解密密钥是相同的密码体制。常用的算法有DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK和AES等。

(2)对称加解密算法的优缺点

  ①优点:算法公开、计算量小、加密速度快、加密效率高

  ②缺点:数据传送前,发送方和接收方必须商定好密钥,然后双方都要保管好密钥。如果一方的密钥被泄露,那么加密信息就不安全了。此外,如果每对用户每次使用对称加密算法时都需要使用其他人不知道的唯一密钥,就会使收、发双方所拥有的钥匙数量巨大,密钥管理成为双方的负担。

2.2 非对称密码体制

(1)公钥密码体制。常见的算法有RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆线加密算法)

  ①发送数据前,B产生一个密钥(B的公钥PK和私钥SK),然后B将公钥PK通过网络传给A(即公钥是公开的,可能被C截获

  ②A使用B的公钥(PK)加密明文,得到密文Y,发送给B。

  ③C捕获密文Y,使用前面截获的公钥PK不用解密出明文(公钥加密时需用私钥解密),即便知道解密算法也无济于事。

  ④B收到密文Y后,使用B的私钥SK解密得到明文X。

(2)非对称加密的优缺点

  ①优点与对称加密相比,其安全性更好。他使用一对密码,公开密钥用来加密,私钥用来解密。不需要像对称加密那样在通信之前要先同步密钥。

  ②缺点:加密和解密花费时间长、速度慢,只适合对少量数据进行加密

(3)对称加密与非对称的结合

  ①对称算法计算机小、加密速度快、加密效率高。但密钥在网络中传输存在被截获的风险。而非对称加密公钥不担心被截获,但加解密时间长,速度较慢,只适合少量数据的加密。

  ②两者的结合:用对称算法加密大文件,其密钥(CK)再经过非对称算法进行加密。如下图A产生一个对称密钥“123abc”,使用对称密钥加密500M文件,虽然文件较大,但对称加密效率高,很快完成。加密后,再使用B的公钥加密对称密钥“123abc”,然后将加密后的500M文件加密后的对称密钥一起发给B,B收到后使用私钥解密得到对称密钥“123abc”,然后再使用“123abc”解密这500M的文件,效率高。


http://www.ppmy.cn/devtools/138207.html

相关文章

[Python/网络安全] Git漏洞之Githack工具基本安装及使用详析

前言 本文仅分享Githack工具基本安装及使用相关知识,不承担任何法律责任。 Git是一个非常流行的开源分布式版本控制系统,它被广泛用于协同开发和代码管理。许多网站和应用程序都使用Git作为其代码管理系统,并将其部署到生产环境中以维护其代…

基于单片机的智能药箱设计

本设计主要由红外检测传感器、显示、独立按键、舵机、语音以及短信等模块组成。红外传感器模块主要对药仓中的药物数据进行采集,采集完毕由主控制器进行数据加工,之后可传送至显示模块上进行显示,在显示模块也可对显示时间、吃药倒计时、吃药…

《软件项目管理》期末-复习题及参考答案

(1)赶工一个任务时,你应该关注( C ) A. 尽可能多的任务 B. 非关键任务 C. 加速执行关键路径上的任务 D. 通过成本最低化加速执行任务 (2)下列哪个不是项目管理计划的一部分?&#x…

Vue.js 指令详解:v-bind, v-html, v-once, v-on, v-if, v-else-if, v-else 和 v-model

Vue.js 是一个用于构建用户界面的渐进式框架,它通过一系列的指令来实现数据与 DOM 的绑定。在本篇博客中,我们将通过一个示例来介绍 Vue 3 中的一些常用指令:v-bind, v-html, v-once, v-on, v-if, v-else-if, v-else 和 v-model。 1. v-bind…

【机器学习】机器学习的基本分类-监督学习-逻辑回归(Logistic Regression)

逻辑回归是一种分类算法,尽管名字中包含“回归”,但其主要用于解决二分类和多分类问题。它通过学习一个逻辑函数,预测输入属于某个类别的概率。 1. 逻辑回归的基本概念 目标 逻辑回归的目标是找到一个函数 h(x),输出一个概率值 …

微信小程序Webview与H5通信

背景 近期有个微信小程序需要用到web-view嵌套H5的场景,该应用场景需要小程序中频繁传递数据到H5进行渲染,且需要保证页面不刷新。 由于微信小程序与H5之间的通信限制比较大,显然无法满足于我的业务场景 探索 由于微信小程序与webview的环境是…

田忌赛马五局三胜问题matlab代码

问题描述:在可以随机选择出场顺序的情况下,如果把比赛规则从三局两胜制改为五局三胜制,齐王胜出的概率是上升了还是下降了?五局三胜的赛制下,大家的马重新分为5个等级。前提条件仍然是齐王每种等级的马都优于田忌同等级…

docker入门学习笔记

docker的定义 docker是一个用于构建、运行、传送 应用程序的平台。 为什么要使用docker ? 在开发测试库环境中测试成功后,打包成集装箱,到生产环境也是能够成功的。而传统的安装方式不仅繁琐,并且在测试环境安装后,到…