检测功能和实现相似的电路


11

令为布尔变量的向量。令为上的两个布尔电路。假设在以下情况下与相似:C D x C Dx=(x1,,xn)C,DxCD

  1. Pr[C(x)D(x)]x\ {0,1 \} ^ n中随机地均匀绘制时,呈指数减小{0,1}n(换句话说,它们具有几乎相同的功能);和,

  2. C,D的图形编辑距离相差很小(它们的编辑距离远小于电路的大小,例如O(1)或一些小常数),这意味着C的几乎所有门和导线都C匹配D中对应的门和导线D,仅添加/删除/更改了几个门。


我的问题:给我一个电路C,我想知道是否存在一个类似于C但不等于C的电路D(即,存在x使得C(x)\ ne D(x))。DCCxC(x)D(x)

谁能提出解决这个问题的算法?

如果有帮助,我们可以将注意力集中在小于给定电路C的电路D上(即,我们想知道是否存在一个电路D使得D小于CD类似于C,并且存在x这样C(x)\ ne D(x))。CDDCDCxC(x)D(x)

如果有帮助,则可以额外地假设我们给出已知良好的测试用例x1,,xm,y1,,ym,使得C(xi)=yi为所有i,我们可以进一步将注意力集中在仅电路D,使得所有i的D(x ^ i)= y ^ iD(xi)=yii


这是由实际应用引起的,因此,如果您不能解决此问题,请随时解决任何变体或有趣的特殊情况。例如,可以随意使用任何方便的方式实例化任何参数或阈值。您可以假设电路不是太大(多项式大小或其他大小)。可以用其他一些接近实现的方法来替换图形编辑距离。此外,在实践中,SAT解算器通常在实践中出现的结构化电路上出奇地有效,因此将SAT解算器作为子例程/ oracle调用可能很好(至少,如果要在派生的SAT实例上调用它)来自像的电路)。C

或者,由于缺乏任何算法,我也会对存在问题感兴趣:对于“平均”电路,存在满足所有条件的的概率是多少?(我希望这种可能性非常低,但是我不知道是这种情况。)dCD


实际应用是测试电路是否包含恶意后门/隐藏的复活节彩蛋。这样的事情可能会被插入的假设是这样的。我们从“黄金”电路开始,该电路计算所需的功能并且没有隐藏的后门。然后,对手使一个小的变化,以引入隐藏后门,获得改性电路。后门的目的是以某种方式更改由计算的函数。如果不太小,则可以通过随机测试合理地检测到该变化,因此对手可能会尝试保持D D C D Pr [ C x D x ] Pr [ C x D x ] C D x iy i D D x i= y i i C D C DCDDCDPr[C(x)D(x)]Pr[C(x)D(x)]很小。同样,如果在很多地方都与不同,则可能会通过对电路的随机检查注意到这一点,因此对手可能会尝试尽量减少更改次数。(而且,可能会有一组表示所需功能实例的对测试套件,因此我们知道,无论“黄金”电路是什么,它都满足所有的。)最后,我们给出的电路(但不是“黄金”电路),我们想知道是否可能会有一些修改后的版本CDxi,yiDD(xi)=yiiCDCD,在此处进行了修改以引入这种隐藏的后门。


电路的输入有多少位?如果足够小,则进行详尽的测试可能是有意义的。
2013年

@AndrásSalamon:可悲的是,在实践中(在我所考虑的应用中),电路的输入数量足够大,无法对所有可能的输入进行详尽的测试。我很欣赏这个想法!2 nn2n
2013年

已经使用遗传算法来凭经验攻击此类问题。在这种情况下,您可以尝试使用您陈述的算法(随机测试)。同样,似乎您根本没有描述电路中的“后门”是什么(这似乎与密码学有一些未说明的联系),但是提供一些动机的尝试……一个紧迫的问题似乎是对手怎么可能插入一些后门,同时通过随机测试规避检测?但总体情况似乎尚未完全定义。
vzn

3
@vzn,黄金电路描述了设备的预期功能。假设攻击者可以选择/影响输入位中的100。我们担心中存在一个隐藏的后门,其工作方式如下:如果攻击者在其输入上提供了不可思议的100位值,则后门电路会计算出错误的输出(具有悲惨的影响),但否则行为与。这将使攻击者可以在其选择的时间触发悲剧,但很难通过随机测试来检测(因为只有的输入会触发悲剧)。n C C CD(x)nCCC1 / 2 100D1/2100
DW

这个问题似乎与SAT的“骨干”有关。也可以在cnf与dnf转换/错误上看到这个问题,这可能是一种自然/正式的方式来量化您未正式量化的“相似性”。攻击者通过添加门禁只能“翻转”对错的“黄金”结果吗?即,听起来像是 -xor-的问题。g x f(x)g(x)
vzn

Answers:


4

这只是阅读问题后我立即想到的扩展评论:

  • 假设您有一个3SAT公式其中包含变量并且是相应的电路;Ñ X 1X Ñ Çϕnx1,...,xnC

  • 建立一个新的电路加入变量,以及足够的大门和与原始的输出新的变量();= Ñ ķ ÿ 1ÿ 2y n k m CCm=nky1,y2,...,ynkmCC=ϕy1...ym

  • 从构建一个新电路,使用与非门将其输出强制为0()ç ' d ' = C ^ '¬ Ç 'DCD=C¬C

如果无法满足,则和是等效的,否则当满足公式且所有时,它们将不同,但是您可以选择足够大的以使的可能性非常小。d ' ç X Ŷ = 1 ÿ = 1ϕDCxiyi=1myi=1

因此,如果您有一个有效的算法来解决问题,则可以有效地解决3SAT实例。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.