M
12.16
本周很丧,开头几天摸了一点鱼
按照甲方要求增减代码,重写了md
MASS-PoC功能封装
PoC测试命令
git@gitee.com:zengdewei1 / mass_api.git
0、参数解析
genkey//generate publickey ,privatekey
genchallenge//generate challenge
pk//publickey
bl//选择随机数存储空间大小2^bl-1
1、
命令
Get tips
go run main.go -h
输出
NAME:
main - A new cli application
USAGE:
main [global options] command [command options] [arguments...]
COMMANDS:
genkey generate a pair of pk&sk
genproof generate proof of the chain
genseed generate a random number(int) for generating challenge
init Init hashmap
verifyproof varify the proof of the given challenge
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--help, -h show help (default: false)
Get tips about init
go run main.go init -h
输出
NAME:
main init - Init hashmap
USAGE:
main init [command options] [arguments...]
OPTIONS:
--bl value, -b value block size (default: 24)
--rootpath value, -p value specify the path of hashmap data (default: "testdata")
--pk value, -k value publickey of hashmap
--help, -h show help (default: false)
Get tips about genproof
go run main.go genproof -h
输出
NAME:
main genproof - generate proof of the chain
USAGE:
main genproof [command options] [arguments...]
OPTIONS:
--bl value, -b value block size (default: 24)
--pk value, -k value publickey of hashmap
--seed value, -s value random seed for generating challenge (default: 0)
--rootpath value, -p value path of hashmap data (default: "testdata")
--help, -h show help (default: false)
Get tips about verifyproof
go run main.go verifyproof -h
输出
NAME:
main verifyproof - varify the proof of the given challenge
USAGE:
main verifyproof [command options] [arguments...]
OPTIONS:
--proof value output of genproof
--challenge value, -c value challenge of the proof
--help, -h show help (default: false)
2、
初始化部分(生成key、seed):
命令
Generate publicly and privatekey.(random number seed)
go run main.go genkey
go run main.go genseed
输出
publicKey:
0203183a1a82ebf44a24ec126901e12d5716384d737bcaa21d09f90eeac67d6c08
privateKey:
e9c2f24be75ee1f1b2a7275fa8e8ccefe72ed36e5509df32d17d344255434d29
random seed: 5577006791947779410
3 、
全部初始化部分:
命令
go run main.go init -b 24 -k 0203183a1a82ebf44a24ec126901e12d5716384d737bcaa21d09f90eeac67d6c08
//自定义bl,输入命令行参数pk(复制上方生成)
输出
未定义默认存入testdata里
4 、
生成部分:
命令
genproof.(random number)
go run main.go genproof -b 24 -k 0203183a1a82ebf44a24ec126901e12d5716384d737bcaa21d09f90eeac67d6c08 -s 5577006791947779410
//自定义bl,输入命令行参数k,输出true时的参数
输出
Challenge: 094ccd54f32a9d556aed16785d779c2da78059bb3507612136cd553b612cfe7a
Proof : 2eff810301010550726f6f6601ff82000104010158010a0001025870010a000102426c0104000102506b010c00000053ff8201033782fa0103a108560130014230323033313833613161383265626634346132346563313236393031653132643537313633383464373337626361613231643039663930656561633637643663303800
验证部分:
命令
verifyproof.(random number)
go run main.go verifyproof -c 094ccd54f32a9d556aed16785d779c2da78059bb3507612136cd553b612cfe7a --proof 2eff810301010550726f6f6601ff82000104010158010a0001025870010a000102426c0104000102506b010c00000053ff8201033782fa0103a108560130014230323033313833613161383265626634346132346563313236393031653132643537313633383464373337626361613231643039663930656561633637643663303800
输出
[55 130 250] [161 8 86] 24 0203183a1a82ebf44a24ec126901e12d5716384d737bcaa21d09f90eeac67d6c08
true
//输出proof.X, proof.XPrime, proof.BitLength, ProofStruct.Pk
命令 (错误的challenge,正确的proof)
go run main.go verifyproof -c 194ccd54f32a9d556aed16785d779c2da78059bb3507612136cd553b612cfe7a --proof 2eff810301010550726f6f6601ff82000104010158010a0001025870010a000102426c0104000102506b010c00000053ff8201033782fa0103a108560130014230323033313833613161383265626634346132346563313236393031653132643537313633383464373337626361613231643039663930656561633637643663303800
输出 (proof解出proof.X, proof.XPrime, proof.BitLength, ProofStruct.Pk)
[55 130 250] [161 8 86] 24 0203183a1a82ebf44a24ec126901e12d5716384d737bcaa21d09f90eeac67d6c08
false
bl取24时,表数据大小:100MB