Человек в среднем нападении - такое нападение может произойти, если симметричные ключи используются?

Чтобы получить нарциссическое число / число Армстронга, вам нужно взять длину числа в виде строки, как n для получения степени суммирования значения.

Просто личное слово, из-за спецификации, я бы взял Math.floor , потому что у вас уже есть номер, вместо parseInt .

function armst(x) {
    var value = parseInt(x, 10),
        rest = value,
        digit,
        sum = 0,
        n = x.toString().length;       // add toString, if a number is entered

    while (rest) {
        digit = rest % 10;
        rest = Math.floor(rest / 10);
        sum += Math.pow(digit, n);    // use it here
    }

    return sum === value
        ? "Armstrong"
        : "Not Armstrong";
}


var num = prompt("Enter a number to check Armstrong"), // try with 54748
    output = armst(num);

console.log("Result is: ", output);

6
задан Chris Upchurch 11 May 2009 в 01:07
поделиться

5 ответов

Конечно. Все, что вам нужно сделать, это перехватить обмен ключами. Затем вы можете передать свой собственный (поддельный) ключ на другой конец. Вы перехватываете сообщения с помощью ключа, полученного обманным путем, повторно шифруете своим поддельным ключом и передаете на другой конец.

11
ответ дан 8 December 2019 в 14:47
поделиться

Поскольку атака MIM может произойти во время обмена ключами, вы можете делать то же, что и SSL / TLS.

SSL / TLS использует RSA при обмене ключами, поэтому обмен симметричным ключом [сильно] защищен с помощью RSA.

0
ответ дан 8 December 2019 в 14:47
поделиться

Уловка состоит в том, чтобы в первую очередь согласовать симметричный ключ. Атаки типа "злоумышленник посередине" обычно происходят на этапе обмена ключами (заставляя вас согласовывать ключ с посредником, а не с вашим настоящим партнером).

Обычно происходит (в сеансах SSL веб-браузеров): что вы используете асимметричную криптографию для обмена симметричным ключом. Однако это зависит от того, действительно ли открытый ключ вашего партнера принадлежит тому, кому, по вашему мнению, он принадлежит. Обычно для этого используются слова Verisign или (какой-либо другой CA).

В какой-то момент должен произойти безопасный и аутентифицированный обмен ключами.

5
ответ дан 8 December 2019 в 14:47
поделиться

Вышеупомянутые ответы, конечно, верны, но вы должны отметить, что существует несколько эффективных, криптографически безопасных методов для безопасного обмена ключами . Я думаю, что вау использует SRP6 .

0
ответ дан 8 December 2019 в 14:47
поделиться

Yup. Even if you use symmetric key you have to use authentication/integrity checks. Using symmetric key encryption without authentication/integrity checks makes you susceptible to various forms of replay attacks or substitution attacks. An attacker can modify your ciphertexts and may even know what the effect of his changes are.

0
ответ дан 8 December 2019 в 14:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: