gpt4 book ai didi

c++ - 设置一个等于自身的变量实际上在 C++ 中执行吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:19:20 26 4
gpt4 key购买 nike

<分区>

我正致力于创建不经意的图形算法,它基本上隐藏了算法的内存访问模式。假定内存已加密,但可以被攻击者监控。假定处理器位于云端、安全且拥有自己的缓存。

众所周知,图的访问模式可以揭示有关该图的信息。

为了让算法不被遗忘,有必要在算法中添加虚拟工作。这些工作包括读取和写入数据,但不会导致算法结果发生变化(当然,这种变化会使算法无用)。

虚拟工作必须在图本身上,否则攻击者将能够追踪哪些工作是真实的,哪些工作是假的。

当然,添加虚拟工作会降低速度。因此,作为一个精益解决方案,我想为自己分配一个变量。这将在不实际更改任何内容的情况下创建对位置的读取和写入。我的问题是,编译器是否真的执行了这段代码(它似乎在 gdb 中,但这仅仅是因为它是一个调试器)?我正在使用 gcc,但如果算法可以用不同的编译器编译并且仍然保持健忘,那将是最好的。

将变量设置为等于自身的替代方法是使用 if 语句:检查变量是否等于某个值,然后在 if 语句中将变量设置为该值。如果可能的话,我想避免使用 if 语句,因为它们会减慢速度。

最后,这个算法是多线程的。如果一个全局变量被设置为等于它自己,是否有必要在它上面加一个互斥锁?这样的锁当然会减慢速度,所以我想尽可能避免使用它们。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com