Здравствуйте, уважаемые читатели. Сегодня мы хотим вернуться к финансовым технологиям и вместе с нашим учеником рассмотреть вопрос о том, как быстро можно формировать банковские ключи в зависимости от различных параметров.
Предыдущие публикации по финансовым технологиям вы можете найти здесь.
"Тему ключей шифрования мы смотрели в цикле про финтех. В этот раз случилось для одной консультации поисследовать алгоритм формирования общего ключа шифрования DiffieHellman. Интересовало то, как быстро могут формировать ключи в зависимости от различных параметров, о которых ниже.
Diffie-Hellman про то, как два устройства договариваются о секретном ключе, не передавая его. Представьте. Двум устройствам (например, телефону и роутеру. Или банкомату и процессингу эквайера) нужно зашифровать данные общим ключом AES. Но как передать этот ключ, чтобы его не перехватили?
Обычный способ: передать ключ «по проводу», в открытом виде, нельзя, перехватят. Diffie-Hellman (DH) позволяет двум сторонам получить одинаковый секретный ключ, не передавая его напрямую. Представьте, что вы с другом/подругой – адресатом – хотите смешать общую краску, но можете отправлять друг другу банки только через курьера (который может их открыть).
Шаги.
Вы договариваетесь о базовой краске (жёлтой). Это открытая информация — её знают все.
Вы выбираете свой секретный цвет (например, синий) и смешиваете с жёлтой → получаете зелёный.
Друг выбирает свой секретный цвет (например, красный) и смешивает с жёлтой → получает оранжевый.
Вы отправляете адресату свои смеси (зелёный и оранжевый) — курьер видит только их.
Магия: вы добавляете свой секретный цвет к смеси друга → получаете коричневый.
Адресат делает то же самое → получает тот же коричневый). Общий секрет – коричневая краска – получен, хотя вы никогда не передавали друг другу свои секретные цвета.
Теперь к технике. В компьютерах/телефонах/и др вместо красок — здоровые простые числа. Простое число — это натуральное число (натуральное – используется для счета предметов), большее 1, которое имеет ровно два различных натуральных делителя: 1 и само себя.
Примерами простых чисел являются 2,3,5,7,11,13 и т.д.).
Открытые параметры (знают все):
p — большое простое число (обычно 2048, 4096 или 8192 бит, как на картинке из моей программы)
g — генератор (чаще всего – 2 или 5).
Сторона А:
Генерирует секретное число a (256 бит).
Вычисляет A = g^a mod p (отправляет стороне Б, ^ - возведение в степень).
Сторона Б:
Генерирует у себя секретное число b.
Вычисляет B = g^b mod p (отправляет А).
Общий секрет (ключ AES):
А вычисляет: S = B^a mod p.
Б вычисляет: S = A^b mod p.
Магия: B^a = (g^b)^a = g^{ab} = (g^a)^b = A^b → S одинаковый с двух сторон!
Простой пример, чтобы было понятно. Возьмём маленькие числа (в реальности они огромные) и 2-х классических ролевых персов из крипты – Алису и Боба. Открытые параметры:
p = 23 (простое число),
g = 5 (генератор).
Алиса:
a = 6 (секрет).
A = 5^6 mod 23 = 15625 mod. 23 = 8.
Боб:
b = 15 (секрет).
B = 5^15 mod 23 = 30517578125 mod 23 = 19
Теперь обменялись A=8 и B=19.
Алиса: S = 19^6 mod 23 = 47045881 mod 23 = 2
Боб: S = 8^15 mod 23 = 35184372088832 mod 23 = 2.
Общий секрет = 2".
*******
Если вам нравятся наши публикации, то вы можете поддержать канал донатом.
У нас есть много полезных и интересных публикаций.
Наш клуб 800Million совместно с Центром психологической безопасности (ЦПБ)
регулярно проводит финансовые курсы. В этой подборке собрана информация о курсах, отзывы о них, а также рассказано о преподавателе.
А это пост, в котором рассказано обо всех наших технологиях.
https://dzen.ru/b/Z_QgkC-L6xpZoTQZ
Здесь - наши статьи.
Здесь подборка с нашими рассказами о 800Million.
Кроме того, у нашего клуба есть своя картинная галерея нейроживописи.
Стиль - супрематизм. Картины созданы нашим мастером. Любую из работ вы можете заказать для приобретения.