apache / apache/parquet-java

Add more methods into interface of BlockCipher

Open
#2,653 5 comments 0 reactions 0 assignees View on GitHub
Component: Java Component: Parquet Priority: Major Type: enhancement
Dominant language
Java
Stars
3.1k
Forks
1.6k
Avg merge
3d 12h
Merged PRs (30d)
33

Description

Currently BlockCipher interface has methods without letting caller to specify length/offset. In some use cases like Presto, it is needed to pass in a byte array and the data to be encrypted only occupys partially of the array. So we need to add a new methods something like below for decrypt. Similar methods might be needed for encrypt.

byte[] decrypt(byte[] ciphertext, int cipherTextOffset, int cipherTextLength, byte[] aad);

**Reporter**: [Xinli Shang](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=shangx@uber.com) / @shangxinli
**Assignee**: [Xinli Shang](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=shangx@uber.com) / @shangxinli

**Note**: *This issue was originally created as [PARQUET-2098](https://issues.apache.org/jira/browse/PARQUET-2098). Please see the [migration documentation](https://issues.apache.org/jira/browse/PARQUET-2502) for further details.*

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at the BlockCipher interface and inspect its implementations and callers to understand how encryption and decryption inputs are currently handled. The work is done when offset and length can be supplied for decryption and the corresponding encryption methods are defined consistently, with relevant behavior covered by tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
cryptography
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.