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

The Mistery of Paillier 1 - Writeup by AI

The Mistery of Paillier 1 - Writeup by AI

一、题目描述

  • 题目来源: BugKu
  • 题目类别: Crypto (密码学)
  • 题目名称: The Mistery of Paillier 1
  • 环境说明: 提供加密参数文件enc

二、考点分析

知识点权重表

知识点权重重要性
Paillier 密码系统原理40%⭐⭐⭐⭐⭐
同态加密概念20%⭐⭐⭐⭐
数论基础 (模运算、逆元)25%⭐⭐⭐⭐
Python Crypto 库使用15%⭐⭐⭐

核心考点

  1. Paillier 密码系统: 一种概率性公钥加密算法,由 Pascal Paillier 于 1999 年提出
  2. 解密原理: 已知私钥 λ(n) 的情况下如何解密
  3. L 函数: Paillier 解密中的特殊函数 L(u) = (u-1)/n

三、解题思路

攻击策略

这道题给出了 Paillier 加密的所有关键参数:

  • n: 公钥模数
  • l: 私钥 λ(n) = lcm(p-1, q-1)
  • cipher: 密文

突破口: 直接利用已知的 λ(n) 进行解密,无需分解 n。

技术路线

读取 enc 参数

计算 n^2

计算 c^λ mod n^2

应用 L 函数

计算 μ = λ^-1 mod n

m = L·μ mod n

转换为字节得 Flag

四、详细步骤

步骤 1: 分析 enc 文件

n=28969443953166212176900669471436119085757229026148586965849...l=28969443953166212176900669471436119085757229026148586965849...m=10806883603368964569219078899625489478507861213296041580418...cipher=63854683448762983415142014912887433959102983569904477940311...

注意到文件给出了l(lambda),这是解密的关键!

步骤 2: Paillier 解密公式

Paillier 解密的核心公式:

L(u)=u−1nL(u) = \frac{u - 1}{n}L(u)=nu1

m=L(cλmod n2)⋅μmod nm = L(c^\lambda \mod n^2) \cdot \mu \mod nm=L(cλmodn2)μmodn

其中:

  • λ=lcm(p−1,q−1)\lambda = \text{lcm}(p-1, q-1)λ=lcm(p1,q1)(题目已给出)
  • μ=λ−1mod n\mu = \lambda^{-1} \mod nμ=λ1modn

步骤 3: 实现解密代码

fromCrypto.Util.numberimport*# 读取参数exec(open('enc').read())defpaillier_decrypt(cipher,l,n):"""Paillier 解密函数"""# 计算 n^2n2=n*n# 计算 c^lambda mod n^2u=pow(cipher,l,n2)# L 函数:L(u) = (u - 1) // ndefL(x,n):return(x-1)//n# 计算 mu = lambda^(-1) mod nmu=inverse(l,n)# 解密:m = L(c^lambda mod n^2) * mu mod ndecrypted_m=(L(u,n)*mu)%nreturndecrypted_m# 解密并转换decrypted=paillier_decrypt(cipher,l,n)flag=long_to_bytes(decrypted)print(flag.decode())

步骤 4: 执行结果

$ python solve.py 开始解密... 解密结果(十进制):17762885766238205724357596051280157561518391029869976253... 解密结果(十六进制): 0x7368656c6c6d617465737b756e6c30636b5f7468335f4d797337... Flag: shellmates{XXX}
http://www.jsqmd.com/news/681815/

相关文章:

  • 告别GSEA!用GSVA+limma在R里5分钟搞定通路差异分析(附TCGA实战代码)
  • Noto字体技术架构解析:如何实现800+语言系统的高效多语言支持
  • 江浙地区美工刀片生产厂家哪家靠谱,2026年度口碑好的品牌推荐 - 工业品网
  • 5分钟上手llama-cpp-python:在Python中高效运行大语言模型
  • 面试官最爱问的Verilog小数分频题,我用这3个例子帮你搞定(附完整代码)
  • Unity Addressable实战:Content Update Restriction选‘动态’还是‘静态’?一次讲清热更资源打包的那些‘坑’
  • 终极指南:5分钟掌握Windows风扇控制神器FanControl免费配置
  • Speechless:3分钟学会微博内容永久备份的终极免费工具
  • 防反光不晃眼的重型美工刀价格多少,靠谱品牌大揭秘 - 工业推荐榜
  • DIY智能空气监测仪:基于KQM6600模块与Arduino/ESP32的实战项目
  • 从布朗运动到Wald分布:一个物理模型如何串联起高斯与逆高斯分布?
  • 别再死记硬背CAN帧格式了!用STM32CubeMX+逻辑分析仪,5分钟搞懂数据怎么跑的
  • Unity新手避坑指南:从零配置VS Code写C#脚本,告别VS不提示的烦恼
  • 从VGG到FCN-8s:语义分割开山之作的‘跳级’结构到底妙在哪里?(可视化详解)
  • 从考研真题出发:拆解‘p-积分’比较判别法的三大高频应用场景与避坑指南
  • vivo 校招怎么准备?别先乱刷题,先把岗位和节奏拆开
  • 深入浅出S32K3 XRDC:从单核到多核/多主控的安全域隔离实战
  • 2026年知网AI检测翻车:手写论文也被标红?3招高效逆袭攻略 - 降AI实验室
  • 哈工大:2025年大语言模型进展报告
  • FigmaCN:打破语言壁垒,让全球设计工具说中文
  • 别再混淆了!PyTorch里NLLLoss和CrossEntropyLoss到底啥关系?一个例子讲清楚
  • 7个理由告诉你:为什么ppInk是Windows上最强大的免费屏幕标注工具
  • 5步精通暗黑2存档编辑:如何快速打造完美角色?
  • 设备通信协议 SECS
  • 黑龙江邮轮旅行费用多少钱,九洲假日旅游价格高吗? - 工业品网
  • 2026届毕业生推荐的十大降AI率助手实测分析
  • 在中国为中国-大众汽车集团以软件定义汽车开启在华史上规模最大新能源攻势 2026
  • VSCode写Unity代码没提示?别急着重装,先看看这5个隐藏的‘开关’设置对了没
  • 2026国产优选!北京中炭科仪:显微光度计知名品牌深度测评与选型指南 - 品牌推荐大师1
  • 用Python的SymPy库搞定高数作业:从求导到解微分方程,保姆级代码分享