На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! правила раздела Алгоритмы
1. Помните, что название темы должно хоть как-то отражать ее содержимое (не создавайте темы с заголовком ПОМОГИТЕ, HELP и т.д.). Злоупотребление заглавными буквами в заголовках тем ЗАПРЕЩЕНО.
2. При создании темы постарайтесь, как можно более точно описать проблему, а не ограничиваться общими понятиями и определениями.
3. Приводимые фрагменты исходного кода старайтесь выделять тегами code.../code
4. Помните, чем подробнее Вы опишете свою проблему, тем быстрее получите вразумительный совет
5. Запрещено поднимать неактуальные темы (ПРИМЕР: запрещено отвечать на вопрос из серии "срочно надо", заданный в 2003 году)
6. И не забывайте о кнопочках TRANSLIT и РУССКАЯ КЛАВИАТУРА, если не можете писать в русской раскладке :)
Модераторы: Akina, shadeofgray
  
> мат.модель шифра Шамира , кое-что непонятно с тз математики
    Всем хай! Сходу к делу.

    Есть пару небольших вопросов по алгоритму "шифр Шамира".

    Выбирают простое число p (пишут, что побольше желательно, лол, хотя в примерах дают до 50)
    Затем надо выбрать таких 2 числа (например, обозначим их a, b), чтобы они были обратными друг другу по модулю (p - 1).
    То есть математически имеем:
    a * b mod (p - 1) = 1

    Вот тут кое-что непонятно.
    Например, по условию известно, что p = 17 - это простое число, тут все ок; a = 5.
    И надо рассчитать b.
    То есть a * b mod (p - 1) = (5 * b) mod 16 = 1

    Из теории арифметики известно, что: делимое : делитель = частное (остаток) ---> за остаток отвечает как раз таки оператор mod
    Перепишем так: частное * делитель + остаток = делимое
    делимое = 5*b
    делитель - 16
    частное - НЕИЗВЕСТНО (пусть x)
    остаток = 1

    Итого: 16 * x + 1 = 5 * b
    В уравнении 2 неизвестных (b, x). Как бы это, того, не решить стандартным способом) Вроде как известно, что b, x = N (натуральные числа)

    Перебирать остается подстановкой значения х??? Т е однозначно нельзя получить b, зная на входе p и а?
    А может быть вариант, когда несколько пар значений {b, x} удовлетворяют уравнению?

    p.s. возможно, я здесь оч.жестко прогнал и все гораздо проще), но, построив мат. модель получилось такое
    А сам по себе алгоритм несложен, зная p, a, b, a2, b2 там уже по формулам легко можно высчитать x1, x2, x3, x4...

    спс за внимание
      Цитата FasterHarder @
      Всем хай! Сходу к делу.

      Есть пару небольших вопросов по алгоритму "шифр Шамира".

      По-человечески это называется шифр RSA. Ривест-Шамир-Адлеман.
      Число ваше ищется по расширенному алгоритму Евклида.
        Цитата scrambrella @
        По-человечески это называется шифр RSA. Ривест-Шамир-Адлеман.

        не факт!
        по РСА есть описание - они чем-то похожи

        возможно, что РСА усовершенствовал шифр Шамира
        имхо, это НЕ одно и то же
          FasterHarder, тебе что, непонятно, как искать обратное по модулю? Если так, смотри расширенный алгоритм Эвклида - он находит не только общий делитель, но и линейную комбинацию заданных чисел, дающий этот общий делитель. Для взаимно простых чисел коэффициенты равны обратным.

          gcd(a,b) = c (c получается обычным алгоритмом Эыклида)
          d*a + e*b = c (c. d, e получается расширенным алгоритмом Эвклида)

          если c = 1, то
          d*a ≡ 1 (mod b) (d является обратным к a по модулю b)
          e*b ≡ 1 (mod a) (e является обратным к b по модулю a)
          если обратное при этом получается отрицательным, надо просто добавлять к нему модуль.
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0193 ]   [ 16 queries used ]   [ Generated: 19.04.24, 16:06 GMT ]