pksig_adapt_naor01

Naor’s IBE-to-Signature Transform (Naor01)

Description: Transforms a fully-secure Identity-Based Encryption scheme into a digital signature scheme using Naor’s construction.

Based on: Identity-Based Encryption from the Weil Pairing
Published in: CRYPTO 2001
Notes: First described by Boneh and Franklin, credited to Moni Naor.
Uses IBE key extraction as signing; verification via encrypt-then-decrypt.
Warning: Not secure for selectively-secure IBE schemes!

Adapter Properties

  • Type: IBE-to-signature transform

  • Underlying Scheme: any fully-secure IBE scheme

  • Purpose: constructs digital signatures from Identity-Based Encryption

Implementation

Authors:
  1. Ayo Akinyele

Date:

05/2011

class pksig_adapt_naor01.Sig_Generic_ibetosig_Naor01(ibe_scheme, groupObj)[source]

Bases: PKSig

>>> from charm.toolbox.pairinggroup import PairingGroup,ZR
>>> from charm.schemes.ibenc.ibenc_bb03 import IBE_BB04
>>> from charm.adapters.ibenc_adapt_identityhash import HashIDAdapter
>>> group = PairingGroup('MNT224')
>>> ibe = IBE_BB04(group)
>>> hashID = HashIDAdapter(ibe, group)    
>>> ibsig = Sig_Generic_ibetosig_Naor01(hashID, group)
>>> (master_public_key, master_secret_key) = ibsig.keygen()
>>> msg = b"hello world!!!"
>>> signature = ibsig.sign(master_secret_key, msg)
>>> ibsig.verify(master_public_key, msg, signature) 
True
keygen()[source]
sign(sk, m)[source]
verify(pk, m, sig)[source]