Skip to content

Latest commit

 

History

History
237 lines (209 loc) · 15.3 KB

File metadata and controls

237 lines (209 loc) · 15.3 KB

RSA CTF工具集 - GUI界面演示

🖥️ 界面总览

RSA CTF工具集的GUI界面采用现代化的标签页设计,集成了所有命令行工具的功能,提供了更加直观和友好的用户体验。

📋 主要界面

1. 🚀 快速解密标签页

┌─ RSA CTF工具集 - GUI版本 ─────────────────────────────────┐
│ [🚀快速解密] [⚔️RSA攻击] [🧮因数分解] [🔧RSA工具集] [📚使用示例] │
├─────────────────────────────────────────────────────────│
│ 🚀 快速RSA解密工具                                        │
│                                                         │
│ ┌─ 文件选择 ─────────────────────────────────────────┐   │
│ │ 公钥文件: [________________________] [浏览...]    │   │
│ │ 密文文件: [________________________] [浏览...]    │   │
│ └─────────────────────────────────────────────────────│   │
│                                                         │
│ ┌─ 手动输入参数 ─────────────────────────────────────┐   │
│ │ RSA模数 n: [____________________________]         │   │
│ │ 公钥指数 e: [____________________________]        │   │
│ │ 质因数 p:  [____________________________]         │   │
│ │ 质因数 q:  [____________________________]         │   │
│ └─────────────────────────────────────────────────────│   │
│                                                         │
│ [🔓 开始解密] [🗑️ 清空]                                  │
│                                                         │
│ ┌─ 解密结果 ─────────────────────────────────────────┐   │
│ │ 解密结果将在这里显示...                            │   │
│ │                                                     │   │
│ └─────────────────────────────────────────────────────│   │
└─────────────────────────────────────────────────────────┘

功能特点:

  • 支持文件拖拽上传
  • 自动检测文件格式
  • 实时进度显示
  • 智能错误提示

2. ⚔️ RSA攻击标签页

┌─ RSA CTF工具集 - GUI版本 ─────────────────────────────────┐
│ [🚀快速解密] [⚔️RSA攻击] [🧮因数分解] [🔧RSA工具集] [📚使用示例] │
├─────────────────────────────────────────────────────────│
│ ⚔️ RSA攻击方法工具                                        │
│                                                         │
│ ┌─ 选择攻击方法 ─────────────────────────────────────┐   │
│ │ [🔸 小指数攻击 (e=3)           ▼]                  │   │
│ │ 适用于e=3且消息很小的情况。当m^e < n时,            │   │
│ │ 可以直接开立方根。                                  │   │
│ └─────────────────────────────────────────────────────│   │
│                                                         │
│ ┌─ 攻击参数 ─────────────────────────────────────────┐   │
│ │ RSA模数 n:   [________________________]           │   │
│ │ 公钥指数 e:  [________________________]           │   │
│ │ 密文 c:      [________________________]           │   │
│ │ 第二个密文:  [________________________]           │   │
│ │ 密文列表:    [________________________]           │   │
│ │ 模数列表:    [________________________]           │   │
│ └─────────────────────────────────────────────────────│   │
│                                                         │
│ [⚔️ 执行攻击] [🗑️ 清空] [🎯 运行演示]                    │
│                                                         │
│ ┌─ 攻击结果 ─────────────────────────────────────────┐   │
│ │ 攻击结果将在这里显示...                            │   │
│ └─────────────────────────────────────────────────────│   │
└─────────────────────────────────────────────────────────┘

支持的攻击方法:

  • 小指数攻击 (e=3)
  • Wiener攻击 (低d)
  • 共模攻击
  • Håstad广播攻击
  • 费马分解攻击
  • 低私钥指数攻击

3. 🧮 因数分解标签页

┌─ RSA CTF工具集 - GUI版本 ─────────────────────────────────┐
│ [🚀快速解密] [⚔️RSA攻击] [🧮因数分解] [🔧RSA工具集] [📚使用示例] │
├─────────────────────────────────────────────────────────│
│ 🧮 因数分解工具                                           │
│                                                         │
│ ┌─ 输入要分解的数字 ─────────────────────────────────┐   │
│ │ 数字 n: [_________________________________]        │   │
│ │ 数字格式: [decimal ▼]                              │   │
│ └─────────────────────────────────────────────────────│   │
│                                                         │
│ ┌─ 分解方法 ─────────────────────────────────────────┐   │
│ │ [🌐 在线分解 (FactorDB)      ▼]                    │   │
│ │ 使用FactorDB在线数据库查询已知的分解结果。         │   │
│ │ 适用于已经被分解过的数字。                          │   │
│ └─────────────────────────────────────────────────────│   │
│                                                         │
│ ┌─ 参数设置 ─────────────────────────────────────────┐   │
│ │ 试除法限制:      [1000000  ]                       │   │
│ │ 费马迭代限制:    [10000000 ]                       │   │
│ │ Pollard's Rho:   [1000000  ]                       │   │
│ └─────────────────────────────────────────────────────│   │
│                                                         │
│ [🔥 开始分解] [🗑️ 清空] [📚 加载示例]                    │
│                                                         │
│ ┌─ 分解结果 ─────────────────────────────────────────┐   │
│ │ 分解结果将在这里显示...                            │   │
│ └─────────────────────────────────────────────────────│   │
└─────────────────────────────────────────────────────────┘

分解方法:

  • 在线分解 (FactorDB)
  • 试除法
  • 费马分解
  • Pollard's Rho算法
  • 自动选择最佳方法

4. 🔧 RSA工具集标签页

┌─ RSA CTF工具集 - GUI版本 ─────────────────────────────────┐
│ [🚀快速解密] [⚔️RSA攻击] [🧮因数分解] [🔧RSA工具集] [📚使用示例] │
├─────────────────────────────────────────────────────────│
│ 🔧 RSA工具集                                              │
│                                                         │
│ ┌─ 选择功能 ─────────────────────────────────────────┐   │
│ │ [🔑 生成RSA密钥对           ▼]                     │   │
│ └─────────────────────────────────────────────────────│   │
│                                                         │
│ ┌─ 参数设置 ─────────────────────────────────────────┐   │
│ │ 密钥长度: [2048] bits                              │   │
│ │ 消息:    [____________________________]           │   │
│ └─────────────────────────────────────────────────────│   │
│                                                         │
│ [🚀 执行] [🗑️ 清空]                                      │
│                                                         │
│ ┌─ 执行结果 ─────────────────────────────────────────┐   │
│ │ 执行结果将在这里显示...                            │   │
│ └─────────────────────────────────────────────────────│   │
└─────────────────────────────────────────────────────────┘

工具功能:

  • 生成RSA密钥对
  • 加密消息
  • 解密消息
  • 分析公钥

5. 📚 使用示例标签页

┌─ RSA CTF工具集 - GUI版本 ─────────────────────────────────┐
│ [🚀快速解密] [⚔️RSA攻击] [🧮因数分解] [🔧RSA工具集] [📚使用示例] │
├─────────────────────────────────────────────────────────│
│ 📚 RSA CTF工具集使用示例                                  │
│                                                         │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 🚀 快速开始                                         │ │
│ │                                                     │ │
│ │ 欢迎使用RSA CTF工具集! 🎉                           │ │
│ │                                                     │ │
│ │ 📚 主要功能:                                       │ │
│ │ 1. 快速RSA解密 - 自动识别和解密RSA密文              │ │
│ │ 2. RSA攻击方法 - 包含多种常见的RSA攻击技术          │ │
│ │ 3. 因数分解工具 - 分解RSA模数的多种算法             │ │
│ │ 4. RSA工具集 - 完整的RSA加密、解密功能              │ │
│ │ 5. 使用示例 - 详细的教程和示例                      │ │
│ │                                                     │ │
│ │ 🚀 快速开始:                                       │ │
│ │ 1. 点击上方的"快速解密"标签页                       │ │
│ │ 2. 上传你的RSA公钥和密文文件                        │ │
│ │ 3. 点击"开始解密"按钮                               │ │
│ │                                                     │ │
│ │ ⚠️ 注意事项:                                       │ │
│ │ - 仅供学习和合法的CTF比赛使用                       │ │
│ │ - 请勿用于非法目的                                  │ │
│ └─────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘

🎯 使用流程

典型的CTF解题流程:

  1. 启动GUI界面

    python3 run_gui.py
  2. 快速解密(推荐新手)

    • 切换到"快速解密"标签页
    • 上传公钥文件和密文文件
    • 点击"开始解密"
    • 查看结果
  3. 高级攻击(需要经验)

    • 切换到"RSA攻击"标签页
    • 选择合适的攻击方法
    • 输入相关参数
    • 执行攻击并查看结果
  4. 独立分解

    • 切换到"因数分解"标签页
    • 输入要分解的数字
    • 选择分解方法
    • 开始分解

💡 GUI优势

相比命令行版本,GUI界面提供了:

  1. 可视化操作 - 无需记忆复杂的命令行参数
  2. 实时反馈 - 进度条和状态显示
  3. 错误提示 - 友好的错误信息和建议
  4. 功能集成 - 所有工具集中在一个界面
  5. 学习友好 - 内置教程和示例
  6. 结果保存 - 便于复制和保存结果

🔧 技术实现

  • 框架: PyQt6 - 现代化的Python GUI框架
  • 多线程: 避免UI冻结,提供流畅体验
  • 错误处理: 完善的异常捕获和用户提示
  • 模块化: 可扩展的插件式架构

📞 支持和反馈

如果在使用GUI界面时遇到问题:

  1. 检查是否安装了PyQt6: pip install PyQt6
  2. 确认所有依赖都已安装
  3. 查看终端的错误信息
  4. 参考 GUI_USAGE.md 详细说明

🎉 享受使用RSA CTF工具集的GUI界面!