Top Description Inners Fields Constructors Methods
org.bouncycastle.crypto.engines

public Class SparkleEngine

extends AEADBufferBaseEngine
Class Inheritance
Imports
org.bouncycastle.crypto.digests.SparkleDigest, org.bouncycastle.util.Integers, .Pack

Sparkle v1.2, based on the current round 3 submission, https://sparkle-lwc.github.io/ Reference C implementation: https://github.com/cryptolu/sparkle

Specification

https://csrc.nist.gov/CSRC/media/Projects/lightweight-cryptography/documents/finalist-round/updated-spec-doc/sparkle-spec-final.pdf

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static enum

Field Summary

Modifier and TypeField and Description
private final int
private final int
private final int
private final int
private final int
private boolean
private final int[]
k

private final int
private final int
private final int[]
private final int
private static final int[]
private final int
private final int
private final int[]
private final int
private final int
Inherited from org.bouncycastle.crypto.engines.AEADBufferBaseEngine:
AADBufferSizeaadFinishedBlockSizeinitialisedm_aadm_aadPosm_bufm_bufPosm_state

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
private static int
ELL(int x)

protected void
init(byte[] key, byte[] iv)

Implements abstract org.bouncycastle.crypto.engines.AEADBaseEngine.init.

protected void
processBuffer(byte[] input, int inOff, byte[] output, int outOff)

Implements abstract org.bouncycastle.crypto.engines.AEADBufferBaseEngine.processBuffer.

protected void
private void
processBufferDecrypt(byte[] buffer, int bufOff, byte[] output, int outOff)

private void
processBufferEncrypt(byte[] buffer, int bufOff, byte[] output, int outOff)

protected void
protected void
protected void
private static void
sparkle_opt(int[] state, int steps)

pack-priv static void
sparkle_opt12(int[] state, int steps)

public static void
sparkle_opt12(SparkleDigest.Friend friend, int[] state, int steps)

pack-priv static void
sparkle_opt16(int[] state, int steps)

public static void
sparkle_opt16(SparkleDigest.Friend friend, int[] state, int steps)

pack-priv static void
sparkle_opt8(int[] state, int steps)

Inherited from org.bouncycastle.crypto.engines.AEADBufferBaseEngine:
bufferResetcheckAADcheckDatadoFinalgetBlockSizegetOutputSizegetUpdateOutputSizeprocessAADByteprocessAADBytesprocessBytesvalidateAndProcessBuffer

Field Detail

_A0back to summary
private final int _A0
_A1back to summary
private final int _A1
_M2back to summary
private final int _M2
_M3back to summary
private final int _M3
CAP_MASKback to summary
private final int CAP_MASK
encryptedback to summary
private boolean encrypted
kback to summary
private final int[] k
KEY_WORDSback to summary
private final int KEY_WORDS
m_bufferSizeDecryptback to summary
private final int m_bufferSizeDecrypt
npubback to summary
private final int[] npub
RATE_WORDSback to summary
private final int RATE_WORDS
RCONback to summary
private static final int[] RCON
SPARKLE_STEPS_BIGback to summary
private final int SPARKLE_STEPS_BIG
SPARKLE_STEPS_SLIMback to summary
private final int SPARKLE_STEPS_SLIM
stateback to summary
private final int[] state
STATE_WORDSback to summary
private final int STATE_WORDS
TAG_WORDSback to summary
private final int TAG_WORDS

Constructor Detail

SparkleEngineback to summary
public SparkleEngine(SparkleEngine.SparkleParameters sparkleParameters)

Method Detail

ELLback to summary
private static int ELL(int x)
initback to summary
protected void init(byte[] key, byte[] iv) throws IllegalArgumentException

Implements abstract org.bouncycastle.crypto.engines.AEADBaseEngine.init.

processBufferback to summary
protected void processBuffer(byte[] input, int inOff, byte[] output, int outOff)

Implements abstract org.bouncycastle.crypto.engines.AEADBufferBaseEngine.processBuffer.

Annotations
@Override
processBufferAADback to summary
protected void processBufferAAD(byte[] buffer, int bufOff)

Implements abstract org.bouncycastle.crypto.engines.AEADBufferBaseEngine.processBufferAAD.

processBufferDecryptback to summary
private void processBufferDecrypt(byte[] buffer, int bufOff, byte[] output, int outOff)
processBufferEncryptback to summary
private void processBufferEncrypt(byte[] buffer, int bufOff, byte[] output, int outOff)
processFinalAADback to summary
protected void processFinalAAD()

Implements abstract org.bouncycastle.crypto.engines.AEADBufferBaseEngine.processFinalAAD.

processFinalBlockback to summary
protected void processFinalBlock(byte[] output, int outOff)

Implements abstract org.bouncycastle.crypto.engines.AEADBufferBaseEngine.processFinalBlock.

Annotations
@Override
resetback to summary
protected void reset(boolean clearMac)

Overrides org.bouncycastle.crypto.engines.AEADBaseEngine.reset.

sparkle_optback to summary
private static void sparkle_opt(int[] state, int steps)
sparkle_opt12back to summary
pack-priv static void sparkle_opt12(int[] state, int steps)
sparkle_opt12back to summary
public static void sparkle_opt12(SparkleDigest.Friend friend, int[] state, int steps)
sparkle_opt16back to summary
pack-priv static void sparkle_opt16(int[] state, int steps)
sparkle_opt16back to summary
public static void sparkle_opt16(SparkleDigest.Friend friend, int[] state, int steps)
sparkle_opt8back to summary
pack-priv static void sparkle_opt8(int[] state, int steps)
org.bouncycastle.crypto.engines back to summary

public final Enum SparkleEngine.SparkleParameters

extends Enum<SparkleEngine.SparkleParameters>
Class Inheritance

Field Summary

Modifier and TypeField and Description
public static final SparkleEngine.SparkleParameters
public static final SparkleEngine.SparkleParameters
public static final SparkleEngine.SparkleParameters
public static final SparkleEngine.SparkleParameters

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static SparkleEngine.SparkleParameters
public static SparkleEngine.SparkleParameters[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

SCHWAEMM128_128back to summary
public static final SparkleEngine.SparkleParameters SCHWAEMM128_128
SCHWAEMM192_192back to summary
public static final SparkleEngine.SparkleParameters SCHWAEMM192_192
SCHWAEMM256_128back to summary
public static final SparkleEngine.SparkleParameters SCHWAEMM256_128
SCHWAEMM256_256back to summary
public static final SparkleEngine.SparkleParameters SCHWAEMM256_256

Constructor Detail

SparkleParametersback to summary
private SparkleParameters()

Method Detail

valueOfback to summary
public static SparkleEngine.SparkleParameters valueOf(String name)
valuesback to summary
public static SparkleEngine.SparkleParameters[] values()