Skip to content

Proposal to add parser for VeraCrypt #403

Closed
@tzeikob

Description

@tzeikob

VeraCrypt is a well known open source package to encrypt disks.

This parser should parse any encrypted mounted volumes like so:

$ veracrypt --text --list

1: /dev/sdb1 /dev/mapper/veracrypt1 /home/bob/mount/encrypt/sdb1
2: /dev/sdb2 /dev/mapper/veracrypt2 /home/bob/mount/encrypt/sdb2

$ veracrypt --text --list | jc --veracrypt | jq .

[
  {
    "slot": 1,
    "path": "/dev/sdb1",
    "device": "/dev/mapper/veracrypt1",
    "mountpoint": "/home/bob/mount/encrypt/sdb1"
  },
  {
    "slot": 2,
    "path": "/dev/sdb2",
    "device": "/dev/mapper/veracrypt2",
    "mountpoint": "/home/bob/mount/encrypt/sdb2"
  }
]

$ veracrypt --text --list --verbose

Slot: 1
Volume: /dev/sdb1
Virtual Device: /dev/mapper/veracrypt1
Mount Directory: /home/bob/mount/encrypt/sdb1
Size: 498 MiB
Type: Normal
Read-Only: No
Hidden Volume Protected: No
Encryption Algorithm: AES
Primary Key Size: 256 bits
Secondary Key Size (XTS Mode): 256 bits
Block Size: 128 bits
Mode of Operation: XTS
PKCS-5 PRF: HMAC-SHA-512
Volume Format Version: 2
Embedded Backup Header: Yes

Slot: 2
Volume: /dev/sdb2
Virtual Device: /dev/mapper/veracrypt2
Mount Directory: /home/bob/mount/encrypt/sdb2
Size: 522 MiB
Type: Normal
Read-Only: No
Hidden Volume Protected: No
Encryption Algorithm: AES
Primary Key Size: 256 bits
Secondary Key Size (XTS Mode): 256 bits
Block Size: 128 bits
Mode of Operation: XTS
PKCS-5 PRF: HMAC-SHA-512
Volume Format Version: 2
Embedded Backup Header: Yes

$ veracrypt --text --list --verbose | jc --veracrypt | jq .

[
  {
    "slot": 1,
    "path": "/dev/sdb1",
    "device": "/dev/mapper/veracrypt1",
    "mountpoint": "/home/bob/mount/encrypt/sdb1",
    "size": "498 MiB",
    "type": "Normal",
    "readonly": "No",
    "hidden_protected": "No",
    "encryption_algo": "AES",
    "pk_size": "256 bits",
    "sk_size": "256 bits",
    "block_size": "128 bits",
    "mode": "XTS",
    "prf": "HMAC-SHA-512",
    "format_version": 2,
    "backup_header": "Yes"
  },
  {
    "slot": 2,
    "path": "/dev/sdb2",
    "device": "/dev/mapper/veracrypt2",
    "mountpoint": "/home/bob/mount/encrypt/sdb2",
    "size": "522 MiB",
    "type": "Normal",
    "readonly": "No",
    "hidden_protected": "No",
    "encryption_algo": "AES",
    "pk_size": "256 bits",
    "sk_size": "256 bits",
    "block_size": "128 bits",
    "mode": "XTS",
    "prf": "HMAC-SHA-512",
    "format_version": 2,
    "backup_header": "Yes"
  }
]

$ veracrypt --text --volume-properties /dev/sdb1

Slot: 1
Volume: /dev/sdb1
Virtual Device: /dev/mapper/veracrypt1
Mount Directory: /home/bob/mount/encrypt/sdb1
Size: 498 MiB
Type: Normal
Read-Only: No
Hidden Volume Protected: No
Encryption Algorithm: AES
Primary Key Size: 256 bits
Secondary Key Size (XTS Mode): 256 bits
Block Size: 128 bits
Mode of Operation: XTS
PKCS-5 PRF: HMAC-SHA-512
Volume Format Version: 2
Embedded Backup Header: Yes

$ veracrypt --text --volume-properties /dev/sdb1 | jc --veracrypt | jq .

[
  {
    "slot": 1,
    "path": "/dev/sdb1",
    "device": "/dev/mapper/veracrypt1",
    "mountpoint": "/home/bob/mount/encrypt/sdb1",
    "size": "498 MiB",
    "type": "Normal",
    "readonly": "No",
    "hidden_protected": "No",
    "encryption_algo": "AES",
    "pk_size": "256 bits",
    "sk_size": "256 bits",
    "block_size": "128 bits",
    "mode": "XTS",
    "prf": "HMAC-SHA-512",
    "format_version": 2,
    "backup_header": "Yes"
  }
]

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions