
ch.openchvote.parameters.security.ZZPlusParameters Maven / Gradle / Ivy
/*
* Copyright (C) 2023 Berner Fachhochschule https://e-voting.bfh.ch
*
* - This program is free software: you can redistribute it and/or modify -
* - it under the terms of the GNU Affero General Public License as published by -
* - the Free Software Foundation, either version 3 of the License, or -
* - (at your option) any later version. -
* - -
* - This program is distributed in the hope that it will be useful, -
* - but WITHOUT ANY WARRANTY; without even the implied warranty of -
* - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -
* - GNU General Public License for more details. -
* - -
* - You should have received a copy of the GNU Affero General Public License -
* - along with this program. If not, see . -
*/
package ch.openchvote.parameters.security;
import java.math.BigInteger;
/**
* Instances of this interface represent a list of parameters for specifying a multiplicative group of absolute values
* modulo a safe prime {@code p=2q+1}. This list includes two group generators {@code g} and {@code h}.
*/
public interface ZZPlusParameters {
/**
* Returns the modulus {@code p}.
*
* @return The modulus {@code p}
*/
BigInteger get_p();
/**
* Returns the group order {@code q}.
*
* @return The group order {@code q}
*/
BigInteger get_q();
/**
* Returns the first group generator {@code g}.
*
* @return The first group generator {@code g}
*/
BigInteger get_g();
/**
* Returns the second group generator {@code h}.
*
* @return The second group generator {@code h}
*/
BigInteger get_h();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy