All Downloads are FREE. Search and download functionalities are using the official Maven repository.

uni.BouncyCastle-JCA.3.1.1.source-code.KeyPairGenerator.crysl Maven / Gradle / Ivy

There is a newer version: 3.1.3
Show newest version
SPEC java.security.KeyPairGenerator

OBJECTS
	java.lang.String algorithm;
	java.security.KeyPair keyPair;
	java.security.spec.AlgorithmParameterSpec params;
	int keysize;

EVENTS
	g1: getInstance(algorithm);
	g2: getInstance(algorithm, _);
	Get := g1 | g2;

	i1: initialize(keysize);
	i2: initialize(keysize, _);
	i3: initialize(params);
	i4: initialize(params, _);
	Init := i1 | i2 | i3 | i4;

	k1: keyPair = generateKeyPair();
	k2: keyPair = genKeyPair();
	Gen := k1 | k2;

ORDER
	Get, Init, Gen

CONSTRAINTS
	algorithm in {"RSA", "DSA", "DiffieHellman", "DH", "EC", "ECDSA", "ECDH", "ECDHWITHSHA1KDF", "ECDHC", 
			"ECIES", "ElGamal", "McElieceKobaraImai", "McEliecePointcheval", "McElieceFujisaki", 
			"McEliece", "McEliece-CCA2", "NH", "QTESLA", "Rainbow", "SPHINCS256", "XMSS", "XMSSMT"};
						
	algorithm in {"RSA"} => keysize in {4096, 3072}; //BSI TR-02102-1 Recommends atleast 3000bits for keys
	algorithm in {"DSA"} => keysize in {3072};
	algorithm in {"DiffieHellman", "DH"} => keysize in {3072};
	algorithm in {"EC", "ECDSA", "ECDH", "ECDHWITHSHA1KDF", "ECDHC", "ECIES"} => keysize in {256};
	
REQUIRES
	algorithm in {"RSA"} => preparedRSA[params];
	algorithm in {"DSA"} => preparedDSA[params];
	algorithm in {"DiffieHellman", "DH"} => preparedDH[params];
	algorithm in {"EC"} => preparedEC[params];

ENSURES
	generatedKeypair[keyPair, algorithm];
    




© 2015 - 2025 Weber Informatics LLC | Privacy Policy