powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Послепятничная задачка. Криптография и случайное число
25 сообщений из 166, страница 3 из 7
Послепятничная задачка. Криптография и случайное число
    #39787935
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BarloneЧто-то мне кажется, гораздо больше шансов, что из-за бага в программе случится облом, чем из-за составного числа.На каком этапе программы?
...
Рейтинг: 0 / 0
Послепятничная задачка. Криптография и случайное число
    #39787942
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy UsovBarloneЧто-то мне кажется, гораздо больше шансов, что из-за бага в программе случится облом, чем из-за составного числа.На каком этапе программы?
Я-бы по другому спросил. Алгорим ЭЦП будет нарушен если множителей будет не 2 а 3 ?
...
Рейтинг: 0 / 0
Послепятничная задачка. Криптография и случайное число
    #39787950
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonGennadiy UsovНа каком этапе программы?Я-бы по другому спросил. Алгорим ЭЦП будет нарушен если множителей будет не 2 а 3 ?Зачем мелочиться.

А что если множителей для чисел, порядка 2^1024, будет 10, 20?
...
Рейтинг: 0 / 0
Послепятничная задачка. Криптография и случайное число
    #39787952
alex55555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy UsovА что если множителей для чисел, порядка 2^1024, будет 10, 20?
Видимо систему будет проще взломать.

Как писали ранее, числа Кармайкла позволяют шифровать/дешифровать корректно, хотя и не являются простыми. Далее нужно читать про алгоритм RSA, что бы понять, отсеивают ли их.

Вы, Геннадий, конечно же про RSA не захотели почитать? А вдруг там есть ответ?
...
Рейтинг: 0 / 0
Послепятничная задачка. Криптография и случайное число
    #39787984
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex55555Gennadiy UsovА что если множителей для чисел, порядка 2^1024, будет 10, 20?
Видимо систему будет проще взломать.

Как писали ранее, числа Кармайкла позволяют шифровать/дешифровать корректно, хотя и не являются простыми. Далее нужно читать про алгоритм RSA, что бы понять, отсеивают ли их.

Вы, Геннадий, конечно же про RSA не захотели почитать? А вдруг там есть ответ?
Если это так то всё равно нет чёткого осознания слабости ключа. Ключ создан.
Слабый он или нет - хз. Беря во внимание редкость этих лже-primes я-бы
сказал что мы зря беспокоимся.

Усов! Не беспокойтесь. Ребе и Миллер уверены в своей победе!
...
Рейтинг: 0 / 0
Послепятничная задачка. Криптография и случайное число
    #39787989
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonУсов! Не беспокойтесь. Ребе и Миллер уверены в своей победе!Я не понял:
Ребе и Миллер
или
Ребе Миллер?
...
Рейтинг: 0 / 0
Послепятничная задачка. Криптография и случайное число
    #39787993
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рабин == Рабинович == Раввин. Фамилия происходящая от духовного сана.
...
Рейтинг: 0 / 0
Послепятничная задачка. Криптография и случайное число
    #39788006
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alex55555Gennadiy UsovА что если множителей для чисел, порядка 2^1024, будет 10, 20?
Видимо систему будет проще взломать.

Как писали ранее, числа Кармайкла позволяют шифровать/дешифровать корректно, хотя и не являются простыми. Далее нужно читать про алгоритм RSA, что бы понять, отсеивают ли их.

Вы, Геннадий, конечно же про RSA не захотели почитать? А вдруг там есть ответ?В вики записано:
"В основу криптографической системы с открытым ключом RSA положена сложность задачи факторизации произведения двух больших простых чисел. Для шифрования используется операция возведения в степень по модулю большого числа. Для дешифрования (обратной операции) за разумное время необходимо уметь вычислять функцию Эйлера от данного большого числа, для чего необходимо знать разложение числа на простые множители."

Если принять во внимание сообщение 21834523 , то решение задачи факторизации заключается в поиске первого множителя, делении числа на этот множитель и ищется следующий множитель.

То есть, если множители небольшие ( по меркам 2^ 1024), то достаточно поработать с небольшими простыми числами.

Если число простое, то компьютер должен иметь массив простых чисел до, например корень.кв.(2^ 1024).
...
Рейтинг: 0 / 0
Послепятничная задачка. Криптография и случайное число
    #39788009
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я думаю что алгоритм генерации пары RSA имеет защиту от дурака и не позволяет генерить
тривиальные факторизации.
...
Рейтинг: 0 / 0
Послепятничная задачка. Криптография и случайное число
    #39788021
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BarloneЧто-то мне кажется, гораздо больше шансов, что из-за бага в программе случится облом, чем из-за составного числа.
21776823
...
Рейтинг: 0 / 0
Послепятничная задачка. Криптография и случайное число
    #39788034
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TBarloneЧто-то мне кажется, гораздо больше шансов, что из-за бага в программе случится облом, чем из-за составного числа.
21776823
Он же параметризованный. Нужно сказать какие были значения случайного числа a.
Сколько было итераций.
...
Рейтинг: 0 / 0
Послепятничная задачка. Криптография и случайное число
    #39788045
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да здесь я ошибся

10 ms = 0.010 mks = 0.000010 ms

Вот так правильно.

10 ns = 0.010 mks = 0.000010 ms

Десять наносекунд это одна десятитысячная милисекунды.
...
Рейтинг: 0 / 0
Послепятничная задачка. Криптография и случайное число
    #39788083
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тут под катом скопирую кусок промышленного кода. С любезного разрешения Josh Bloh.


Это стартовая точка алгоритма нечеткого определения простоты. Обратите внимание на параметр certainty.
Это не проверяемое число. Это параметр. Чуть дальше по коду он влияет на количество раундов проверки.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
    /**
     * Returns {@code true} if this BigInteger is probably prime,
     * {@code false} if it's definitely composite.  If
     * {@code certainty} is ≤ 0, {@code true} is
     * returned.
     *
     * @param  certainty a measure of the uncertainty that the caller is
     *         willing to tolerate: if the call returns {@code true}
     *         the probability that this BigInteger is prime exceeds
     *         (1 - 1/2<sup>{@code certainty}</sup>).  The execution time of
     *         this method is proportional to the value of this parameter.
     * @return {@code true} if this BigInteger is probably prime,
     *         {@code false} if it's definitely composite.
     */
    public boolean isProbablePrime(int certainty) {
        if (certainty <= 0)
            return true;
        BigInteger w = this.abs();
        if (w.equals(TWO))
            return true;
        if (!w.testBit(0) || w.equals(ONE))
            return false;

        return w.primeToCertainty(certainty, null);
    }



Следующи уровень в стеке - расчет раундов. В конце Миллер-Рабин работает в паре с Люка-Лемером. В коньюнкции.
Они как-бы друг друга проверяют. Забавно что Миллер параметризуется случайным числом. А Люка не параметризуется.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
    /**
     * Returns {@code true} if this BigInteger is probably prime,
     * {@code false} if it's definitely composite.
     *
     * This method assumes bitLength > 2.
     *
     * @param  certainty a measure of the uncertainty that the caller is
     *         willing to tolerate: if the call returns {@code true}
     *         the probability that this BigInteger is prime exceeds
     *         {@code (1 - 1/2<sup>certainty</sup>)}.  The execution time of
     *         this method is proportional to the value of this parameter.
     * @return {@code true} if this BigInteger is probably prime,
     *         {@code false} if it's definitely composite.
     */
    boolean primeToCertainty(int certainty, Random random) {
        int rounds = 0;
        int n = (Math.min(certainty, Integer.MAX_VALUE-1)+1)/2;

        // The relationship between the certainty and the number of rounds
        // we perform is given in the draft standard ANSI X9.80, "PRIME
        // NUMBER GENERATION, PRIMALITY TESTING, AND PRIMALITY CERTIFICATES".
        int sizeInBits = this.bitLength();
        if (sizeInBits < 100) {
            rounds = 50;
            rounds = n < rounds ? n : rounds;
            return passesMillerRabin(rounds, random);
        }

        if (sizeInBits < 256) {
            rounds = 27;
        } else if (sizeInBits < 512) {
            rounds = 15;
        } else if (sizeInBits < 768) {
            rounds = 8;
        } else if (sizeInBits < 1024) {
            rounds = 4;
        } else {
            rounds = 2;
        }
        rounds = n < rounds ? n : rounds;

        return passesMillerRabin(rounds, random) && passesLucasLehmer();
    }



Само туловище Миллера я копировать не буду. Вроде-бы есть уже пища для размышлений.
...
Рейтинг: 0 / 0
Послепятничная задачка. Криптография и случайное число
    #39788089
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonGennadiy Usovпропущено...
На каком этапе программы?
Я-бы по другому спросил. Алгорим ЭЦП будет нарушен если множителей будет не 2 а 3 ?Нам нужно знать функцию Эйлера для произведения. Если известно разложение на простые множители m=p*q, то
φ(m) = φ(p)*φ(q) = (p-1)*(q-1)

А если разложение на простые множители неизвестно, то найти значение этой функции сложно.

RSA основывается на теореме Эйлера :
Код: plaintext
  a φ(m)  = 1 (mod m)

Ну а дальше из свойств степени: нашли i,j такие что
Код: plaintext
i*j = k*φ(m)+1

Пара i,m - открытый ключ, пара j,m - секретный. Шифрование - возведение в степень i по модулю m, расшифровка - возведение результата шифрования в степень j по модулю m.

Код: plaintext
(a i ) j  (mod m) = a i*j  (mod m) = a k*φ(m)+1  (mod m) = a k*φ(m)  * a (mod m) = (a φ(m) ) k  * a (mod m) = 1 k  * a (mod m) = a
...
Рейтинг: 0 / 0
Послепятничная задачка. Криптография и случайное число
    #39788147
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Теорема Эйлера в теории чисел гласит:
Если a и m взаимно просты, то ....

Это не означает, что a и m - простые числа.

Может быть здесь посмотреть?
...
Рейтинг: 0 / 0
Послепятничная задачка. Криптография и случайное число
    #39788153
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonВот так правильно.

10 ns = 0.010 mks = 0.000010 ms

Десять наносекунд это одна десятитысячная милисекунды.Я так понимаю, здесь всем начхать, какую вежливую божью росу несут другие?
...
Рейтинг: 0 / 0
Послепятничная задачка. Криптография и случайное число
    #39788157
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДесять наносекунд это одна десятитысячная милисекунды.Теперь я позанудствую: 9 - 1- 3 = 5.
Одна стотысячная", Карл!"
...
Рейтинг: 0 / 0
Послепятничная задачка. Криптография и случайное число
    #39788179
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и ладно. Спасибо за фикс.
...
Рейтинг: 0 / 0
Послепятничная задачка. Криптография и случайное число
    #39788181
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonDima Tпропущено...

21776823
Он же параметризованный. Нужно сказать какие были значения случайного числа a.
Сколько было итераций.
Глубоко не вникал, в инете нашел исходник. Похоже студенческая поделка попалась.
...
Рейтинг: 0 / 0
Послепятничная задачка. Криптография и случайное число
    #39788185
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy UsovТеорема Эйлера в теории чисел гласит:
Если a и m взаимно просты, то ....

Это не означает, что a и m - простые числа.

Может быть здесь посмотреть?Что посмотреть?
...
Рейтинг: 0 / 0
Послепятничная задачка. Криптография и случайное число
    #39788206
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy UsovЕсли число простое, то компьютер должен иметь массив простых чисел до, например корень.кв.(2^ 1024).
сколько простых чисел в этом интервале?
авторДля сравнения — количество атомов в наблюдаемой Вселенной составляет по разным оценкам от 4*10^79 до 10^81
...
Рейтинг: 0 / 0
Послепятничная задачка. Криптография и случайное число
    #39788261
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy UsovТеорема Эйлера в теории чисел гласит:
Если a и m взаимно просты, то ....

Это не означает, что a и m - простые числа.

Может быть здесь посмотреть?
У меня тоже был некоторый лингвистический ступор. Представил себе сумму или разность двух рациональных чисел.
Если знаменатели просто перемножаются - то взаимнопростые.

Чуть позже написал такое.

Код: sql
1.
def mutuallySimple(a: Int, b: Int): Boolean = gcd(a,b) == 1
...
Рейтинг: 0 / 0
Послепятничная задачка. Криптография и случайное число
    #39788348
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BarloneGennadiy UsovТеорема Эйлера в теории чисел гласит:
Если a и m взаимно просты, то ....
Это не означает, что a и m - простые числа.
Может быть здесь посмотреть?Что посмотреть?Использование в методе двух взаимно простых чисел вместо двух простых чисел
...
Рейтинг: 0 / 0
Послепятничная задачка. Криптография и случайное число
    #39788362
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По аналогии со скатертью Улама. Я думаю неплохо-бы нарисовать на 2д плоскости
пары взаимно-простых чисел. И туда--же докидать еще каких-то чисел-редких-исключений.
...
Рейтинг: 0 / 0
Послепятничная задачка. Криптография и случайное число
    #39788369
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonПо аналогии со скатертью Улама. Я думаю неплохо-бы нарисовать на 2д плоскости
пары взаимно-простых чисел. И туда--же докидать еще каких-то чисел-редких-исключений.Таких чисел (взаимно простых) можно наделать очень много
...
Рейтинг: 0 / 0
25 сообщений из 166, страница 3 из 7
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Послепятничная задачка. Криптография и случайное число
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]