OpenSSL GF2m BiGNUM表示法


解釋OpenSSL如何以BIGNUM object表示位於GF2m上的元素



BIGNUM n=6,存成 n->d[0]=6
∵ 6的binary是 $110$
∴ 表示的元素是 \(x^2+x\)

GF2m的 irreducible polynomial 會存在 EC_GROUP object中的 poly array

例如irreducible polynomial是 $p=x^4+x+1$
存成 poly[0]=4,poly[1]=1,poly[2]=0



計算 $n^2 mod p$

\[n^2=(x^2+x)^2=x^4+x^2 \equiv x^2+x+1\mod x^4+x+1\]

用BIGNUM表示為7,存成n->d[0]=7
因為 $x^2+x+1$ 的Binary表示式是 $111$

Comments