org.bouncycastle.pqc.legacy.crypto.test.NTRUSignatureParametersTest Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bcprov-jdk15to18 Show documentation
Show all versions of bcprov-jdk15to18 Show documentation
The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms. This jar contains JCE provider and lightweight API for the Bouncy Castle Cryptography APIs for JDK 1.5 to JDK 1.8.
package org.bouncycastle.pqc.legacy.crypto.test;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import junit.framework.TestCase;
import org.bouncycastle.pqc.legacy.crypto.ntru.NTRUSigningKeyGenerationParameters;
public class NTRUSignatureParametersTest
extends TestCase
{
public void testLoadSave()
throws IOException
{
for (NTRUSigningKeyGenerationParameters params : new NTRUSigningKeyGenerationParameters[]{NTRUSigningKeyGenerationParameters.TEST157, NTRUSigningKeyGenerationParameters.TEST157_PROD, NTRUSigningKeyGenerationParameters.APR2011_743, NTRUSigningKeyGenerationParameters.APR2011_743_PROD})
{
testLoadSave(params);
}
}
private void testLoadSave(NTRUSigningKeyGenerationParameters params)
throws IOException
{
ByteArrayOutputStream os = new ByteArrayOutputStream();
params.writeTo(os);
ByteArrayInputStream is = new ByteArrayInputStream(os.toByteArray());
assertEquals(params, new NTRUSigningKeyGenerationParameters(is));
}
public void testEqualsHashCode()
throws IOException
{
for (NTRUSigningKeyGenerationParameters params : new NTRUSigningKeyGenerationParameters[]{NTRUSigningKeyGenerationParameters.TEST157, NTRUSigningKeyGenerationParameters.TEST157_PROD, NTRUSigningKeyGenerationParameters.APR2011_743, NTRUSigningKeyGenerationParameters.APR2011_743_PROD})
{
testEqualsHashCode(params);
}
}
private void testEqualsHashCode(NTRUSigningKeyGenerationParameters params)
throws IOException
{
ByteArrayOutputStream os = new ByteArrayOutputStream();
params.writeTo(os);
ByteArrayInputStream is = new ByteArrayInputStream(os.toByteArray());
NTRUSigningKeyGenerationParameters params2 = new NTRUSigningKeyGenerationParameters(is);
assertEquals(params, params2);
assertEquals(params.hashCode(), params2.hashCode());
params.N += 1;
assertFalse(params.equals(params2));
assertFalse(params.equals(params2));
assertFalse(params.hashCode() == params2.hashCode());
}
public void testClone()
{
for (NTRUSigningKeyGenerationParameters params : new NTRUSigningKeyGenerationParameters[]{NTRUSigningKeyGenerationParameters.TEST157, NTRUSigningKeyGenerationParameters.TEST157_PROD, NTRUSigningKeyGenerationParameters.APR2011_743, NTRUSigningKeyGenerationParameters.APR2011_743_PROD})
{
assertEquals(params, params.clone());
}
}
}