[ 
https://issues.apache.org/jira/browse/HBASE-27094?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bryan Beaudreault resolved HBASE-27094.
---------------------------------------
    Resolution: Duplicate

> Encryption data contains checksum
> ---------------------------------
>
>                 Key: HBASE-27094
>                 URL: https://issues.apache.org/jira/browse/HBASE-27094
>             Project: HBase
>          Issue Type: Bug
>            Reporter: wenweijian
>            Priority: Minor
>
> in HFileBlockDefaultDecodingContext.prepareDecofing, we decoding data from 
> onDiskBlock.
> The onDiskBlock contains byte iv length, iv data and encrypted block data if 
> cryptoContext is not null.
> The encrypted block data contains two part, first part is the real encrypted 
> block data, the second part is checksum.
> when we the decrypt method(BlockIOUtils.readFullyWithHeapBuffer),the checkSum 
> will be put into the decryptionStream. if we use others padding mode which 
> likes pkcs5padding, the decrytion will throw an error "Input Length must be a 
> multiple of 16 when decrypting with a padded cipher", because of the checkSum 
> is not a multiple of 16.
> so we need to remove the checksum when we doing decrytion. 
> why we will not get error when we use AES/CTR/NOPPDING, because CTR is not 
> sensitive about the block size. but the other alg such as CBC or ECB, they 
> are sensitive about block size.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to