Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feeding associated data in GCM cipher mode #5

Closed
MeanMangosteen opened this issue Jan 24, 2019 · 4 comments
Closed

feeding associated data in GCM cipher mode #5

MeanMangosteen opened this issue Jan 24, 2019 · 4 comments
Assignees
Labels
development Standard development

Comments

@MeanMangosteen
Copy link
Contributor

MatrixAI/Polykey#14 (comment)

The 'with associated data (AD)' part means that you can feed additional data into the algorithm to tie the ciphertext to some context. This is so

attempts to "cut-and-paste" a valid ciphertext into a different context are detected and rejected.

Most commonly, the AD would be the header of an encrypted network packet, but in our case the AD could be the filename and/or metadata which would bind it its ciphered file data.

We have to decide what sort data would be most appropriate to use as AD. Or whether to use AD at all. It is optional.

@MeanMangosteen MeanMangosteen self-assigned this Jan 24, 2019
@CMCDragonkai CMCDragonkai transferred this issue from MatrixAI/Polykey Mar 6, 2019
@MeanMangosteen MeanMangosteen added the development Standard development label Mar 7, 2019
@CMCDragonkai
Copy link
Member

What is the AD used for here? Provide further integrity?

@MeanMangosteen
Copy link
Contributor Author

From what I understand, it to provide integrity to information that is not part of the cipher text but still bound to the ciphertext. This would be plaintext stuff like salts, IVs, version numbers, config params in the header etc...

If an attacker were to manipulation them, the system will not be ignorant to the changes, as it will not be able to authenticate the manipulated data.

@CMCDragonkai
Copy link
Member

What are we using this for? #11 or #8?

@CMCDragonkai
Copy link
Member

So to conclude, the AD is useful for maintaining the integrity of chunk-level metadata. However #11 and #8 is about file level metadata where we are going to maintain both the plaintext metadata and encrypted-fs metadata. So this is not needed right now. When we have relevant chunk-level metadata, we can revisit this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
development Standard development
Development

No branches or pull requests

2 participants