首先,拿到了一个server.py文件,我们先来分析代码:
这道题也是一上来是定义了一个类,然后引用了包和设置aer
这里主要是第一个是角度的转换
然后是生成电路,和上一篇一样,门的输入范式等等,参数转化为int
上一篇:[原创]量子安全 quantum ctf Global Hyperlink Zone Hack the box-CTF对抗-看雪论坛-安全社区|非营利性质技术交流社区
这里一共生成了两条线路,并且0号最开始加了x门
然后是这道题可以用到的门:H,S,T,ZZ,RXX,RYY,RZZ
接下来这道题对于参数进行了检查:
第一个检查是这个参数不能为0,包括我们的角度,和作用的门的index。
这个检查可以绕过,并且需要绕过,因为我们可能会对0号线路进行一些操作,绕过原因是因为python的数组索引可以用负数来倒数,比如这道题一共两条量子电路,-2为0就是倒数第二个,-1为1倒数第一个
第二个检查是对于三个参数的门,例如RXX,后两个参数即为门的index不能是一个门,也就是不能RXX(....,1,1)
这个检查不用绕过,因为我们本来用这种门也不会让两个index一样
这个代码是对于线路0进行测量,验证是不是随机分布的,验证方法为测量很多次,然后统计1和0出现的概率是不是50%
这里是memory是每次测量的结果,这个函数是把测量的结果每6个当作一个数字,并且每次测量是两条线路0和1,他把0号线路作为lotto,把1号线路作为test。然后每6个二进制数字变成一个十进制数字并且模42+1.
接下来是跑我们地电路,跑36次每次测量,并且0号线路要满足之前分布条件的函数的分布。之后因为每6个数字为一组,所以我们的test有6个十进制数字,lotto也有6个十进制数字
这里还是老样子让我们给系统电路门,接下来是运行电路,给我们展示test线路的6个数字,让我猜测lotto的六个数字,如果猜对了就能获得flag
H,X,CNOT门上篇文章讲过了,这里讲新的RXX门,也是本题的重点

这个门可以让两条线路陷入纠缠,RYY和RZZ类似,本题目不用先不讲解。
这里可以尝试给角度theta带入几个特殊值来看看都是啥:
theta为0:
和I是一样的,没有变化

theta为pi/2:

[培训]Windows内核深度攻防:从Hook技术到Rootkit实战!
最后于 2025-12-2 17:20
被枫林路大砍刀编辑
,原因: