Slide 4
Slide 4 text
BLS署名
• nodeでの実行例
• bls-eth-wasmなどの専用packageも提供
const mcl = require('mcl-wasm')
mcl.init().then(() => {
const P = new mcl.G1()
P.setStr('1 -1 1') // 初期設定
const s = new mcl.Fr()
s.setByCSPRNG() // 署名鍵(秘密鍵)の作成
const Q = mcl.mul(P, s) // 検証鍵(公開鍵)の作成
const H = mcl.hashAndMapToG2('abc') // 検証文字列のハッシュ
const sig = mcl.mul(H, s) // ハッシュに対する署名
const ok = mcl.pairing(Q,H).isEqual(mcl.pairing(P,sig))//署名の検証
// 注意 : もっと効率のよい方法はある
})
4 / 8