@Immutable public class SafeZipRaesDriver extends ZipRaesDriver
IOException
.
This operation mode is considered to be safe: Although a formal prove is missing, it should be computationally infeasible to modify an archive file so that after decryption of the archive and after inflation (decompression) of an entry's data its CRC-32 value still matches! This should hold true even though CRC-32 is not at all a good cryptographic hash function because of its frequent collisions, its linear sink and small sink size. It's the ZIP inflation algorithm which actually comes to our rescue!
Subclasses must be thread-safe and should be immutable!
ParanoidZipRaesDriver
JAR_CHARSET
Constructor and Description |
---|
SafeZipRaesDriver() |
Modifier and Type | Method and Description |
---|---|
long |
getAuthenticationTrigger()
Returns the value of the property
authenticationTrigger . |
check, decorate, getPreambled, newEntry, newOutput, newZipInput, raesParameters, sink
getCharset, newEntry, newEntry
fileSystemUri, getKeyManagerMap, getLevel, getMethod, getOverheadSize, getPool, getPostambled, getRedundantContentSupport, getRedundantMetaDataSupport, mountPointUri, newInput, rdc, zipCryptoParameters
checkEncodable, isArchiveDriver, newController, newEntry, newInput, newOutput, normalize, source, toString
public final long getAuthenticationTrigger()
ZipRaesDriver
authenticationTrigger
.
If the cipher text length of an input RAES file is smaller than or equal to this value, then the Hash-based Message Authentication Code (HMAC) for the entire cipher text is computed and verified in order to authenticate the input RAES file.
Otherwise, if the cipher text length of an input RAES file is greater than this value, then initially only the cipher key and the cipher text length getKeyManager authenticated. In addition, whenever an entry is subsequently accessed, then it's CRC-32 value is checked.
Consequently, if the value of this property is set to a negative value,
then the entire cipher text gets never authenticated (CRC-32
checking only), and if set to Long.MAX_VALUE
, then the entire
cipher text gets always authenticated (no CRC-32 checking).
getAuthenticationTrigger
in class ZipRaesDriver
authenticationTrigger
.Copyright © 2005–2018 Schlichtherle IT Services. All rights reserved.