The reason it’s so slow is because your AES256-encrypted DMG uses 250,000 rounds of PBKDF2-HMAC-SHA-1 to generate the encryption key. The ludicrous round count makes it extremely computationally expensive, slowing down the HMAC-SHA1 process by a factor of 250,000. The key used to encrypt the files is derived by a key derivation function (HMAC-SHA1) as follows: encryptionKey = HMAC-SHA1(hashplaintextfile,user chosen master password). With this key the user allows someone to decrypt a specific file, without the need to.
Cracking encrypted disk image, AKA DMG is feasible, but, and there are many buts, is extremely, extremely time consuming. If you do not remember at all the password, or if you attempt to crack in 'blind mode', you will probably need to teach your kids how to do it: By the time you'll have a fighting chance, you'll be long dead. According to the website HFSExplorer can open and read encrypted dmg images. HFSExplorer is an application that can read Mac-formatted hard disks and disk images. It can read the file systems HFS (Mac OS Standard), HFS+ (Mac OS Extended) and HFSX (Mac OS Extended with case sensitive file names). 7-Zip is a free open source DMG extractor software for Windows. It is a popular file.
OpenSSL is a powerful cryptography toolkit that can be used for encryption of files and messages.
If you want to use the same password for both encryption of plaintext and decryption of ciphertext, then you have to use a method that is known as symmetric-key algorithm.
From this article you’ll learn how to encrypt and decrypt files and messages with a password from the Linux command line, using OpenSSL.
HowTo: Encrypt a File
Options | Description |
---|---|
openssl | OpenSSL command line tool |
enc | Encoding with Ciphers |
-aes-256-cbc | The encryption cipher to be used |
-salt | Adds strength to the encryption |
-in | Specifies the input file |
-out | Specifies the output file. |
Interesting fact: 256bit AES is what the United States government uses to encrypt information at the Top Secret level.
Warning: The -salt
option should ALWAYS be used if the key is being derived from a password.
Without the -salt
option it is possible to perform efficient dictionary attacks on the password and to attack stream cipher encrypted data.
When the salt is being used the first eight bytes of the encrypted data are reserved for the salt: it is generated at random when encrypting a file and read from the encrypted file when it is decrypted.
HowTo: Decrypt a File
Options | Description |
---|---|
-d | Decrypts data |
-in | Specifies the data to decrypt |
-out | Specifies the file to put the decrypted data in |
Base64 Encode & Decode
Base64 encoding is a standard method for converting 8-bit binary information into a limited subset of ASCII characters.It is needed for safe transport through e-mail systems, and other systems that are not 8-bit safe.
By default the encrypted file is in a binary format.
If you are going to send it by email, IRC, etc. you have to save encrypted file in Base64-encode.
Cool Tip: Want to keep safe your private data? Create a password protected ZIP file from the Linux command line. Really easy! Read more →
To encrypt file in Base64-encode, you should add -a
option:
Option | Description |
---|---|
-a | Tells OpenSSL that the encrypted data is in Base64-ensode |
Option -a
should also be added while decryption:
Non Interactive Encrypt & Decrypt
Warning: Since the password is visible, this form should only be used where security is not important.
By default a user is prompted to enter the password.
Decrypt Dmg File Without Keys
If you are creating a BASH script, you may want to set the password in non interactive way, using -k
option.
Cool Tip: Need to improve security of the Linux system? Encrypt DNS traffic and get the protection from DNS spoofing! Read more →
Public key cryptography was invented just for such cases.
Encrypt a file using a supplied password:
Decrypt Dmg File Without Key Code
Decrypt a file using a supplied password: