Тема Верченко (криптография)

Теория чисел на Верченко

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела верченко (криптография)
Решаем задачи

Ошибка.
Попробуйте повторить позже

Задача 1#90275Максимум баллов за задание: 7

Каждый из трех владельцев криптокошельков имеет на своем счету по 10 криптокойнов. Каждый из двух дней ими совершаются по две транзакции: по переводу части криптокойнов со своего криптокошелька на криптокошелек другого владельца и по возврату оставшихся криптокойнов обратно на свой кошелек. У каждого имеется свой секретный ключ S ∈{1,2,...,28} . При совершении транзакции указываются три числа (X,a,b)  , где X  - число переводимых криптокойнов, (a,b)  - электронная подпись перевода.

PIC

Электронная подпись находится по правилу: выбираем произвольное k ∈{1,2,...,28} , затем находим a= r29(2k) ,b= r28(Xa +Sk)  , где rN(M )− остаток от деления числа M  на N  . На рисунке указаны совершенные транзакции (пронумерованы числами в кружках) за два дня. Сколько будет криптокойнов у каждого владельца криптокошелька по окончании двух дней?

Источники: Верченко - 2024, 11.2 (см. ikb.mtuci.ru)

Подсказки к задаче

Подсказка 1:

Давайте попробуем записать условие кратко, через переменные. Какие уравнения получим?

Подсказка 2:

Запишем уравнения из криптокошелька владельца 1 на 1 день, владельца 1 на 2 день, владельца 2 на 2 день, владельца 3 на 2 день. Какие ещё уравнения можно написать?

Подсказка 3:

Мы знаем, что транзакции 1 и 8 осуществлены одним и тем же владельцем, и в электронной подписи одинаковое. Можем получить из этого уравнение. Для этого вспомните сравнение по модулю. Из каких транзакций можно получить ещё уравнение?

Подсказка 4:

Транзакции 5 и 12! Теперь из полученных уравнений можем найти Y₁ и Y₅. Мы можем найти количество криптокойнов у первого владельца. Какие ещё уравнения можно получить из условия, чтобы решить задачу?

Подсказка 5:

Посмотрим на транзакции 9 и 10. Для них использовались одинаковые k, но с разными знаками. Какие уравнения можно получить из этих транзакций?

Подсказка 6:

Получаем, что Y₄ = 1. Сумма криптокойнов была равна 30 и останется такой же, 30.

Показать ответ и решение

Сначала по рисунку выпишем очевидные соотношения:

X1+ X2 = 10 (1)

Y1+ Y2 = X1+ 3 (2)

8+ Y = X + 5 (3)
    4   2

Y5+ Y6 = 12 (4)

Необходимо найти:

Σ1 = Y1+ 8+Y5,Σ2 = Y4,Σ3 = Y2 +Y6

Далее, заметим, что транзакции №1 и №8 осуществлены одним и тем же владельцем владельцем 1. То есть использовался один и тот же секретный ключ S1  , при этом использовалось одно и то же значение k  в подписи, поэтому

9≡ (18X1 +S1k)  (mod28)

1 ≡(18Y2 +S1k) (mod28)

Отсюда получим

8≡ 36≡ (18(X1− Y2))  (mod28)

Следовательно, X − Y = 2
 1   2  . С учетом (2) имеем: Y = X − Y + 3= 5
 1   1   2  .

Аналогичное свойство замечаем у транзакций №5 и №12:

18≡ (27⋅3+ S3k)  (mod28)

20≡ (27Y + Sk)  (mod28)
       6   3

Отсюда получим

−2 =54≡ (27 (3− Y6))  (mod28)

Следовательно

3− Y6 = 2,Y6 = 1

С учетом (4) имеем: Y5 = 11  и уже находится Σ1 =5 +8+ 11= 24  . Теперь обратим внимание на транзакции №9 и №10, осуществленные владельцем 2 , для которых, как нетрудно заметить, использовались одинаковые k  , но с разными знаками, т.к. (2⋅15) ≡1  (mod29)  .

Поэтому:

11≡ (2 ⋅8 +S2k)(mod28)

20≡ (15Y4− S2k)(mod28)

Отсюда получим:

15Y4 ≡ 31− 16 ≡15(mod28),Y4 = 1= Σ2

Т.к. исходная сумма криптокойнов была равна 30 , то

Σ3 =30− Σ1− Σ2 = 5
Ответ:

 (24,1,5)

Ошибка.
Попробуйте повторить позже

Задача 2#90279Максимум баллов за задание: 7

В криптосистеме RSA (знания алгоритма шифрования не требуется для решения задачи) элементы надёжности определяются несколькими параметрами. В частности, выбором числа N =p⋅q  , где p,q  — различные нечётные простые числа, и значением

φ(N)= (p− 1)⋅(q− 1)

Известна следующая теорема (малая теорема Ферма): если p  — простое число, a  — целое число, не делящееся на p  , то

p−1
a   ≡1(modp)

Используя это:

a) докажите, что

 φ(N2)+1
x      ≡x(modN )

для всех x ∈{1,2,...,N − 1} .

b) найдите p  и q  , если известно, что

N =42494861 и x21240913 ≡x(modN )

для всех x ∈{1,2,...,N − 1}.

Источники: Верченко - 2024, 11.4 (см. ikb.mtuci.ru)

Подсказки к задаче

Пункт а, подсказка

Возведите сравнение aᵖ⁻¹ ≡ 1 (mod p) в нужные степени, и, совместив два сравнения, получите искомое.

Пункт б, подсказка

Мы знаем сравнение из пункта a, тогда хочется, чтобы 21240913 было равно φ(N) / 2 + 1. Давайте предположим это и найдём такие p и q, нужно только решить систему от двух переменных.

Показать ответ и решение

a) из условия задачи и равенства ap−1 ≡1 (modp)  следует

 k(p−1)+1
a       ≡ a (modp)

для любого натурального k  . Тогда при k = q−1-
    2  получим

 φ(N2-)+1
a      ≡a (modp)

Аналогично

aφ(N2-)+1 ≡a (modq)

Так как p,q  - простые числа, то из этих полученных выше равенств следует

aφ(N2)+1 ≡ a (modN )

b) из доказанного в пункте (а) получим φ(2N)+ 1= 21240913,  а отсюда систему

{
  p⋅q = 42494861
  (p− 1)⋅(q− 1) =(21240913− 1)⋅2

Решением в нечётных простых числах является неупорядоченная пара (6469,6569).

Ответ:

b) (6469,6569)

Ошибка.
Попробуйте повторить позже

Задача 3#90281Максимум баллов за задание: 7

Вася хочет заполнить квадратную таблицу (криптографическую мозаику) размера 4× 4  целыми числами от 1 до 16 по следующему правилу. Сначала он выбирает четыре целых числа b1,b2,b3,b4 ∈{0,1,...,16} . Затем первую строку Вася заполняет числами

(1)
ai  ≡ (bi+1)(mod17), i=1,2,3,4;

вторую строку — числами

(2)
ai  ≡ (bi+4)(mod17), i=1,2,3,4;

третью

 (3)
ai  ≡(bi+13)(mod17), i= 1,2,3,4

и, аналогично, четвертую

 (4)
ai ≡ (bi+ 16)(mod17), i=1,2,3,4.

При этом числа b1,b2,b3,b4  Вася выбрать должен так, чтобы все числа в таблице оказались различными. Сумеет ли Вася это сделать? Если да, то чему равны b1,b2,b3,b4  ?

Источники: Верченко - 2024, 11.6 (см. ikb.mtuci.ru)

Подсказки к задаче

Подсказка 1

Видите вопрос "сможет ли...?" и сразу руки чешутся как-нибудь доказать, что не получится? :) Давайте сначала успокоимся и попробуем посмотреть на то, что от нас просят. В табличке должны получиться различные остатки по модулю 17, причем эти aᵢ очень подозрительно выглядят... 1 и 16 в сумме дают 17, 3 и 14 тоже.... Что можно сказать?

Подсказка 2

Да, в одном столбце получаются числа bᵢ + 1, bᵢ + 4, bᵢ - 4, bᵢ - 1 (mod 17). Полученная симметрия так и бросается в глаза, правда? Вот бы можно было выбрать какое-нибудь b и наглядно видеть остатки от чисел, которые оно образует... Вам же наверняка тоже не хочется долго перебирать и считать аᵢ

Подсказка 3

А что если остатки по модулю 17 изобразить по кругу? И правда, если мы выберем какое-нибудь число b из круга, то число b+r пойдет по кругу на r шагов от него в сторону увеличения, а b-r, на те же r шагов в сторону уменьшения. Получается, если выбрать какое-нибудь число b, то оно вычеркивает два числа рядом с собой и два числа на расстоянии 4. Получится ли у нас подобрать еще 3 числа так, чтобы вычеркнутые числа не пересекались?

Подсказка 4

Да, получится. Если это вызывает затруднения, заметьте, что само число b в табличку не входит, поэтому оно может быть среди вычеркнутых. Если вы пойдете по кругу от самого первого выбранного вами числа и выберете числа на расстоянии 1, 7 и 11, то у вас точно никакие вычеркнутые числа не пересекутся :)

Показать ответ и решение

Заметим, что

bi+16= bi+1(mod17)

bi+13= bi− 4(mod17)

Представим остатки полученных a(ij)  от bi  в виде круга остатков. Числа получаются от bi  смещением на 1  или 4  шага по часовой или против часовой стрелки в зависимости от знака.

Крестиком выделены полученные числа a(j)то есть столбец в табл&#x0438
                               i                         i

PIC

Заметим, что важен лишь набор b1,b2,b3,b4  , а не их порядок, тогда без ограничения общности выберем пару b1  , b2  — одно из чисел  (j)
a1  или такое число, которого нет в таблицы. Докажем, что b2  тогда обязательно соседняя с b1  .

Предположим противное, то есть что ни одна пара bi  , bj  не являются соседями (так как иначе можем взять их в качестве b1  , b2  ).

1  случай (b2 = b1+4(mod 17)  ): возьмём b1 =6  (если все различные числа сдвинуть на одинаковое число по модулю 17  , то они останутся одинаковыми, а значит мы можем взять b1 =6  ), в таблицу уже попали числа: 1,2,3,5,6,7,10,15  , тогда “запрещённые” позиции — 0,..,11,14,15,16  (они получены путём прибавления и вычитания 1  ,4  по модулю 17  к полученным клеткам в таблице), а значит, b3,b4  12,13  , но тогда они соседи — противоречие.

2  случай (b2 = b1− 4(mod 17)  ): переименуем b1  , b2  в b2  , b1  и получится случай 1.

PIC

3  случай (b2 = 6  аналогично, без ограничения общности, не входит в таблицу): Все остальные числа входят, так как с каждой bi  в таблицу добавляются по 4 числа. Рассмотрим число 3  , у нас уже "запрещены"числа 2,5,7,10  для b1  , иначе b2  входит в таблицу и 1,3,4,6,8,9,11,15  , иначе в таблице есть повторяющиеся числа, тогда b1+ 1!= 3(mod 17)(b1 = 2),b1− 1!= 3(mod 17)(b1 =4),b1− 4!=3(mod 17)(b1 = 7)  , получается, что b2+ 4= 3(mod 17)  , т.е. b2 = 16)  .

Посмотрим на “запрещённые” числа для b3  : 0,..,12,15,16  , но 13,14  снова соседние.

Мы получили, что обязательно должны быть 2 соседних числа. С одной стороны, зачёркнутые ячейки на расстоянии 4  от b1  и b2  образуют место для b
3  и b
 4  (поскольку есть две свободные ячейки вокруг двух зачеркнутых чисел). С другой стороны, при выборе двух b  , набор двух оставшихся определяется однозначно, поэтому итого вариантов выбора комбинации столько же, сколько и выбор двух подряд идущих чисел в круге, т.е. 17  .

Один из возмож ных случаев:

PIC

Ответ:

 0 1 7 11, 1 2 8 12, 2 3 9 13, 3 4 10 14, 4 5 11 15, 5 6 12 16, 0 6 7 13, 1 7 8 14, 2 8 9 15, 3 9 10 16, 0 4 10 11, 1 5 11 12, 2 6 12 13, 3 7 13 14, 4 8 14 15, 5 9 15 16, 0 6 10 16

Ошибка.
Попробуйте повторить позже

Задача 4#137036Максимум баллов за задание: 7

Найдите пять простых чисел, образующих арифметическую прогрессию с разностью 12. Ответ обоснуйте.

Источники: Верченко - 2024, 10.1 (см. v-olymp.ru)

Подсказки к задаче

Подсказка 1

Попробуйте составить несколько арифметических прогрессий с разными первыми членами. Что можно заметить?

Подсказка 2

Остатки при делении на 2, 3, 4 у чисел одной прогрессии будут одинаковы, ведь 12 делится на 2, 3 и 4. Остатки на какое число следует рассмотреть?

Подсказка 3

Остатки при делении на 5 у всех пяти чисел прогрессии будут отличаться между собой, но ведь есть лишь 5 различных остатков при делении на 5.

Подсказка 4

Следовательно, одно из чисел гарантированно делится на 5. Все числа прогрессии простые, тогда число 5 в ней есть. Осталось найти остальные числа прогрессии, зная разность.

Показать ответ и решение

Посмотрим на остатки по модулю 5,  заметим что все остатки различны, поэтому из пяти членов арифметической прогрессии обязательно встретится число кратное 5,  так как оно простое, то оно равно 5,  поэтому если такая прогрессия существует, то она начинается с 5.  И вправду в ряду 5,  17,  29,  41,  53  все числа просты.

Ответ: 5; 17; 29; 41; 53

Ошибка.
Попробуйте повторить позже

Задача 5#68238Максимум баллов за задание: 7

Найдите все восьмизначные числа A = aa-...a-,
     12   8  a ∈ {1,2,...,9}
 i такие, что 8⋅A+ a = B,
      8  где B =b-b-...b
    12   8  , b = 10 − a .
 i      i  Решение обоснуйте.

Источники: Верченко-2023 (см. v-olymp.ru)

Подсказки к задаче

Подсказка 1

Мы понимаем, как устроены цифры B относительно цифр A. Какое выражение с использованием A и B можно составить, которое не будет зависеть от конкретных цифр в числе А?

Подсказка 2

A+B! А дальше просто решается задачка, нахождением последней цифры числа A)

Показать ответ и решение

Заметим, что

               108−-1-
A+ B =1◟1.◝.◜.1 ◞0 =   9  ⋅10.
        8

Тогда из условия 8⋅A +a8 = B  получим

9A +a8 = 11...10.
        ◟-◝8◜ ◞

Следовательно, по признаку делимости на 9

a8 = 1◟+1-+◝.◜..+-1◞= 8.
        8

Разделим число 1◟1.◝8.◜.1 ◞0 − 8  на 9  . Получим число 12345678.

Ответ: 12345678

Ошибка.
Попробуйте повторить позже

Задача 6#99574Максимум баллов за задание: 7

Найдите наибольшее пятизначное число, которое в 51  раз больше квадрата суммы своих цифр. Решение обоснуйте.

Источники: Верченко - 2021, 11.1 (см. v-olymp.ru)

Подсказки к задаче

Подсказка 1

Давайте введём переменные и составим уравнение из условия. Решать мы должны в целых числах, значит, имеет смысл зацепиться за делимость!

Подсказка 2

Наше число должно делиться на 3. Но как это может повлиять на сумму?

Подсказка 3

Сумма тоже будет делиться на 3. Продолжая рассуждать, сможем оценить сумму цифр и разобраться, какие значения она может принимать ;)

Показать ответ и решение

Обозначим x  — искомое число, s  - сумма его цифр. Тогда x =3⋅17⋅s2.  Следовательно, x  делится нацело на 3.  По признаку делимости на 3,  число s  делится на 3.  Но тогда x  делится на 9.  По признаку делимости на 9,s  делится на 9.  Так как искомое число пятизначное, то для s  возможны 5  вариантов: s =9,s= 18,s= 27,s =36,s= 45.  Для каждого s,  соответственно, находим: x =4131,x =16524,x= 37179,x= 66096,x= 103275.  Первое и последнее — не пятизначные, у четвёртого сумма цифр не равна 36.  Подходящие: x= 16524,x =37179.

Ответ:

 37179  или 16524

Ошибка.
Попробуйте повторить позже

Задача 7#99588Максимум баллов за задание: 7

Для зашифрования осмысленного слова его буквы заменили числами x ,x ,...,x
 1 2    n  по таблице.

Затем выбирали четные натуральные числа p  и q  и для каждого числа xi  из соотношений

xi = yi+ pzi,zi =yi+ qxi

нашли целые числа yi  и zi  .

Потом по формулам

′
zi = r32(zi),i= 1,...,n

получили числа

z′,...,z′
 1    n

(где r32(a)  — остаток от деления числа a  на 32), которые вновь заменили буквами согласно таблице:

|---|---|---|---|----|---|----|---|---|---|----|---|----|---|---|---|----|---|---|----|---|---|---|----|----|---|----|---|---|----|----|
|А--|Б--|-В-|-Г-|-Д--|Е--|Ж---|З--|И--|-К-|-Л--|М--|-Н--|О--|-П-|-Р-|-C--|Т--|У--|-Ф--|Х--|Ц--|-Ч-|-Ш--|-Щ--|-Б-|-Ы--|-Б-|-Э-|-Ю--|-Я--|
|0  | 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 |
----------------------------------------------------------------------------------------------------------------------------------------

В результате получили вот что: ЖЯЮЦКР.

Найдите исходное слово, если известно, что оно начинается на букву В.

Источники: Верченко - 2021, 11.5 (см. v-olymp.ru)

Подсказки к задаче

Подсказка 1

Нам надо явным образом связать x и z’ по модулю 32. Давайте тогда вычтем из первого равенство второе, чтобы у нас лишняя переменная y ушла. Тогда как можно связать x и z’?

Подсказка 2

Тогда выходит, что x(1 + q)  =  z’(1 + p) (mod 32). Если мы выразим (1 + q) через (1 + p) по модулю 32 с некоторыми константными коэффициентами, то мы сможем домножить на это модульное равенство наше равенство выше и после сокращения (1 + q) и (1 + p) в обеих частях мы получим явную связь x и z’. Стоит вспомнить, что мы ещё не использовали условие на первую букву!

Подсказка 3

Давайте теперь возьмем условие для первой буквы и посмотрим, что оно дает. Получается, что (1 + q)  =  3(1 + p) (mod 16). Помножим на 3^-1 mod 16, и получим некоторое равенство, где коэффициент теперь у (1 + q). Тогда выходит, что c(1 + q)  =  (1 + p) (mod 32), где c = 11 или 27. А значит, получили явную связь на x и z’. Осталось проверить дешифровку на осмысленность и задача решена!

Показать ответ и решение

Рассмотрим произвольную букву открытого и шифрованного текстов. Для соответствующих им (по таблице) чисел x  и z′ выполняются равенства x= y+ pz  и z =  y+ qx  , при некотором y,p  и q  . При этом по условию ′
z= r32(z)  . Используя свойство сравнений по модулю целого числа, получим:     ′   ′
x − z = pz− qx(mod32)  или x(1+ q)=  ′
z(1+p)(mod32)  . Для дальнейшего решения будем пользоваться следующим свойством: если наибольший общий делитель чисел a  и n  равен 1,  то сравнение x= y(modn )  равносильно ax=  ay(modn)  . Используя условие задачи для первой буквы открытого и шифрованного текста, получим равенство 2(1+q)= 6(1 +p)(mod32)  . Заметим, что сравнение 6t= 2(mod32)  имеет 2 решения по модулю 32:t= 11(mod32)  , t= 27(mod32)  . Тогда получим, что 11⋅(1+q)= (1+p)(mod32)  или 27⋅(1+ q)= (1+ p)(mod32)  для каждого t  . Таким образом,       ′
x =11z(mod32)  или       ′
x =27z(mod32)  соответственно. Остается воспользоваться полученными соотношениями для остальных букв.

Осмысленное слово получается только при втором варианте. А значит, исходное слово ВЕКТОР.

Ответ:

ВЕКТОР

Ошибка.
Попробуйте повторить позже

Задача 8#123666Максимум баллов за задание: 7

Известно, что p,p,p,p
  1  2 3  — различные простые числа, и p3− 2p2− 16p =p ⋅p ⋅p − 32.
             1  2  3  Найдите все такие числа p,p,p ,p .
   1 2 3  Ответ обоснуйте.

Источники: Верченко - 2020, 11.1

Подсказки к задаче

Подсказка 1

Попробуйте преобразовать равенство так, чтобы оно (возможно, не полностью) красиво разложилось на скобки и мы могли сделать выводы о p.

Подсказка 2

Отлично, теперь мы знаем, чему равно (p-2)(p-4)(p+4). Что так и хочется сделать с p₁, p₂ и p₃, чтобы порассуждать об их значениях?

Подсказка 3

Как воспользоваться простотой чисел?

Подсказка 4

Упорядочим p₁, p₂ и p₃ и каждой скобке присвоим значение!

Подсказка 5

Осталось лишь разобрать случаи, каким же простым может быть p. В этом нам может помочь известная идея из теории чисел, которая помогает решать уравнения в целых числах.

Подсказка 6

Рассмотрите равенство по некоторому модулю!

Показать ответ и решение

Так как условие симметрично относительно p,p ,p,
 1 2 3  тогда, не умаляя общности, считаем, что p <p < p .
1   2   3  По условию  3   2
p − 2p − 16p+ 32 =p1⋅p2⋅p3.  Разложим левую часть на множители:

(p− 2)(p− 4)(p+ 4) =p1⋅p2⋅p3

Непосредственной проверкой убеждаемся, что p⁄= 2,3,5.  Значит, p> 5.  Следовательно, числа в левой части равенства различны и отличны от 1.  Поэтому p− 4= p,p− 2= p ,p+ 4= p .
       1       2       3  Поскольку p  на 3  не делится, возможны случаи:

1.

Число p  при делении на 3  даёт остаток 1.  Тогда на 3  делится число p − 4.  Такое возможно только, когда p− 4 =3,  так как число p− 4= p1  — простое. Отсюда p= 7,p1 =3,p2 = 5,p3 = 11.

2.

Число p при делении на 3  дает остаток 2.  Тогда на 3  делится p+ 4.  Значит p+4 =3,  что невозможно.

Ответ:

 p =7,p = 3,p = 5,p = 11,
      1    2    3  при условии p  <p < p
 1   2   3

Рулетка
Вы можете получить скидку в рулетке!