本文整理汇总了Java中org.bouncycastle.pqc.crypto.gmss.util.GMSSRandom类的典型用法代码示例。如果您正苦于以下问题:Java GMSSRandom类的具体用法?Java GMSSRandom怎么用?Java GMSSRandom使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
GMSSRandom类属于org.bouncycastle.pqc.crypto.gmss.util包,在下文中一共展示了GMSSRandom类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: GMSSSigner
import org.bouncycastle.pqc.crypto.gmss.util.GMSSRandom; //导入依赖的package包/类
/**
* The standard constructor tries to generate the MerkleTree Algorithm
* identifier with the corresponding OID.
*
* @param digest the digest to use
*/
// TODO
public GMSSSigner(GMSSDigestProvider digest)
{
digestProvider = digest;
messDigestTrees = digest.get();
messDigestOTS = messDigestTrees;
mdLength = messDigestTrees.getDigestSize();
gmssRandom = new GMSSRandom(messDigestTrees);
}
示例2: GMSSRootSig
import org.bouncycastle.pqc.crypto.gmss.util.GMSSRandom; //导入依赖的package包/类
/**
* The constructor generates the PRNG and initializes some variables
*
* @param digest an array of strings, containing the digest of the used hash
* function, the digest of the PRGN and the names of the
* corresponding providers
* @param w the winternitz parameter
* @param height the heigth of the tree
*/
public GMSSRootSig(Digest digest, int w, int height)
{
messDigestOTS = digest;
gmssRandom = new GMSSRandom(messDigestOTS);
this.mdsize = messDigestOTS.getDigestSize();
this.w = w;
this.height = height;
this.k = (1 << w) - 1;
int mdsizeBit = mdsize << 3;
this.messagesize = (int)Math.ceil((double)(mdsizeBit) / (double)w);
}
示例3: GMSSLeaf
import org.bouncycastle.pqc.crypto.gmss.util.GMSSRandom; //导入依赖的package包/类
/**
* This constructor regenerates a prior GMSSLeaf object
*
* @param digest an array of strings, containing the name of the used hash
* function and PRNG and the name of the corresponding
* provider
* @param otsIndex status bytes
* @param numLeafs status ints
*/
public GMSSLeaf(Digest digest, byte[][] otsIndex, int[] numLeafs)
{
this.i = numLeafs[0];
this.j = numLeafs[1];
this.steps = numLeafs[2];
this.w = numLeafs[3];
messDigestOTS = digest;
gmssRandom = new GMSSRandom(messDigestOTS);
// calulate keysize for private key and the help array
mdsize = messDigestOTS.getDigestSize();
int mdsizeBit = mdsize << 3;
int messagesize = (int)Math.ceil((double)(mdsizeBit) / (double)w);
int checksumsize = getLog((messagesize << w) + 1);
this.keysize = messagesize
+ (int)Math.ceil((double)checksumsize / (double)w);
this.two_power_w = 1 << w;
// calculate steps
// ((2^w)-1)*keysize + keysize + 1 / (2^h -1)
// initialize arrays
this.privateKeyOTS = otsIndex[0];
this.seed = otsIndex[1];
this.concHashs = otsIndex[2];
this.leaf = otsIndex[3];
}
示例4: GMSSKeyPairGenerator
import org.bouncycastle.pqc.crypto.gmss.util.GMSSRandom; //导入依赖的package包/类
/**
* The standard constructor tries to generate the GMSS algorithm identifier
* with the corresponding OID.
* <p/>
*
* @param digestProvider provider for digest implementations.
*/
public GMSSKeyPairGenerator(GMSSDigestProvider digestProvider)
{
this.digestProvider = digestProvider;
messDigestTree = digestProvider.get();
// set mdLength
this.mdLength = messDigestTree.getDigestSize();
// construct randomizer
this.gmssRandom = new GMSSRandom(messDigestTree);
}
示例5: GMSSKeyPairGenerator
import org.bouncycastle.pqc.crypto.gmss.util.GMSSRandom; //导入依赖的package包/类
/**
* The standard constructor tries to generate the GMSS algorithm identifier
* with the corresponding OID.
*
* @param digestProvider provider for digest implementations.
*/
public GMSSKeyPairGenerator(GMSSDigestProvider digestProvider)
{
this.digestProvider = digestProvider;
messDigestTree = digestProvider.get();
// set mdLength
this.mdLength = messDigestTree.getDigestSize();
// construct randomizer
this.gmssRandom = new GMSSRandom(messDigestTree);
}