- Более детальный анализ алгоритма вычисления чисел Фибоначчи
- Определения O(⋅), преимущества и недостатки их использования для оценки времени работы алгоритмов
- Определения Ω(⋅),Θ(⋅),o(⋅), общие правила сравнения скорости роста стандартных функций
- Графики нескольких часто используемых функций
- Скорости часто используемых функций на практике, заключение
- Более детальный анализ алгоритма вычисления чисел Фибоначчи
- Определения O(⋅), преимущества и недостатки их использования для оценки времени работы алгоритмов
- Определения Ω(⋅),Θ(⋅),o(⋅), общие правила сравнения скорости роста стандартных функций
- Графики нескольких часто используемых функций
- Скорости часто используемых функций на практике, заключение
Факторизационные модели в рекомендательных системахromovpa
Факторизационные модели, модели разложения матриц для коллаборативной фильтрации в рекомендательных системах. В презентации рассматриваются теоретические аспекты и алгоритмы.
С доклада на спецсеминаре "Machine Learning & Information Retrieval" в Школе Анализа Данных Яндекса.
DevOps Docs: Fast, Great Content for the Cloudvanessa_wilburn
Writing for cloud products? Great! But what does that mean for writers? Companies adopt Agile and specifically DevOps to be fast, and doc teams are expected to follow suit. Based on years of Agile experience, this session covers how doc teams can adapt and thrive in a DevOps world by writing fast, writing well, and showcasing business value. In the end, your companies will see content that drives revenue, lowers costs, and even engages customers.
Факторизационные модели в рекомендательных системахromovpa
Факторизационные модели, модели разложения матриц для коллаборативной фильтрации в рекомендательных системах. В презентации рассматриваются теоретические аспекты и алгоритмы.
С доклада на спецсеминаре "Machine Learning & Information Retrieval" в Школе Анализа Данных Яндекса.
DevOps Docs: Fast, Great Content for the Cloudvanessa_wilburn
Writing for cloud products? Great! But what does that mean for writers? Companies adopt Agile and specifically DevOps to be fast, and doc teams are expected to follow suit. Based on years of Agile experience, this session covers how doc teams can adapt and thrive in a DevOps world by writing fast, writing well, and showcasing business value. In the end, your companies will see content that drives revenue, lowers costs, and even engages customers.
Контроль и постановка задач мобильным инженерам, работающим у клиентов на дому, посредством мобильных приложений на устройствах инженеров и веб-сервиса у операторов.
2. Китайская теорема об остатках
Теорема
Пусть n = n1*n2*…*nk, причем числа
n1,n2… попарно взаимно просты. Задано
соответствие a↔(a1,a2,…,ak), где a
принадлежит Zn, a1 - Z1и т.д. Данная
формула определяет однозначное
соответствие между Zn и декартовым
произведением Z1xZ2x…xZk
3. Китайская теорема об остатках
Следствие
Если a↔(a1,a2,…,ak) и b↔(b1,b2,…,bk):
1) (a+b) mod n ↔ ((a1+b1) mod n1, …..)
2) (a-b) mod n ↔ ((a1-b1) mod n1, …..)
3) (ab) mod n ↔ ((a1b1) mod n1, …..)
Следствие
Если n1,n2…nk попарно взаимно просты,
то равенство a ≡ x mod n равносильно
системе уравнений вида a ≡ x mod ni.
4. Китайская теорема об остатках
a ≡ 2 (mod 5)
a ≡ 3 (mod 13)
a ≡ x (mod 65)
x - ?
mi=n/ni : m1 = 13, m2 = 5
m1-1
=13-1
(mod 5) = -13 (mod 5) = 2
m2-1
= 5-1
(mod 13) = -5 (mod 13) = 8
сi = mi (mi
-1
mod ni) : с1=13*2 =26, c2= 5*8=40
a ≡ (a1c1+a2c2+…+akck) (mod n)
a ≡ 2*26 + 3*40 (mod 65) = 42 (mod 65)
5. Степени элемента
Рассмотрим в мультипликативной группе
последовательность степеней элемента
a: a0
,a1
,a2
… Всегда верно утверждение a0
mod n = 1.
Теорема (Эйлера)
аφ(n)
≡ 1 (mod n), для a из Z*n
Теорема (малая теорема Ферма)
Если p – простое a p-1
≡ 1 (mod n), для a из
Z*n (a p
≡ a (mod n))
6. Степени элемента
Если порядок элемента g равен |Z*n |, g
называют примитивным корнем или
образующей Z*n .
Если группа имеет образующую ее
называют циклической.
Теорема
Группа Z*n является циклической тогда и
только тогда, когда n равно 2, 4, имеет
вид pk
или 2pk
(где p>2 – простое число, k
– положительное целое)
7. Степени элемента
Теорема (о дискретном логарифме)
Пусть g – образующая Z*n, тогда
сравнение gx
≡ gy
(mod n) равносильно
сравнению x ≡ y (mod φ(n))
Теорема
При простом p>2 и положительном
целом k уравнение x2
≡ 1 (mod pk
) имеет
два решения x = 1 и x = -1.
8. Степени элемента
Пусть надо вычислить ab
mod n. b[0..k] –
битовая запись числа b.
void ModExp(a,b,n){
c = 0; d = 1;
for (i=k;i<=0;i--){
c = 2*c;
d = (d*d) % n;
if (b[i]=1){c = c+1; d = (d*a)%n;}
}
return d;
}
10. Криптосистема RSA с открытым ключом
Криптосистемы с открытым ключом
позволяют обмениваться секретными
сообщениями по открытому каналу, не
договариваясь заранее о ключе шифра.
Кроме того, методы используемые в
криптосистемах позволяют также
добавить к сообщению цифровую
подпись, удостоверяющую что
сообщение не фальсифицировано.
11. Криптосистема RSA с открытым ключом
При использовании криптосистем с
открытым ключом каждый участник
переговоров имеет два ключа:
Открытый (public key, Pk) - сообщается
остальным участникам или вообще всем
желающим.
Секретный (secret key, Sk) – хранится в
секрете, не открывается никому.
12. Криптосистема RSA с открытым ключом
Каждый ключ задает некоторую
перестановку множества возможных
сообщений D, которая обозначается
P() или S().
Пара ключей одного участника
должна задавать взаимообратные
переста-новки, т.е. M = S(P(M))
должно быть выполнено для любого
M – сообще-ния из D.
13. Криптосистема RSA с открытым ключом
Процесс пересылки сообщения в
криптосистеме с открытым ключе
происходит так:
B узнает открытый ключ A – Pa
B зашифровывает свое сообщение M –
C = Pa(M) – и отсылает его A.
A получает сообщение C и
расшифровывает его – M = Sa(C)
14. Криптосистема RSA с открытым ключом
Подписать сообщение цифровой
подписью можно следующим образом:
A вычисляет цифровую подпись σ=Sa(M)
A отсылает B пару (M, σ)
B получает пару (M, σ)
B удостоверяется в подлинности
сообщения, проверив равенство M=Pa(σ)
15. Криптосистема RSA с открытым ключом
Pa SaM M
C=Pa(M)
Шифрование с открытым ключом
PaPa
M M
M, σ
Цифровая подпись
σ = Sa(M) Pa(σ) = M?
16. Криптосистема RSA с открытым ключом
Криптосистема RSA основана на том
обстоятельстве, что в настоящее время
известны эффективные алгоритмы
поиска больших простых чисел, но не
известно приемлемого по времени
алгоритма разложения произведения
двух больших простых чисел на
множители.
17. Криптосистема RSA с открытым ключом
Этапы построения ключей криптосис-
темы RSA:
Взять два больших простых числа p и q
Вычислить n = pq
Взять небольшое нечетное число e взаимно
простое с φ(n)
Вычислить d = e-1
mod φ(n)
Составить пару P = (e, n) – открытый ключ
Составить пару S = (d, n) – секретный ключ
18. Криптосистема RSA с открытым ключом
Множеству допустимых сообщений D
соответствует Zn.
Открытому ключу соответствует
преобразование:
P(M) = Me
mod n
Секретному ключу соответствует
преобразование:
S(C) = Cd
mod n
19. Криптосистема RSA с открытым ключом
Для ускорения вычислений на
практике цифровая подпись
вычисляется не для всего сообщения,
а для некоторой хеш-функции от него
h(M), дающей в результате
небольшое по размеру значение.