gpt4 book ai didi

c - 线性化攻击

转载 作者:行者123 更新时间:2023-11-30 20:24:26 25 4
gpt4 key购买 nike

我了解什么是线性化攻击以及它是如何执行的。我只是想清楚地了解下面的代码如何允许它,因为如果输入的字符串等于或大于 8,它应该以相同的迭代计数终止?

int main(int argc, const char *argv[])
{

int i;
boolean flag = true;
char serial [9] = “S123N456\n”;
if(strlen(argv[1]) < 8)
{
printf(“\nError try again.\n\n”);
exit(0);

}

for(i = 0; i < 8; ++i)
{

if(argv[1][i] != serial[i])flag = false;

}

if(flag)
{

printf(“\bSerial number is correct!\n\n”);

}

}

最佳答案

线性攻击是利用某些编码缺陷的攻击。如果上述代码在输入不正确的字符时结束,攻击者可以使用它来确定输入了多少个正确的字符。我和导师一起完成了这个过程,现在我发现,由于每次都会设置标志,如果 7 次中有 5 次不正确,则标志设置了 5 次,那么它就是不正确的。该尝试的运行速度比设置全部 7 次要快。因此,如果攻击者尝试第一个字符的所有可能解决方案,并为字符串的其余部分插入标准字符。使用正确的第一个字符的尝试将运行得稍快一些。对每个字符应用相同的逻辑,最终会得到序列号。

关于c - 线性化攻击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33534321/

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