ed25519
Там 256 битный pk
Дальше вот у меня некоторые вопросы.
Мне нужно по elgamal сделать общий публичный ключ, чтобы им каждая сторона шифровала данные и потом соответственно все вместе дешифровывали.
То есть я понимаю, что я хочу сделать, у меня есть вопросы по битности и в целом по процедуре.
Здесь написано:
Каждая сторона обменивается g^sk
И у меня сразу вопросы:
1) какая сторона генерирует g?
2) сколько бит должно быть g? (private key для ЭК 256 бит), я так понял тоже 256 бит?
1) g -- заранее заданный генератор группы (в твоем случае точка на кривой) 2) битность точки на кривой -- история интересная)
всё, я понял, это с другой оперы значит а кто из участников должен эту точку выбирать? если случайным образом выбирается, то как обычно это делается?
Кажется, я там прямо написал: "заранее заданный" То есть хоть захардкоженный генератор группы точек
ещё вопрос если можно, каким образом перемножать "публичные ключи", то есть этот вот g^sk, нужно между собой перемножить, я так понимаю это умножение по модулю, но по какому?) или у ЭЛ кривых это как-то иначе тоже
Я бы для начала хотя бы про кривые почитал... Группа точек на кривой аддитивная, там только сложение, а экспоненцирование есть ни что иное как умножение: sk · G Так-то это все фикция -- разные записи одного и того же. Не надо думать в терминах умножения или сложения, это всё пустое. Есть групповая операция, вот в её терминах надо думать.
Обсуждают сегодня