All of lore.kernel.org
 help / color / mirror / Atom feed
* [dm-crypt] Looking for reverse-engineering partner for DiskCryptor
@ 2021-06-03 10:05 Mateusz Jończyk
  2021-06-03 10:45 ` [dm-crypt] " Milan Broz
  0 siblings, 1 reply; 3+ messages in thread
From: Mateusz Jończyk @ 2021-06-03 10:05 UTC (permalink / raw)
  To: dm-crypt


[-- Attachment #1.1: Type: text/plain, Size: 1274 bytes --]

Hello,

I'm trying to implement support for opening DiskCryptor partitions. DiskCryptor 
is licensed under GPLv3, which is incompatible with libcryptsetup's LGPL2+. I'd 
therefore prefer not to read DiskCryptor source code. I'm asking for someone to 
do this and provide some information - mostly about header encryption ATM.

I tried to reverse-engineer the format from public info:

  * https://diskcryptor.org/volume/
  * https://security.stackexchange.com/a/83792

and by trial and error, but failed.

I've tried the following (with many variations) on a FAT partition encrypted 
with AES:

 1. Password is encoded as an ASCII string.
 2. This ASCII string is hashed with PBKDF2 with the following parameters:
      * hash: sha512
      * salt - 64 bytes from start of the volume header,
      * output size: 64 or perhaps 192 bytes,
      * 1000 iterations.
 3. Encryption key consists of the first or perhaps last 64 bytes (512 bits) of
    the output of PBKDF2.
 4. Bytes 64 - 2048 of the header are encrypted with AES cipher in XTS mode:
      * decryption starts from byte 64,
      * IV is 16 bytes long.

Code could be found at https://github.com/DavidXanatos/DiskCryptor/ . Thank you 
in advance.

Greetings,

Mateusz Jończyk

[-- Attachment #1.2: Type: text/html, Size: 2216 bytes --]

[-- Attachment #2: Type: text/plain, Size: 147 bytes --]

_______________________________________________
dm-crypt mailing list -- dm-crypt@saout.de
To unsubscribe send an email to dm-crypt-leave@saout.de

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [dm-crypt] Re: Looking for reverse-engineering partner for DiskCryptor
  2021-06-03 10:05 [dm-crypt] Looking for reverse-engineering partner for DiskCryptor Mateusz Jończyk
@ 2021-06-03 10:45 ` Milan Broz
  2021-06-03 13:48   ` Mateusz Jończyk
  0 siblings, 1 reply; 3+ messages in thread
From: Milan Broz @ 2021-06-03 10:45 UTC (permalink / raw)
  To: Mateusz Jończyk, dm-crypt

On 03/06/2021 12:05, Mateusz Jończyk wrote:
> Hello,
> 
> I'm trying to implement support for opening DiskCryptor partitions. DiskCryptor is licensed under GPLv3, which is incompatible with libcryptsetup's LGPL2+. I'd therefore prefer not to read DiskCryptor source code. I'm asking for someone to do this and provide some information - mostly about header encryption ATM.
> 
> I tried to reverse-engineer the format from public info:
> 
>   * https://diskcryptor.org/volume/
>   * https://security.stackexchange.com/a/83792

I think hashcat can work with DiskCryptor, maybe you can find some info there.

Milan
_______________________________________________
dm-crypt mailing list -- dm-crypt@saout.de
To unsubscribe send an email to dm-crypt-leave@saout.de

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [dm-crypt] Re: Looking for reverse-engineering partner for DiskCryptor
  2021-06-03 10:45 ` [dm-crypt] " Milan Broz
@ 2021-06-03 13:48   ` Mateusz Jończyk
  0 siblings, 0 replies; 3+ messages in thread
From: Mateusz Jończyk @ 2021-06-03 13:48 UTC (permalink / raw)
  To: Milan Broz, dm-crypt

W dniu 03.06.2021 o 12:45, Milan Broz pisze:
> On 03/06/2021 12:05, Mateusz Jończyk wrote:
>> Hello,
>>
>> I'm trying to implement support for opening DiskCryptor partitions. DiskCryptor is licensed under GPLv3, which is incompatible with libcryptsetup's LGPL2+. I'd therefore prefer not to read DiskCryptor source code. I'm asking for someone to do this and provide some information - mostly about header encryption ATM.
>>
>> I tried to reverse-engineer the format from public info:
>>
>>    * https://diskcryptor.org/volume/
>>    * https://security.stackexchange.com/a/83792
> I think hashcat can work with DiskCryptor, maybe you can find some info there.
>
> Milan
DONE! I got header decryption running!
Thank you for this suggestion, without it I would not be able to proceed.

Most important things I got wrong:
- password is encoded as a UTF-16LE string,
- PBKDF2 output size is 64 bytes (512 bits) for aes256-xts,
- IV should be 0x01, 0x00, 0x00 ... 0x00,
- XTS mode should pass also over the salt portion of the header (discarding output),

Greetings,
Mateusz
_______________________________________________
dm-crypt mailing list -- dm-crypt@saout.de
To unsubscribe send an email to dm-crypt-leave@saout.de

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-06-03 13:51 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-03 10:05 [dm-crypt] Looking for reverse-engineering partner for DiskCryptor Mateusz Jończyk
2021-06-03 10:45 ` [dm-crypt] " Milan Broz
2021-06-03 13:48   ` Mateusz Jończyk

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.