Естественные науки
Вопрос к математикам от неуча...
Здравствуйте. Я плохо знаю математику. Но мне нужно кое-что узнать. Не знаю, возможно ли то что я опишу далее... Итак, иметься пятизначное число 13890 (можно любое) и двухзначное от 1 до 33, пусть будет 23. Над этими числами нужно совершить какие-то математические операции и получить ещё одно число от 1 до 33, допустим это 12. Далее мы передаем число 13890 и 12 другому человеку. Сообщаем ему алгоритм, по которому получили число 12. Можно ли обратно получить число 23, совершая мат. операции над числом 13890 и 12? Если можно, то как? Помогите пожалуйста, очень нужно. Надеюсь, вы поняли что я тут написал...
Не всегда.
Если среди ваших операций не было чего-то типа (23*2 + 4)*23 + 2)*45 и т. д то скорее всего можно
Если же такие операции были (когда производилось умножение на исходное число), то Вы могли получить выражение (после раскрытия всех скобок) типа:
a₀ + a₁x + a₂x^2 + a₃x^3 + .+ aₙx^n = 12
А это уравнение в общем виде не имеет решения, и потому даже получив на руки числа 13890 и 12 тот другой человек ничего с ними не сможет сделать :) Ему придётся просто сидеть и перебирать возможные варианты, надеясь нарваться на правильный.
Читайте https://ru.wikipedia.org/wiki/Равенство_классов_P_и_NP
Ваша задача по вычислению числа 12 лежит в классе P, а задача по нахождению исходного числа x может легко попасть в класс NP. На этом принципе сейчас основаны многие системы шифрования, когда одна сторона отдаёт другой стороне публичный ключ, рассчитанный на базе приватного, по вполне чёткому известному всем алгоритму. Вот только восстановить приватный ключ по публичному не представляется возможным за разумное время :) Потому достаточно менять ключи раз в несколько лет и это гарантирует их надёжность.
Я так понимаю Вы тоже хотите создать свою систему шифрования :) не следует заморачиваться, воспользуйтесь уже готовой ;)
Если среди ваших операций не было чего-то типа (23*2 + 4)*23 + 2)*45 и т. д то скорее всего можно
Если же такие операции были (когда производилось умножение на исходное число), то Вы могли получить выражение (после раскрытия всех скобок) типа:
a₀ + a₁x + a₂x^2 + a₃x^3 + .+ aₙx^n = 12
А это уравнение в общем виде не имеет решения, и потому даже получив на руки числа 13890 и 12 тот другой человек ничего с ними не сможет сделать :) Ему придётся просто сидеть и перебирать возможные варианты, надеясь нарваться на правильный.
Читайте https://ru.wikipedia.org/wiki/Равенство_классов_P_и_NP
Ваша задача по вычислению числа 12 лежит в классе P, а задача по нахождению исходного числа x может легко попасть в класс NP. На этом принципе сейчас основаны многие системы шифрования, когда одна сторона отдаёт другой стороне публичный ключ, рассчитанный на базе приватного, по вполне чёткому известному всем алгоритму. Вот только восстановить приватный ключ по публичному не представляется возможным за разумное время :) Потому достаточно менять ключи раз в несколько лет и это гарантирует их надёжность.
Я так понимаю Вы тоже хотите создать свою систему шифрования :) не следует заморачиваться, воспользуйтесь уже готовой ;)
Анастасия Родионова
Большое спасибо. Немного начал понимать.. Да, хотел сделать что-то вроде своей системы шифрования на C#. Готовые системы это хорошо, но самый кайф, это когда сам что-то создаёшь. Пусть и немного примитивное))
Да. Нужно совершить те же математические действия, но в обратном порядке
Анастасия Родионова
Ну это логично)) Вот какие действия, для меня загадка...
Я тоже олух царя небесного
Похожие вопросы
- Вопрос по математике
- Если таковые имеются тут, вопрос к: математикам, физикам, лингвистам, биологам (мб), ну и психологам, важно мнение каждого
- Вопрос по математике. Что это такое? Какое правило? Какая тема? Где можно найти объяснение этой темы?
- Короче этот вопрос по математике, на логику. Я тупой решить не могу.
- Несколько вопросов насчёт математики
- Вопрос к математикам. Мерность пространства.
- Вопрос к математикам по теории вероятностей.
- Вопрос по математике
- Вопрос по математике
- Вопрос к математикам