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

Investigate the applicability of PURB to the exchange encryption #39

Open
cipriancraciun opened this issue Nov 11, 2024 · 4 comments
Open

Comments

@cipriancraciun
Copy link
Member

See the following sources:

It mainly boils down to two orthogonal principles:

  • the padding scheme shouldn't leak information about the payload;
  • the whole encryption output (including any headers) should be indistinguishable from purely random data;
@hakavlad
Copy link

See also https://github.com/hakavlad/tird/blob/main/docs/SPECIFICATION.md

Padding is not yet discribed in the spec. The principle is as follows: a part of the Argon2 tag is converted to int and defines the total size of the paddings. The other part of the tag defines the proportions between the left and right parts of the paddings. The ciphertext is located between the left and right parts of the paddings. The size of the paddings is not saved in the header. This scheme hides not only the size but also the location of the ciphertext in the encrypted file.

Could you review this, please? What do you think about such scheme?

@cipriancraciun
Copy link
Member Author

See also https://github.com/hakavlad/tird/blob/main/docs/SPECIFICATION.md

Could you review this, please? What do you think about such scheme?

I think I'll rather open a discussion on your project, because I think I have more questions with regard your specification that don't pertain strictly to the padding.

For the purpose of my project, I'll note that your padding has the following properties:

  • it seems it is independent on the actual encrypted file; (perhaps dependent as a percentage of it?)
  • the amount seems to be dependent on the encryption keys and the salt/nonce;
  • it is applied both at the beginning and at the end (in different amounts) of the cipher text;

@hakavlad
Copy link

hakavlad commented Nov 11, 2024

it seems it is independent on the actual encrypted file

It depends on the key, the size of the ciphertext, and the user-defined maximum padding percentage (20% by default).

Thanks.

@cipriancraciun
Copy link
Member Author

I think I'll rather open a discussion on your project, because I think I have more questions with regard your specification that don't pertain strictly to the padding.

@hakavlad see my observations here: hakavlad/tird#17

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

No branches or pull requests

2 participants