Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КП - отеты на билеты.docx
Скачиваний:
0
Добавлен:
04.06.2026
Размер:
74.69 Кб
Скачать

59. Задача: Схема разделения секрета Шамира (4,m). Восстановление по долям 1 и 4.

Вопрос: Построить (4,m)-схему Шамира. Секрет k — цифра билета. Восстановить секрет по 1 и 4 долям. (Выбрано: k=7, m=2, n=4, q=11.)

Источник: Яковлев, Коржик. Гл. 5, §5.3.

k=7, m=2 (порог), n=4 участника, q=11.

Полином (m=2, степень 1): f(x)=7+4x mod11. (Коэффициент a₁=4 выбран произвольно.)

Тени:

s₁=f(1)=7+4=11≡0(mod11).

s₂=f(2)=7+8=15≡4(mod11).

s₃=f(3)=7+12=19≡8(mod11).

s₄=f(4)=7+16=23≡1(mod11).

Восстановление по долям 1 и 4: s₁=0, s₄=1.

Интерполяция Лагранжа:

f(0)=s₁·L₁(0) + s₄·L₄(0)

L₁(0)=(0-4)/(1-4)=(-4)/(-3)=4/3 mod11. 3⁻¹mod11=4. L₁(0)=4·4=16≡5(mod11).

L₄(0)=(0-1)/(4-1)=(-1)/3=(-1)·4=-4≡7(mod11).

f(0)=0·5+1·7=7 mod11=7.

Восстановленный секрет: k=7 ✓

60. Задача: Построить цепную дробь P/Q. P=-477, Q=22x.

Вопрос: Даны P=-477, Q=228 (228 взято как пример, последняя цифра задаётся преподавателем). Построить цепную дробь, найти подходящие дроби.

Источник: Яковлев, Коржик. Гл. 7, §7.3.

P/Q = 477/228 (работаем с |P|/Q для знака учтём отдельно; знак перед дробью -1).

Алгоритм Евклида (расширенный):

477 = 2·228 + 21. a₀ = 2

228 = 10·21 + 18. a₁ = 10

21 = 1·18 + 3. a₂ = 1

18 = 6·3 + 0. a₃ = 6

Цепная дробь: 477/228 = [2; 10, 1, 6]. P/Q=-[2;10,1,6].

Подходящие дроби p_i/q_i:

p₋₁=1, p₀=2; q₋₁=0, q₀=1.

p₁=a₁·p₀+p₋₁=10·2+1=21; q₁=a₁·q₀+q₋₁=10·1+0=10. → 21/10

p₂=a₂·p₁+p₀=1·21+2=23; q₂=1·10+1=11. → 23/11

p₃=a₃·p₂+p₁=6·23+21=138+21=159; q₃=6·11+10=66+10=76. → 159/76

Проверка: 159/76=2.0921... ≈ 477/228=2.0921... ✓

С учётом знака: P/Q = -477/228 = -(2 + 1/(10+1/(1+1/6))) = -[2;10,1,6].

Подходящие дроби: -0/1, -2/1, -21/10, -23/11, -159/76.

61. Задача: Эллиптическая кривая e(a,b) над gf(17). Операции с точками.

Вопрос: Заданы точки эллиптической кривой E(a,b) над GF(17). Найти инверсные, сложить, возвести в степень 5. (Параметры задаются преподавателем; для примера E(-1,1) над GF(17), точки P=(0,1), Q=(1,2).)

Источник: Яковлев, Коржик. Гл. 2, §2.5.

Эллиптическая кривая: y²=x³+ax+b mod17. Возьмём a=2, b=2 (кривая y²=x³+2x+2 mod17). Точки: P=(5,1), Q=(6,3) (выбраны как лежащие на кривой: 1²=25+10+2=37≡3≠1. Пересчитаем: нужны реальные точки. Стандартный пример: E: y²=x³-x+1 mod17. Проверим P=(0,1): 1=0-0+1=1 ✓.

Инверсная точка:

-P=(x,-y mod17)=(0,-1 mod17)=(0,16).

Сложение P+P (удвоение):

λ=(3x²+a)/(2y) mod17=(3·0+(-1))/(2·1)=(-1)/(2)=-1·9=-9≡8(mod17). (2⁻¹mod17=9).

x₃=λ²-2x=64-0=64mod17=64-3·17=64-51=13.

y₃=λ(x-x₃)-y=8(0-13)-1=-104-1=-105 mod17. -105+7·17=-105+119=14.

2P=(13,14).

4P=2(2P): аналогично с (13,14). λ=(3·169+(-1))/(2·14)=(507-1)/28=506/28 mod17.

506 mod17: 506=29·17+13. 506≡13. 28 mod17=11. 11⁻¹mod17: 11·14=154=9·17+1. 11⁻¹=14.

λ=13·14=182 mod17=182-10·17=182-170=12.

x₄=12²-26=144-26=118 mod17=118-6·17=118-102=16.

y₄=12(13-16)-14=12·(-3)-14=-36-14=-50 mod17=-50+3·17=-50+51=1.

4P=(16,1).

5P=4P+P: P=(0,1), 4P=(16,1).

λ=(1-1)/(16-0)=0/16=0.

x₅=0-16-0=-16 mod17=1.

y₅=0(16-1)-1=-1 mod17=16.

5P=(1,16).

Итог: P=(0,1); -P=(0,16); 2P=(13,14); 5P=(1,16).

62. Задача: Демонстрация протокола скрытного поиска точки интереса (лр 8).

Вопрос: Продемонстрировать работу протокола скрытного поиска точки интереса на основе базы данных ЛР 8.

Источник: Яковлев, Коржик. Гл. 5, §5.7. — Лабораторная работа 8.

(Конкретные данные ЛР 8 задаются преподавателем при подготовке к ответу. Ниже — общая структура демонстрации.)

Шаги протокола:

1. Клиент формирует запрос: вектор индикаторов i-й точки интереса, шифрует каждый элемент через Пэйе: (E(0), …, E(1), …, E(0)).

2. Сервер (имея базу {d₁, …, dₙ}) вычисляет гомоморфную сумму: R = Σⱼ dⱼ·E(qⱼ) = E(dᵢ).

3. Клиент дешифрует R → получает dᵢ (координаты/атрибуты точки).

4. Сервер не знает, какая точка запрошена. Клиент не знает остальных точек.

Пример из ЛР 8:

База: {(lat₁,lon₁), …, (latₙ,lonₙ)}. Клиент ищет точку i=2.

Запрос: (E(0), E(1), E(0), …, E(0)).

Сервер: R=lat₁·E(0)+lat₂·E(1)+…=E(0+lat₂+0+…)=E(lat₂).

Клиент дешифрует E(lat₂)=lat₂ — получил координату без раскрытия индекса.