盘算机网络•自顶向下方法:网络安全、RSA算法

[复制链接]
发表于 2025-11-13 21:01:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
网络安全

网络安全的通用界说:
网络安满是指网络体系的硬件、软件及其体系中的数据受到掩护,不受偶然的大概恶意的缘故原由而遭到粉碎、更改、泄漏,体系连续可靠地运行,网络服务不停止。
网络中的通讯安全
秘密性:


  • 报文内容的秘密性:仅发送方和盼望的吸收方可以大概明白报文的内容
  • 通讯活动的秘密性:通讯活动或其特性不被外界察觉
端点辨别:


  • 发送方和吸收方都可以大概证实通讯过程中涉及的另一方
报文完备性:


  • 报文来自真实的泉源,且传输过程中未被修改
运行安全性:


  • 网络体系正常运行,网络服务可用
安全攻击的范例:被动攻击
试图从体系中获取信息,但不对体系产生影响
两种范例:


  • 偷听:监听并记载网络中传输的内容
  • 流量分析:从通讯频度、报文长度等流量模式推断通讯的性子
安全攻击的范例:主动攻击
试图改变体系资源或影响体系的操纵
四种范例:


  • 伪装:一个实体假冒另一个实体
  • 重放:从网络中被动地获取一个数据单位,颠末一段时间后重新发送到网络中
  • 报文修改:修改、插入、删除报文或报文部门内容
  • 拒绝服务:克制通讯办法的正常利用或管理
常见的安全机制


  • 加密:利用数学算法对数据举行变更,使其不易明白
  • 辨别:通过报文交换证实一个实体的身份,以防假冒
  • 报文完备性:验证一个报文是否可信,包罗泉源和内容
  • 数字署名:附加在一个数据单位反面的数据,用来证实数据单位的泉源及完备性,以防伪造及诡辩
  • 流量添补:在数据流间隙中插入比特,以挫败流量分析的筹划
  • 访问控制:通过授权机制限定用户对资源的访问,防止越权活动
暗码学

暗码学术语


  • 明文(plaintext):欲加密的原始数据
  • 密文(ciphertext):明文经加密算法作用后的输出
  • 密钥(key):加密息争密时利用的参数
  • 暗码分析(cryptanalysis):破译密文
  • 暗码学(cryptology):筹划暗码和破译暗码的技能统称为暗码学

加密算法的分类
按照加密密钥与解密密钥是否雷同,加密算法分为:


  • 对称加密算法:加密密钥与解密密钥雷同
  • 非对称加密算法:加密密钥与解密密钥差别
按照明文被处理惩罚的方式,加密算法分为:


  • 块暗码(分组暗码) :每次处理惩罚一个明文块,天生一个密文块
  • 流暗码:处理惩罚连续输入的明文流,并天生连续输出的密文流
传统加密方法:更换
更换暗码:


  • 用密笔墨母更换明笔墨母,但字母位置稳定
  • 例子:凯撒暗码,单字母表更换,多字母表更换
传统加密方法:换位
换位暗码:


  • 保存明笔墨母稳定,但改变字母的位置
  • 例子:列换位暗码
暗码的安全性
传统加密方法的安全性创建在算法保密的根本上
今世加密方法也利用更换和换位两种根本本领,但今世暗码学的根本原则是:加密与解密的算法是公开的,只有密钥是必要潜伏的
一个加密算法被称为是盘算安全的,假如由该算法产生的密文满足以下两个条件之一:


  • 破译密文的代价凌驾信息本身的代价
  • 破译密文所需的时间凌驾信息的有用生命期
今世暗码学中,暗码的安全性是通过算法的复杂性和密钥的长度来包管的
今世暗码学:非对称加密
非对称加密算法:
发送者和吸收者不共享密钥


  • 发送者利用加密密钥
  • 吸收者利用解密密钥
不存在密钥通报题目:


  • 加密密钥是公开的
  • 解密密钥是私有的
公开密钥算法的利用
每个用户天生一对加密密钥息争密密钥:


  • 加密密钥放在一个公开的文件中,解密密钥妥善保管
当Alice盼望向Bob发送一个加密信息时:


  • Alice从公开的文件中查到Bob的加密密钥,用Bob的加密密钥加密信息,发送给Bob
  • Bob用本身的解密密钥解密信息
公开密钥和私有密钥:


  • 公开密钥:加密密钥,由发送者利用
  • 私有密钥:解密密钥,由吸收者利用

公开密钥算法应满足的条件


  • 天生一对加密密钥息争密密钥是轻易的
  • 已知加密密钥,从明文盘算出密文是轻易的
  • 已知解密密钥,从密文盘算出明文是轻易的
  • 从加密密钥推出解密密钥是不大概的
  • 从加密密钥和密文盘算出原始明文是不大概的
RSA算法

RSA算法的加密息争密过程依赖于 公钥 和 私钥 的配对。加密息争密的密钥不是同一个,公钥用于加密数据,私钥用于解密数据。RSA的安全性基于大整数分解题目:即将一个大数分解成其质因数好坏常困难的。
RSA算法步调

1. 密钥天生


  • 选择两个大素数p和q(典范值为大于                                   1                                   0                            100                                       10^{100}                  10100)
  • 盘算                                   n                         =                         p                         ×                         q                              n=p\times q                  n=p×q和                                   z                         =                         (                         p                         −                         1                         )                         ×                         (                         q                         −                         1                         )                              z=(p-1)\times (q-1)                  z=(p−1)×(q−1)
  • 选择一个与 z 互质的数,令其为 d
  • 找到一个 e 使满足                                   e                         ×                         d                         =                         1                         (                         m                         o                         d                         z                         )                              e\times d=1 (mod z)                  e×d=1(modz)
  • 公开密钥为                                   (                         e                         ,                         n                         )                              (e, n)                  (e,n),私有密钥为                                   (                         d                         ,                         n                         )                              (d, n)                  (d,n)

2. 加密过程

利用公钥                               (                      e                      ,                      n                      )                          (e, n)               (e,n) 对明文                               M                          M               M 举行加密:

  • 将明文消息                                        M                                  M                     M 转换为整数                                        m                                  m                     m ,使得$ ( 0 \leq m < n )$。
  • 利用公钥加密公式:
                                                  c                               =                                           m                                  e                                                                          m                                  o                                  d                                            n                                       c = m^e \mod n                         c=memodn

    •                                              c                                      c                        c是密文。


3. 解密过程

利用私钥                               (                      d                      ,                      n                      )                          (d, n)               (d,n)对密文                              c                          c               c举行解密:

  • 利用私钥解密公式:
                                                  m                               =                                           c                                  d                                                                          m                                  o                                  d                                            n                                       m = c^d \mod n                         m=cdmodn

    •                                              m                                      m                        m是解密后的明文整数。

  • 将解密后的整数                                        m                                  m                     m转换回明文消息                                        M                                  M                     M

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表