+ Ответить в теме
Показано с 1 по 2 из 2

Тема: LUC - Криптосистема с открытым ключом.

  1. #1
    Xenomorf is on a distinguished road
    Регистрация
    20.11.2015
    Возраст
    30
    Сообщений
    1
    Вес репутации
    0

    По умолчанию LUC - Криптосистема с открытым ключом.

    Всем доброго времени. Разрабатываю алгоритм шифрования LUC. Описание взял из Википедии, так как в ней наиболее полное и относительно понятное объяснение. Не буду приводить прямые ссылки, так как не знаю правомерно ли это, лучше приведу кусок статьи.

    Сначала выбираются два простых числа p и q.
    Вычисляется их произведение N = p * q
    Выбирается число e, взаимнопростое с числом (p-1)(q+1)(p+1)(q+1): gcd[(p-1) * (q-1) * (p+1) * (q+1),e ] = 1
    Вычисляется D: D = P^2-4, где P — наше сообщение
    Вычисляются следующие символы Лежандра L(D \ p) и L(D \ q)
    Находится наименьшее общее кратное S(N) = lcm[(p - L(D \ p)),(q - L(D \ q)) ]
    Вычисляется d d = e^-1 mod S(N)
    открытый ключ: KU = (e,N)
    закрытый ключ: KR = (d,N)



    В качестве gsd здесь упомянута функция определения взаимной простоты двух чисел, а lnc - нахождение наименьшего общего кратного. Вопрос в последней строчке. Что значит "е в минус первой степени"? Согласно элементарной математике, любо число в минус первой - это единица деленная на любое число. Учитывая тот факт, что е получается числом натуральным(ниже приведу конкретный пример оттуда же), то его минус первая степень будет дробной, тогда как в качестве операндов Mod могут фигурировать только целые числа. А вот обещанный пример:

    Выбираем два простых числа: p = 1949, q = 2089
    Вычисляем N: N = p * q = 4071461
    Вычисляем открытый ключ e из уравнения gcd[(p-1) * (p+1) * (q-1) * (q+1), e ] = 1 :gcd[1948 * 2088 * 1950 & 2090, e ] = 1 => e = 1103
    Шифровать будем следующее сообщение P = 11111, далее вычисляем символ Лежандра L(D \ p) ; параметр D^2 = P^2 - 4 = 123454317 Используя критерий Эйлера находим: L(D \ p) = -1 L(D \ q)= -1
    Теперь вычисляем функцию S(N): S(N) = lcm[(1949 + 1),(2089 + 1)] = 407550
    Закрытый ключ: d = e^-1 mod 407550 = 24017



    Как раз на последней строке и остановился. Три вывода: либо я не правильно понимаю смысл "е в минус первой", либо я не въезжаю как работает mod, и почему он дает 24017, когда должен давать "е в минус первой ~ 0,000906618313689936536718042", поскольку она очевидно меньше чем 407550, либо в Википедии написана чушь. Мониторинг интернета по указанной теме не дал результатов. Большая просьба: прояснить ситуацию.

  2. По умолчанию

     
    Хотите избавиться от рекламы? Зарегистрируйтесь
  3. #2
    Недохакер system architect Сионист is an unknown quantity at this point Аватар для Сионист
    Регистрация
    31.03.2014
    Сообщений
    1,078
    Вес репутации
    0

    По умолчанию Re: LUC - Криптосистема с открытым ключом.

    В тексте (p-1)(q+1)(p+1)(q+1), а в формуле (p-1)(q-1)(p+1)(q+1), то есть в статье явно есть ошибка. Поищите другие описания, сопоставьте.
    Писать можно на чём угодно, но зачем же так себя ограничивать? Пиши на c.

+ Ответить в теме

Похожие темы

  1. Криптосистема
    Нужно написать криптосистему, используя шифр TEA, алгоритм цепочек cfb, хэширование пароля на основе md5. Также добавить возможность шифровать все...
    от Fonochka в разделе задачи на C и C++
  2. Выбор случайного значения, не совпадающего с ключом
    MySQL. Есть таблица members, в ней есть поле key - случайное девятизначное число. Требуется создать новый key, не совпадающий ни с одним из...
    от Хыиуду в разделе SQL
  3. Просьба исправить баг в C# программе с открытым исходным кодом
    Есть программа на С#.Net. Называется RasterChart2BSB и предназначена для привязки сканов морских/речных (и не только) карт в формат BSB (что-то...
    от cnf в разделе Решите мне задачку
  4. Пользователькая панель конфликтует с уже открытым Excel-документом
    Может, кто сталкивался с подобным, как решили такую проблему: Написал код, который выполняется при открытии файла Excel и создает при этом...
    от Бим в разделе MS Office и VB(A).
  5. OLE: оставить Word открытым после закрытия приложения
    Хочется создать документ Word и закрыть свое приложение, оставив документ открытым. Сейчас работаю через Automation Server Wrapper Components...
    от Vlad Volkov в разделе C и C++

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения