让窃听者猜测哪个图形是正确的图形并计算需要多少次? (MATLAB)

因此,想法是有四种情况:HH,LL,LH和HL。每个都基于标准的普通RNG(randn(n,1))。窃听者进行测量并将其记录下来;其中一个与四个都相同。我正在尝试编写一个程序,以计算窃听者破解案件所花费的时间,偏差在1%以内。例如,HH的第一点可能与LL的第一点相同。这就是为什么窃听者需要继续进行测量,直到消除可能性并仅保留一种情况。每个案例有1000分:

n = 1000;

我的方法是,将所测案例与这四个案例之间的差异:

diffHH = M - HH;
diffLL = M - LL;
diffHL = M - HL;
diffLH = M - LH;

然后,我编写了四个for循环来检查每种情况:

for guesses = 1:1:n
    if (abs(diffHH(guesses)) <= 0.01) 
        if (abs(diffHH(guesses)) <= 0.01) && (abs(diffLL(guesses)) <= 0.01)
            continue;
        elseif (abs(diffHH(guesses)) <= 0.01)&& (abs(diffHL(guesses)) <= 0.01)
            continue;
        elseif (abs(diffHH(guesses)) <= 0.01) && (abs(diffLL(guesses)) <= 0.01)
            continue;
        else
            disp('Eve guesses HH');
            break;
        end
    end
end
for guesses = 1:1:n
    if (abs(diffLL(guesses)) <= 0.01) 
        if (abs(diffLL(guesses)) <= 0.01) && (abs(diffHH(guesses)) <= 0.01)
            continue;
        elseif (abs(diffLL(guesses)) <= 0.01)&& (abs(diffHL(guesses)) <= 0.01)
            continue;
        elseif (abs(diffLL(guesses)) <= 0.01) && (abs(diffLH(guesses)) <= 0.01)
            continue;
        else
            disp('Eve guesses LL');
            break;
        end
    end
end
for guesses = 1:1:n
    if (abs(diffHL(guesses)) <= 0.01) 
        if (abs(diffHL(guesses)) <= 0.01) && (abs(diffHH(guesses)) <= 0.01)
            continue;
        elseif (abs(diffHL(guesses)) <= 0.01)&& (abs(diffLL(guesses)) <= 0.01)
            continue;
        elseif (abs(diffHL(guesses)) <= 0.01) && (abs(diffLH(guesses)) <= 0.01)
            continue;
        else
            disp('Eve guesses HL');
            break;
        end
    end
end
for guesses = 1:1:n
    if (abs(diffLH(guesses)) <= 0.01) 
        if (abs(diffLH(guesses)) <= 0.01) && (abs(diffHH(guesses)) <= 0.01)
            continue;
        elseif (abs(diffLH(guesses)) <= 0.01)&& (abs(diffLL(guesses)) <= 0.01)
            continue;
        elseif (abs(diffLH(guesses)) <= 0.01) && (abs(diffHL(guesses)) <= 0.01)
            continue;
        else
            disp('Eve guesses LH');
            break;
        end
    end
end

猜测值似乎一直上升到1000,而且不应该;四种情况截然不同。我到底想念什么?

shinhwa3200 回答:让窃听者猜测哪个图形是正确的图形并计算需要多少次? (MATLAB)

“猜测”会在每个循环中重新启动;考虑针对每种情况使用不同的“ guesses”名称,例如“ guessesHH”,“ guessesLL”等。

本文链接:https://www.f2er.com/3049839.html

大家都在问