подходит, но написано что есть curve25519, там это возможно, но, к сожалению в этой либе этого нету.
тут вроде понятно как secret share получить (curve25519), но вот как произвести вот эту операцию сложения не совсем понятно, тут есть методы
x25519.getSharedSecret(priv, pub) === x25519.scalarMult(priv, pub); // aliases
в общем, как имя приватные публичные ключи реализовать схему фиата шамира? какую операцию между ними предпринять? может она в стандартном пакете есть, в либе https://github.com/paulmillr/noble-curves
я что-то их не вижу
1. Ed25519 это даже не кривая. Это алгоритм подписи) Кроме того, суждение "одна кривая очевидно не подходит, но вот есть другая подходящая" изначально порочно, так как тебя не интересует с точки зрения алгоритма конкретная кривая, они все так или иначе порождают группы. 2. В схеме Шамира используется не группа, а поле GF(2 ^ p), а не некоторая группа (как в DH, например). Просто так взять и перетащить его на кривые не получится.
Да, вот там это 2 разных функционала в той библиотеке. Подходящий у них называется x25519. Там есть функция . multiply на скаляр. И вроде как есть функция генерации secret share. Но вот чем именно переумножать не совсем понятно, вряд-ли этой функцией как скаляр. Реально не хочется лезть в крипту, тем более, на js 😅 Моя задача совместное шифрование/дешифровка. 1) сгенерировать приватный публичный ключ ✅ 2) сгенерировать сикреш шейр, это я так понял отдельно случайное значение ✅ 3) умножить эти g^sk на эл кривых ❌ Поидее библиотека noble-curves даёт возможность с ними работать, но какой именно метод применять непонятно
Еще раз, разделение секрета Шамира на кривых не работает. Не те математические конструкции используются А если "не хочется лезть в крипту", то реализацией заниматься и подавно не следует. Реализацией в принципе самостоятельно занимать нежелательно)
Тогда получается оно работает по классическому ель гамалю (как я и делал изначально) и не связано в EC.
Обсуждают сегодня