首页
社区
课程
招聘
[原创]Hack the box 量子计算 Global Hyperlink Zone
发表于: 2025-11-5 22:32 304

[原创]Hack the box 量子计算 Global Hyperlink Zone

2025-11-5 22:32
304

首先,拿到了一个server.py文件,我们先来分析代码:

一上来是定义了一个类,然后引用了包和设置aer

接下来是第一个方法,生成量子线路,也就是mai函数中调用到的:

参数是instructions,对应不同的量子操作例如他代码中的样例:H:0;CX:0,1

这段主要是进行了格式检查和量子线路的数量检查

接下来是判断输入的算符,每道题能用到的算符是不一样的,这道题能用的是H,S,T,X这四个单量子比特算符和CX,CY,CZ这三个受控双量子比特,受控门的参数设置一般为(控制位,目标位),比如cx(0,1)的意思就是根据0号电路来对于1号电路进行受控x

这个是一个量子状态检查的代码,在main函数被调用用来检查量子是否处于题目要求的状态,如果返回值为true那么我们就可以获得flag了。

首先他会创建一个电路,然后使用刚才的生成电路的函数来制造电路,也就是会加入我们输入的操作。

之后获取每一条量子线路的测量结果,要求满足

q0=q1=q3,

q2=q4,

q4!=q2

(qn表示第n条线路)

满足这个条件即可为true

main函数主要是先读取我们的操作,然后使用初始化判断来判断是否满足条件,满足即可获得flag。

类似经典电路每条线为0或者1,量子电路用态来表示,每条电路有基态|0>,激发态|1>,也会有叠加态。

一条电路上的态可以用这个式子来表示,即为量子态|k>=a|0>+b|1>,

其中a和b为振幅,振幅的平方表示观测时得到该态的概率,当然如果不观测就不知道具体是0还是1,处于叠加态。上式a,b还满足:

即为概率和为1。

如下图,有五条量子线路,每个初始态都默认为0态


这里先只介绍这道题要用到电路门,其他的之后遇到再补充。

图示为他以线性代数的表达方式,所有量子门运算都可以用线性代数进行推导。即为矩阵相乘

H门的作用普通的如下


[培训]科锐软件逆向54期预科班、正式班开始火爆招生报名啦!!!

最后于 2025-11-5 22:37 被枫林路大砍刀编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回