|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object
|
+--java.security.KeyPairGeneratorSpi
|
+--de.flexiprovider.api.keys.KeyPairGenerator
|
+--de.flexiprovider.pqc.ecc.niederreiter.NiederreiterKeyPairGenerator
This class implements key pair generation of the Niederreiter public-key
cryptosystem (Niederreiter PKCS). It class extends the
KeyPairGenerator class.
Given the parameters m and t or the key size n, the algorithm generates the following matrices:
The public key is (t, n, H), the private key is (m,k,field polynomial,Goppa polynomial,S,P).
A key pair consists of a NiederreiterPublicKey and a
NiederreiterPrivateKey.
The default parameters are (m, t) = (11, 50).
The Niederreiter key pair generator can be used as follows:
1. get instance of NiederreiterPKC key pair generator:
KeyPairGenerator kpg =
KeyPairGenerator.getInstance("Niederreiter","FlexiPQC");
2. initialize the KPG with the key size n:
kpg.initialize(n);
or with the parameters m and t:
kpg.initialize(m,t);
3. create McElicePKC key pair:
KeyPair keyPair = kpg.generateKeyPair();
4. get the encoded
private and public keys from the key pair:
encodedPublicKey = keyPair.getPublic().getEncoded();
encodedPrivateKey = keyPair.getPrivate().getEncoded();
ECCKeyGenParameterSpec| Constructor Summary | |
NiederreiterKeyPairGenerator()
|
|
| Method Summary | |
KeyPair |
genKeyPair()
Generate a key pair. |
void |
initialize(AlgorithmParameterSpec params,
SecureRandom random)
Initialize the key pair generator with the given parameters and source of randomness. |
void |
initialize(int keySize,
SecureRandom random)
Initialize the key pair generator. |
| Methods inherited from class de.flexiprovider.api.keys.KeyPairGenerator |
generateKeyPair, initialize, initialize |
| Methods inherited from class java.lang.Object |
|
| Constructor Detail |
public NiederreiterKeyPairGenerator()
| Method Detail |
public void initialize(AlgorithmParameterSpec params,
SecureRandom random)
throws InvalidAlgorithmParameterException
ECCKeyGenParameterSpec. If the parameters are null, the
default parameters are used (see ECCKeyGenParameterSpec).initialize in class KeyPairGeneratorparams - the parametersrandom - the source of randomnessInvalidAlgorithmParameterException - if the parameters are not an instance of
ECCKeyGenParameterSpec.
public void initialize(int keySize,
SecureRandom random)
initialize in class KeyPairGeneratorkeySize - the length of the coderandom - the source of randomnesspublic KeyPair genKeyPair()
genKeyPair in class KeyPairGeneratorNiederreiterPrivateKey and
a NiederreiterPublicKey.NiederreiterPrivateKey,
NiederreiterPublicKey
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||