schemetest

package
v0.13.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 31, 2019 License: AGPL-3.0 Imports: 12 Imported by: 0

Documentation

Overview

Package schemetest provides functions used for testing both regular and concurrent coconut scheme.

Package schemetest provides functions used for testing both regular and concurrent coconut scheme.

Package schemetest provides functions used for testing both regular and concurrent scheme.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RandomInts

func RandomInts(q int, max int) []int

RandomInts returns random (non-repetitive) q ints, > 0, < max

func TestAggregateVerification

func TestAggregateVerification(t *testing.T, cw *coconutworker.CoconutWorker)

TestAggregateVerification checks whether signatures and verification keys from multiple authorities can be correctly aggregated and verified. This particular test does not test the threshold property, it is tested in separate test.

func TestBlindVerify

func TestBlindVerify(t *testing.T, cw *coconutworker.CoconutWorker)

TestBlindVerify checks whether only a valid coconut signature successfully verifies (includes private attributes).

func TestBlindVerifyTumbler

func TestBlindVerifyTumbler(t *testing.T, cw *coconutworker.CoconutWorker)

TestBlindVerifyTumbler tests the blind verification of credentials used in a tumbler system

func TestKeyAggregation

func TestKeyAggregation(t *testing.T, cw *coconutworker.CoconutWorker)

TestKeyAggregation checks correctness of aggregating single verification key. Aggregation of multiple verification keys is implicitly checked in other tests.

func TestKeygenProperties

func TestKeygenProperties(t *testing.T,
	params coconut.SchemeParams,
	sk *coconut.SecretKey,
	vk *coconut.VerificationKey,
)

TestKeygenProperties checks basic properties of the Coconut keys, such as whether X = g2^x.

func TestRandomize

func TestRandomize(t *testing.T, cw *coconutworker.CoconutWorker)

TestRandomize checks if randomising a signature still produces a valid coconut signature.

func TestSign

func TestSign(t *testing.T, cw *coconutworker.CoconutWorker)

TestSign verifies whether a coconut signature was correctly constructed

func TestSignerProof

func TestSignerProof(t *testing.T, cw *coconutworker.CoconutWorker)

TestSignerProof tests properties of the appropriate NIZK

func TestTTPKeygenProperties

func TestTTPKeygenProperties(t *testing.T,
	params coconut.SchemeParams,
	sks []*coconut.SecretKey,
	vks []*coconut.VerificationKey,
	k int,
	n int,
)

TestTTPKeygenProperties checks whether any 2 subsets of keys when multiplied by appropriate lagrange basis converge to the same values

func TestThresholdAuthorities

func TestThresholdAuthorities(t *testing.T, cw *coconutworker.CoconutWorker)

TestThresholdAuthorities checks the threshold property of the appropriate keys, as in whether any subset of t verification keys can be used to verify aggregate credential created out of any different subset of t issued credentials.

func TestTumblerProof

func TestTumblerProof(t *testing.T, cw *coconutworker.CoconutWorker)

TestTumblerProof tests properties of the appropriate NIZK

func TestVerifierProof

func TestVerifierProof(t *testing.T, cw *coconutworker.CoconutWorker)

TestVerifierProof tests properties of the appropriate NIZK

func TestVerify

func TestVerify(t *testing.T, cw *coconutworker.CoconutWorker)

TestVerify checks whether only a valid coconut signature successfully verifies.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL