Freibier 6 16 мая, 2023 Опубликовано 16 мая, 2023 · Жалоба (A ^ N) mod A = 0 Правильно ли я понимаю, что если любое число A возвести в любую степень N, то модуль (остаток от деления) результата по числу А всегда будет равен нулю ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 241 16 мая, 2023 Опубликовано 16 мая, 2023 · Жалоба 1 минуту назад, Freibier сказал: (A ^ N) mod A = 0 Правильно ли я понимаю, что если любое число A возвести в любую степень N, то модуль (остаток от деления) результата по числу А всегда будет равен нулю ? Нет. Так будет только если N>=1 и целое, а A != 0. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Freibier 6 16 мая, 2023 Опубликовано 16 мая, 2023 · Жалоба 12 минут назад, jcxz сказал: Нет. Так будет только если N>=1 и целое, а A != 0. Да, забыл написать что A и N простые числа. Т.е. если A и N простые, то результат будет равен нулю ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Freibier 6 16 мая, 2023 Опубликовано 16 мая, 2023 · Жалоба Собственно почему у меня возник вопрос: вот такой алгоритм "рукопожатия" Т.е. если GENERATOR = MODULUS, то HostInterKey = SlaveInterKey = Key = 0 ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 241 16 мая, 2023 Опубликовано 16 мая, 2023 · Жалоба 8 минут назад, Freibier сказал: Т.е. если GENERATOR = MODULUS, то HostInterKey = SlaveInterKey = Key = 0 ? Нет конечно. Там из контекста ясно, что '^' - операция ИСКЛЮЧАЮЩЕЕ ИЛИ, а не возведение в степень. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Freibier 6 16 мая, 2023 Опубликовано 16 мая, 2023 · Жалоба google переводчик : Note: ^ represents to the power of - Примечание: ^ представляет степень Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Freibier 6 16 мая, 2023 Опубликовано 16 мая, 2023 · Жалоба На JS вот такой пример есть createHostEncryptionKeys(data) { if (this.keys.key === null) { this.keys.slaveIntKey = Buffer.from(data).readBigInt64LE() this.keys.key = this.keys.slaveIntKey ** this.keys.hostRandom % this.keys.modulusKey this.encryptKey = Buffer.concat([int64LE(Buffer.from(this.keys.fixedKey, 'hex').readBigInt64BE()), int64LE(this.keys.key)]) this.count = 0 if (this.debug) { console.log('AES encrypt key:', chalk.red(`0x${Buffer.from(this.encryptKey).toString('hex')}`)) console.log('') console.log(this.keys) console.log('') } } } там степень. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 85 16 мая, 2023 Опубликовано 16 мая, 2023 · Жалоба Что такое возведение числа А в степень N? Это умножение числа A само на себя N раз. 5^4 = 5 * 5 * 5 * 5 = 625. Логично, что этот результат, разделенный на это же A равносилен тому, что один раз не умножить число А. То есть, А^(N-1), при условии, что N - целое положительное. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MegaVolt 29 16 мая, 2023 Опубликовано 16 мая, 2023 · Жалоба В криптографии как я понимаю возведение в степень идёт по модулю. Т.е. результат не может быть больше модуля. Для этого есть какая то своя математика. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 241 16 мая, 2023 Опубликовано 16 мая, 2023 · Жалоба 11 минут назад, MegaVolt сказал: В криптографии как я понимаю возведение в степень идёт по модулю. Т.е. результат не может быть больше модуля. Для этого есть какая то своя математика. Тогда такая операция - необратимая. А значит утверждение: 37 минут назад, EdgeAligned сказал: Логично, что этот результат, разделенный на это же A равносилен тому, что один раз не умножить число А. не верно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 85 16 мая, 2023 Опубликовано 16 мая, 2023 (изменено) · Жалоба Можно ведь просто открыть калькулятор и посчитать 🙂 Изменено 16 мая, 2023 пользователем EdgeAligned Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
engel65536 12 16 мая, 2023 Опубликовано 16 мая, 2023 · Жалоба 17 minutes ago, jcxz said: Тогда такая операция - необратимая Так оно и есть, операции по модулю - необратимые, потому что что 2 mod 10, что 1002 mod 10 - результат "2", и обратно 2 или 1002 не получить. 58 minutes ago, EdgeAligned said: Логично, что этот результат, разделенный на это же A равносилен тому, что один раз не умножить число А. Это вы пишете про деление. А ТС спрашивает про операцию по модулю - она является не делением, а взятием остатка от деления. 3 hours ago, Freibier said: Правильно ли я понимаю, что если любое число A возвести в любую степень N, то модуль (остаток от деления) результата по числу А всегда будет равен нулю ? Да, всё верно, с учётом поправки: 3 hours ago, jcxz said: Нет. Так будет только если N>=1 и целое, а A != 0. Эти условия в случае криптографии всегда будут истинными. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 85 16 мая, 2023 Опубликовано 16 мая, 2023 (изменено) · Жалоба 4 минуты назад, engel65536 сказал: Это вы пишете про деление. А ТС спрашивает про операцию по модулю - она является не делением, а взятием остатка от деления. Ну так он и будет = 0. Можете проверить. 5*5*5*5 / 5 = 125 ровно, без остатка. При любых положительных целых A и N, поскольку A^(N-1), и если A целое, то результат так же будет целым. Изменено 16 мая, 2023 пользователем EdgeAligned Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 241 16 мая, 2023 Опубликовано 16 мая, 2023 · Жалоба 3 минуты назад, EdgeAligned сказал: Ну так он и будет = 0. Можете проверить. 5*5*5*5 / 5 = 125 ровно, без остатка Это частный случай. А в общем случае: x*x*x*x/x == x*x*x - не верно, если операция умножения выполняется по некоторому модулю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 85 16 мая, 2023 Опубликовано 16 мая, 2023 · Жалоба А я что, про что-то другое говорил? Я три раза сделал это уточнение. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться