当前位置: 首页 > news >正文

加密算法相关

RSA 加密算法的流程


1️⃣ 密钥生成

你的步骤是标准的 RSA:

  1. 选大质数 (p, q)

    • 通常 1024 位以上(现代安全要求 2048 位以上)
    • 确保无法被高效分解
  2. 计算模数 $ (n = p \times q)$

    • 用于公钥和私钥
    • 明文和密文都需小于 (n)
  3. 计算欧拉函数 \((\phi(n) = (p-1)(q-1))\)

    • 保证后续公私钥关系成立
  4. 选择公钥 (e)

    • \((1 < e < \phi(n))\),且 \((\gcd(e, \phi(n)) = 1)\)
    • 常用 \((e=65537)\),兼顾安全与效率
  5. 计算私钥 (d)

    • 模逆元:\(((d \times e) \mod \phi(n) = 1)\)
    • 确保解密可逆

最终公钥 \(((e, n))\),私钥 \(((d, n))\)

💡 补充:p, q, φ(n) 一旦生成私钥后应该立即销毁,防止泄露导致私钥被推导。


2️⃣ 加密解密流程

  • 加密\((c = m^e \mod n)\)
  • 解密\((m = c^d \mod n)\)

注意:明文 (m) 必须小于 (n),实际应用中通常会先做 分块或填充(Padding),如 PKCS#1 或 OAEP,否则大消息无法直接加密。


3️⃣ 为什么能解密

基于 欧拉定理
\( [ m^{\phi(n)} \equiv 1 \pmod{n} \quad (\text{如果 } \gcd(m,n)=1) ] \)

因为 (d) 是 (e) 的模逆元:
\( [ e \cdot d = k \cdot \phi(n) + 1 ] \)
所以解密:
\( [ c^d = (m^e)^d = m^{ed} = m^{k \phi(n) + 1} = (m^{\phi(n)})^k \cdot m \equiv 1^k \cdot m \equiv m \pmod{n} ] \)

这解释了为什么公钥加密后,私钥能解密还原明文。


4. 关键特性

  • 非对称性:公钥可公开,私钥必须保密

  • 安全性基础:依赖大整数因式分解困难性

  • 注意事项

    • 明文不能直接大于 n
    • 实际系统加密时通常使用 混合加密:先对数据用对称加密(AES),再用 RSA 加密对称密钥
    • 需要做填充,防止简单明文攻击

http://www.hskmm.com/?act=detail&tid=39669

相关文章:

  • 刻意练习的重要性
  • 利用 kubeadm 快速部署 kubernetes(k8s) 集群
  • 第七周物理实验:分光仪调节及三棱镜折射率测量
  • 联发科技 Genio 物联网高效的平台,引领 IoT 智能新时代
  • 20232324 2025-2026-1 《网络与系统攻防技术》实验三实验报告
  • 密码学学习
  • 电脑文件系统整理概要
  • 为自己读书
  • Boost.asio中的协程队列库
  • 第6天(简单题中等题 不定长滑动窗口)
  • 代码大全阅读笔记
  • 主动求索:大学生应掌控学习与时间
  • 沉入 遗忘 海底 躲进 存在感的盲区 kill my memory 请把项上垃圾移去
  • 2025.10.25 测试 广二 + 梦熊
  • Serilog 日志库的简介
  • 2025东莞环评公司/环评手续/环评报告/环评验收推荐:广东三洁环保,专业高效,合规保障
  • word文档使用技巧----一键插入题注
  • 再见 懦弱者的泪滴 善恶判断舍弃 永别 那廉价的正义
  • 变盲从为探索:专注听课
  • 以听为基,以做为翼
  • 【CI130x-离在线】FreeRTOS的信号量
  • 践行 “学思行”,解锁学习新境界
  • 【ArcMap】按属性表复制字段并上移一段距离
  • CF1060
  • 以专注筑基,以实践致远
  • 2025.10.24 测试
  • 102302139 尚子骐 数据采集与融合作业1
  • CF1152F2 Neko Rules the Catniverse (Large Version) 题解
  • Audacity:开源音频编辑器的完整指南
  • 123456789