From be9d0e07c3377a13f96363fd8bd7925b3ae17778 Mon Sep 17 00:00:00 2001 From: Daniel Schadt Date: Mon, 27 Nov 2023 17:29:30 +0100 Subject: more documentation --- src/hibe/bbg.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/hibe') diff --git a/src/hibe/bbg.rs b/src/hibe/bbg.rs index 06dbb51..28a3407 100644 --- a/src/hibe/bbg.rs +++ b/src/hibe/bbg.rs @@ -8,16 +8,29 @@ use bls12_381_plus::{ }; use rand::Rng; +/// HIBE from Dan Boneh, Xavier Boyen and Eu-Jin Goh (2005). +/// +/// This struct implements the HIBE of Boneh, Boyen and Goh from their paper "Hierarchical Identity +/// Based Encryption with Constant Size Ciphertext" (2005) ([eprint][eprint]). +/// +/// The underlying bilinear curve is BLS12-381. +/// +/// [eprint]: https://eprint.iacr.org/2005/015.pdf #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub struct BonehBoyenGoh { max_depth: usize, } impl BonehBoyenGoh { + /// Constructs a new BBG HIBE algorithm suitable for identites up to the given depth. + /// + /// Note that this method only sets up the algorithm definition, it does not draw any keys yet. + /// See [`Hibe::setup`] for that. pub fn new(max_depth: usize) -> Self { Self { max_depth } } + /// Returns the maximum depth that this instance supports. pub fn max_depth(&self) -> usize { self.max_depth } -- cgit v1.2.3