XU XUv0.8.8
EN

API

#crypto/sm9

import: #crypto/sm9

counts: 12 函数, 6 方法, 2 类型, 6 常量, 0 方法集

SM9 标识密码:签名/加密/密钥交换。零 C、非商密认证。

const g1_size

XuAPI
pub const g1_size = 65

用途

公开常量 `g1_size`。 值为 `65`

参数

无

const g2_size

XuAPI
pub const g2_size = 129

用途

公开常量 `g2_size`。 值为 `129`

参数

无

const signature_size

XuAPI
pub const signature_size = 97

用途

公开常量 `signature_size`。 值为 `97`

参数

无

const hid_sign

XuAPI
pub const hid_sign = 1

用途

公开常量 `hid_sign`。 值为 `1`

参数

无

const hid_enc

XuAPI
pub const hid_enc = 3

用途

公开常量 `hid_enc`。 值为 `3`

参数

无

const hid_exch

XuAPI
pub const hid_exch = 2

用途

公开常量 `hid_exch`。 值为 `2`

参数

无

sign_master_public

XuAPI
pub fn sign_master_public(ks &string) string

用途

符号master公钥。失败时 throw。

参数

ks &string
ks(借用,调用方仍持有;类型 &string)

返回

string — 结果字符串

sign_user_key

XuAPI
pub fn sign_user_key(ks &string, id &string) string

用途

符号用户键。失败时 throw。

参数

ks &string
ks(借用,调用方仍持有;类型 &string)
id &string
id(借用,调用方仍持有;类型 &string)

返回

string — 结果字符串

enc_master_public

XuAPI
pub fn enc_master_public(ke &string) string

用途

encmaster公钥。失败时 throw。

参数

ke &string
ke(借用,调用方仍持有;类型 &string)

返回

string — 结果字符串

enc_user_key

XuAPI
pub fn enc_user_key(ke &string, id &string) string

用途

enc用户键。

参数

ke &string
ke(借用,调用方仍持有;类型 &string)
id &string
id(借用,调用方仍持有;类型 &string)

返回

string — 结果字符串

exch_user_key

XuAPI
pub fn exch_user_key(ke &string, id &string) string

用途

exch用户键。

参数

ke &string
ke(借用,调用方仍持有;类型 &string)
id &string
id(借用,调用方仍持有;类型 &string)

返回

string — 结果字符串

sign_r

XuAPI
pub fn sign_r(dsa &string, mpk &string, msg &string, r &string) string

用途

符号r。失败时 throw。

参数

dsa &string
dsa(借用,调用方仍持有;类型 &string)
mpk &string
mpk(借用,调用方仍持有;类型 &string)
msg &string
消息(借用,调用方仍持有;类型 &string)
r &string
rune(Unicode 码点)(借用,调用方仍持有;类型 &string)

返回

string — 结果字符串

sign

XuAPI
pub fn sign(dsa &string, mpk &string, msg &string) string

用途

签名。失败时 throw。

参数

dsa &string
dsa(借用,调用方仍持有;类型 &string)
mpk &string
mpk(借用,调用方仍持有;类型 &string)
msg &string
消息(借用,调用方仍持有;类型 &string)

返回

string — 结果字符串

verify

XuAPI
pub fn verify(mpk &string, id &string, msg &string, sig &string) bool

用途

验签。

参数

mpk &string
mpk(借用,调用方仍持有;类型 &string)
id &string
id(借用,调用方仍持有;类型 &string)
msg &string
消息(借用,调用方仍持有;类型 &string)
sig &string
sig(借用,调用方仍持有;类型 &string)

返回

bool — 是否成立

encrypt_r

XuAPI
pub fn encrypt_r(mpk &string, id &string, msg &string, r &string) string

用途

加密r。失败时 throw。

参数

mpk &string
mpk(借用,调用方仍持有;类型 &string)
id &string
id(借用,调用方仍持有;类型 &string)
msg &string
消息(借用,调用方仍持有;类型 &string)
r &string
rune(Unicode 码点)(借用,调用方仍持有;类型 &string)

返回

string — 结果字符串

encrypt

XuAPI
pub fn encrypt(mpk &string, id &string, msg &string) string

用途

加密。失败时 throw。

参数

mpk &string
mpk(借用,调用方仍持有;类型 &string)
id &string
id(借用,调用方仍持有;类型 &string)
msg &string
消息(借用,调用方仍持有;类型 &string)

返回

string — 结果字符串

decrypt

XuAPI
pub fn decrypt(d &string, id &string, ct &string) string

用途

解密。失败时 throw。

参数

d &string
d(借用,调用方仍持有;类型 &string)
id &string
id(借用,调用方仍持有;类型 &string)
ct &string
ct(借用,调用方仍持有;类型 &string)

返回

string — 结果字符串

struct ExchCap

XuAPI
pub struct ExchCap {
    pub point string
    pub mac string
    pub key string
}

用途

公开结构体 `ExchCap`。

参数

point string
字段(string)
mac string
字段(string)
key string
键

struct Exch

XuAPI
pub struct Exch {

}

用途

公开结构体 `Exch`。

参数

无

exch_new

XuAPI
pub fn exch_new(duk &string, mpk &string, uid &string, peer &string, klen int, gen_sig bool) Exch

用途

exchnew。失败时 throw。

参数

duk &string
duk(借用,调用方仍持有;类型 &string)
mpk &string
mpk(借用,调用方仍持有;类型 &string)
uid &string
uid(借用,调用方仍持有;类型 &string)
peer &string
peer(借用,调用方仍持有;类型 &string)
klen int
klen(int)
gen_sig bool
gen_sig(bool)

返回

Exch — 该类型的值

(&mut Exch) init_r

XuAPI
pub fn (e &mut Exch) init_r(r &string) string

用途

`&mut Exch` 上的方法:initr。失败时 throw。

参数

e &mut Exch
接收者 &mut Exch(可变借用)
r &string
rune(Unicode 码点)(借用,调用方仍持有;类型 &string)

返回

string — 结果字符串

(&mut Exch) init

XuAPI
pub fn (e &mut Exch) init() string

用途

在 `&mut Exch` 上调用 `init`。失败时 throw。

参数

e &mut Exch
接收者 &mut Exch(可变借用)

返回

string — 结果字符串

(&mut Exch) respond_r

XuAPI
pub fn (e &mut Exch) respond_r(r &string, ra &string) ExchCap

用途

`&mut Exch` 上的方法:respondr。失败时 throw。

参数

e &mut Exch
接收者 &mut Exch(可变借用)
r &string
rune(Unicode 码点)(借用,调用方仍持有;类型 &string)
ra &string
ra(借用,调用方仍持有;类型 &string)

返回

ExchCap — 该类型的值

(&mut Exch) respond

XuAPI
pub fn (e &mut Exch) respond(ra &string) ExchCap

用途

在 `&mut Exch` 上调用 `respond`。失败时 throw。

参数

e &mut Exch
接收者 &mut Exch(可变借用)
ra &string
ra(借用,调用方仍持有;类型 &string)

返回

ExchCap — 该类型的值

(&mut Exch) confirm_responder

XuAPI
pub fn (e &mut Exch) confirm_responder(rb &string, sb &string) ExchCap

用途

`&mut Exch` 上的方法:confirmresponder。失败时 throw。

参数

e &mut Exch
接收者 &mut Exch(可变借用)
rb &string
rb(借用,调用方仍持有;类型 &string)
sb &string
sb(借用,调用方仍持有;类型 &string)

返回

ExchCap — 该类型的值

(&mut Exch) confirm_initiator

XuAPI
pub fn (e &mut Exch) confirm_initiator(sa &string) string

用途

`&mut Exch` 上的方法:confirminitiator。失败时 throw。

参数

e &mut Exch
接收者 &mut Exch(可变借用)
sa &string
sa(借用,调用方仍持有;类型 &string)

返回

string — 结果字符串