Package com.google.crypto.tink.mac
Class ChunkedMacWrapper
- java.lang.Object
-
- com.google.crypto.tink.mac.ChunkedMacWrapper
-
- All Implemented Interfaces:
PrimitiveWrapper<ChunkedMac,ChunkedMac>
public class ChunkedMacWrapper extends java.lang.Object implements PrimitiveWrapper<ChunkedMac,ChunkedMac>
ChunkedMacWrapper is the implementation of PrimitiveWrapper for the ChunkedMac primitive.The returned primitive works with a keyset (rather than a single key). To compute a MAC tag, it uses the primary key in the keyset, and prepends to the tag a certain prefix associated with the primary key. To verify a tag, the primitive uses the prefix of the tag to efficiently select the right key in the set. If the keys associated with the prefix do not validate the tag, the primitive tries all keys with
OutputPrefixType.RAW.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.google.crypto.tink.internal.PrimitiveWrapper
PrimitiveWrapper.PrimitiveFactory<B>
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Class<ChunkedMac>getInputPrimitiveClass()Returns the primitive class object of the primitive used to create B.java.lang.Class<ChunkedMac>getPrimitiveClass()Returns the primitive class object of the primitive managed.static voidregisterToInternalPrimitiveRegistry(PrimitiveRegistry.Builder primitiveRegistryBuilder)registerToInternalPrimitiveRegistry is a non-public method (it takes an argument of an internal-only type) registering an instance ofMacWrapperto the providedPrimitiveRegistry#Builder.ChunkedMacwrap(KeysetHandleInterface keysetHandle, MonitoringAnnotations annotations, PrimitiveWrapper.PrimitiveFactory<ChunkedMac> factory)Wraps aPrimitiveSetand returns a single instance.
-
-
-
Method Detail
-
wrap
public ChunkedMac wrap(KeysetHandleInterface keysetHandle, MonitoringAnnotations annotations, PrimitiveWrapper.PrimitiveFactory<ChunkedMac> factory) throws java.security.GeneralSecurityException
Description copied from interface:PrimitiveWrapperWraps aPrimitiveSetand returns a single instance.This method gets called when a new primitive is created.
- Specified by:
wrapin interfacePrimitiveWrapper<ChunkedMac,ChunkedMac>- Throws:
java.security.GeneralSecurityException
-
getPrimitiveClass
public java.lang.Class<ChunkedMac> getPrimitiveClass()
Description copied from interface:PrimitiveWrapperReturns the primitive class object of the primitive managed. Used for internal management. Should be implemented asreturn P.class;when implementing a wrapper creating objects of typeP.- Specified by:
getPrimitiveClassin interfacePrimitiveWrapper<ChunkedMac,ChunkedMac>
-
getInputPrimitiveClass
public java.lang.Class<ChunkedMac> getInputPrimitiveClass()
Description copied from interface:PrimitiveWrapperReturns the primitive class object of the primitive used to create B. Used for internal management. Should be implemented asreturn B.class;.- Specified by:
getInputPrimitiveClassin interfacePrimitiveWrapper<ChunkedMac,ChunkedMac>
-
registerToInternalPrimitiveRegistry
public static void registerToInternalPrimitiveRegistry(PrimitiveRegistry.Builder primitiveRegistryBuilder) throws java.security.GeneralSecurityException
registerToInternalPrimitiveRegistry is a non-public method (it takes an argument of an internal-only type) registering an instance ofMacWrapperto the providedPrimitiveRegistry#Builder.- Throws:
java.security.GeneralSecurityException
-
-