Improved ID-based Proxy Signature Scheme with Message Recovery
Improved version provided by Caixue Zhou of the Singh and Verma’s proxy signature scheme with message recovery.
Loading...
Searching...
No Matches
imp-sv-scheme.h File Reference

Header file containing the functions to implement the improved SV-Scheme. More...

#include <pbc/pbc.h>
#include <nettle/sha1.h>
#include "shared.h"

Go to the source code of this file.

Functions

void imp_p_sign (proxy_signature_t p_sig, element_t k_sign, delegation_t w, const uint8_t msg[], size_t msg_size, sv_public_params_t public_p)
 The proxy signer signs a message m. After choosing a random k in Zq*, the proxy signer computes the following values: More...
 
uint16_t imp_sign_verify (uint8_t msg[], proxy_signature_t p_sig, sv_public_params_t public_p)
 Checks if the proxy signature is valid. If so, the original message m is returned. More...
 

Detailed Description

Header file containing the functions to implement the improved SV-Scheme.

Author
TendTo (https://github.com/TendTo)

Function Documentation

◆ imp_p_sign()

void imp_p_sign ( proxy_signature_t  p_sig,
element_t  k_sign,
delegation_t  w,
const uint8_t  msg[],
size_t  msg_size,
sv_public_params_t  public_p 
)

The proxy signer signs a message m. After choosing a random k in Zq*, the proxy signer computes the following values:

  • rb = e(P, P)^k
  • beta = F1(m)||(F2(F1(m))(+)m)
  • alpha = [beta]10
  • V = H(rb) + alpha
  • U = k * P + V * d
Parameters
p_sigproxy signature to be created.
k_signproxy signing key of the proxy signer.
wdelegation from the original user to the proxy signer that validates the proxy signing key.
msgmessage to be signed.
msg_sizesize of the message to be signed in bytes.
public_pAll the public parameters of the scheme.

◆ imp_sign_verify()

uint16_t imp_sign_verify ( uint8_t  msg[],
proxy_signature_t  p_sig,
sv_public_params_t  public_p 
)

Checks if the proxy signature is valid. If so, the original message m is returned.

Parameters
msgmessage recovered from the proxy signature. The buffer must be l2 bytes long.
psproxy signature to be verified.
public_pAll the public parameters of the scheme.