Proxy Re-Encryption with publicly verification, pre in short, is proposed in Signcryption of proxy re-encryption with publicly verificatio.
This implementaion is based on pbc. Thanks for pbc's contributors.
- SetUp(lamda) -> public params
- KeyGen() -> key pairs
- RkeyGen() -> re-encryption key
- Signc() -> original cipher
- ReSignc() -> re-encryption cipher
- UnSignc() -> plaintext if you want to know how it works, go to read the paper.
- pre.go implemented the core Algorithm
- ulti.go implemented how to seriliaze the data structures in pre This project is based on pbc, so you need to install pbc first. And a very important thing is you need to modify element.go or the serialization will fail!
func checkFieldsMatch(f1, f2 *C.struct_field_s) {
if f1 != f2 {
return
}
/*
if f1 != f2 {
panic(ErrIncompatible)
}*/
}
Usage sample is in pre_test.go
-TestSample()