Hashe
ハッシュ型
Scillaのハッシュは、データ型ByStr32を使用して宣言されます。
ByStr32は、0xがプレフィックスされた32バイト(64の16進文字)の16進バイト文字列を表します。
下記はグローバルなByStr32の宣言です。
let x = 0x123456789012345678901234567890123456789012345678901234567890abff
Builtin関数
ハッシュに関する操作もScilla言語に組み込まれています。
※AnyはIntX UintX String ByStr20 ByStr32のタイプである可能性があることを指します。
builtin eq h1 h2
builtin dist h1 h2
h1とh2の距離を返します。返却型はUint256となります。
builtin sha256hash x
Any型xのSHA256ハッシュ値を返します。返却型はByStr32となります。
builtin to_byStr x'
有限長ハッシュ値x'をByStr32の任意の長さに変換します。
builtin schnorr_gen_key_pair
ByStr32型の秘密鍵とByStr33型の公開鍵からなるPair {ByStr32 BySt33}形式のキーペアを作成します。 builtin schnorr_sign privk msg
ByStr型のmsgをByStr32型の秘密鍵を使って署名します。
builtin schnorr_verify pubk msg sig
ByStr32型のmsgを、ByStr64型の署名とByStr33型の公開鍵で照合します。