Best Full Disk Encryption Products

 

What is Full Disk Encryption ?

Full Disk Encryption or FDE is a technology in which almost everything on disk can be encrypted. It can encrypt all the data at rest on the hard drive of a computer including end user files, applications and even Operating System executables.

Full Disk Encryption can encrypt almost everything on disk of a computer. Some part of the disk necessarily may not get encrypted though, for example the part containing the Master Boot Record. But for systems using hardware based full disk encryption, even the MBR can get encrypted.

 

Benefits of Full Disk Encryption

A device containing sensitive information may get lost or stolen. And, if the data on the device is not encrypted at that time, it may possess a risk. Any person with malicious intent can recover the data and exploit that for malicious purposes.

For an enterprise, if a device of an employee gets lost or stolen, that may possess a risk. The device may contain sensitive data like employee details, financial information, medical records or other confidential information of the company. And, if these information get recovered by someone with malicious intent, it may lead to data breaches causing even million of dollars to a company.

With Full Disk Encryption almost everything on disk get encrypted using a secret key. Typically a device asks for the secret key while booting up and encrypt and decrypt all data using the secret key. Hence, if a device with Full Disk Encryption is not in booted state, it will not be feasible for anyone to retrieve the data on the device provided he does not have the secret key.

Please note that, while Full Disk Encryption secures data on rest, it may not be effective in preventing data theft from a device which is already in booted state. And hence, other encryption technologies like virtual disk encryption, volume encryption and file encryption should be used along with Full Disk Encryption to ensure better security of data.

 

 

Software Based Full Disk Encryption vs Hardware Based Full Disk Encryption

Full Disk Encryption can use software as well as hardware to encrypt disk. Full Disk Encryption Software, though they are able to encrypt almost the whole disk, may not be able to encrypt Master Boot Record (MBR) or similar area on a bootable disk that starts the Operating System. A hardware based Full Disk Encryption system can however encrypt the entire boot disk including the MBR.

Let’s understand a few terms related to Full Disk Encryption, that will help us in evaluating various Full Disk Encryption products.

 

Transparent Encryption

Transparent Encryption is a technology used by Full Disk Encryption Software. It is also known as real time encryption or On The Fly Encryption (OTFE). Using this technology data can be autopmatically encrypted and decrypted when it is loaded or saved.

Using this technology, entire filesystem within a volume is encrypted with a secret key. Data like file names, folder names or other metadat of a file or folder are encrypted. When a user provides the secret key, the entire volume is mounted as if it were a physical drive. As a result, a user can access the files and folders transparently as any unencrypted ones. No data stored on the encrypted volume can be decrypted or read without the secret key.

This is usually implemented using device drivers. But, encrypted volumes can be used by normal users without administrative rights on the device.

 

Trusted Platform Module or TPM

Trusted Platform Module or TPM is a cryptoprocessor that can be used to authenticate a hardware device. This secure cryptoprocessor is typically embedded in the motherboard of the device and stores the secret keys that are required for hardware authentication. When a system boots, it uses the secret keys to ensure the hardware system that is seeking for access is the expected system.

TPM can improve security, since if a hardware drive is removed from a system, it cannot be decrypted anymore. But, it has its disadvantages. If something happens to the TPM or the motherboard, the user won’t be able to access the data unless he has a separate recovery key.

Calculate the pseudoinverse of a matrix using Python

What is the pseudoinverse of a matrix? We know that if A is a square matrix with full rank, then A-1 is said to be the inverse of A if the following condition holds: $latex AA^{-1}=A^{-1}A=I $ The pseudoinverse or the Moore-Penrose inverse of a matrix is a...

Cholesky decomposition using Python

What is Cholesky decomposition? A square matrix A is said to have Cholesky decomposition if it can be written as a product of a lower triangular matrix and its conjugate transpose. $latex A=LL^{*} $ If all the entries of A are real numbers, then the conjugate...

Tensor Hadamard Product using Python

In one of our previous articles, we already discussed what the Hadamard product in linear algebra is. We discussed that if A and B are two matrices of size mxn, then the Hadamard product of A and B is another mxn matrix C such that: $latex H_{i,j}=A_{i,j} \times...

Perform tensor addition and subtraction using Python

We can use numpy nd-array to create a tensor in Python. We can use the following Python code to perform tensor addition and subtraction. import numpy A = numpy.random.randint(low=1, high=10, size=(3, 3, 3)) B = numpy.random.randint(low=1, high=10, size=(3, 3, 3)) C =...

How to create a tensor using Python?

What is a tensor? A tensor is a generalization of vectors and matrices. It is easily understood as a multidimensional array. For example, in machine learning, we can organize data in an m-way array and refer it as a data tensor. Data related to images, sounds, movies,...

How to combine NumPy arrays using horizontal stack?

We can use the hstack() function from the numpy module to combine two or more NumPy arrays horizontally. For example, we can use the following Python code to combine three NumPy arrays horizontally. import numpy A = numpy.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) B =...

How to combine NumPy arrays using vertical stack?

Let’s say we have two or more NumPy arrays. We can combine these NumPy arrays vertically using the vstack() function from the numpy module. For example, we can use the following Python code to combine three NumPy arrays vertically. import numpy A = numpy.array([[1, 2,...

Singular Value Decomposition (SVD) using Python

What is Singular Value Decomposition (SVD)? Let A be an mxn rectangular matrix. Using Singular Value Decomposition (SVD), we can decompose the matrix A in the following way: $latex A_{m \times n}=U_{m \times m}S_{m \times n}V_{n \times n}^T $ Here, U is an mxm matrix....

Eigen decomposition of a square matrix using Python

Let A be a square matrix. Let’s say A has k eigenvalues λ1, λ2, ... λk. And the corresponding eigenvectors are X1, X2, ... Xk. $latex X_1=\begin{bmatrix} x_{11} \\ x_{21} \\ x_{31} \\ ... \\ x_{k1} \end{bmatrix} \\ X_2=\begin{bmatrix} x_{12} \\ x_{22} \\ x_{32} \\ ......

How to calculate eigenvalues and eigenvectors using Python?

In our previous article, we discussed what eigen values and eigenvectors of a square matrix are and how we can calculate the eigenvalues and eigenvectors of a square matrix mathematically. We discussed that if A is a square matrix, then $latex (A- \lambda I) \vec{u}=0...

Not a premium member yet?

Please follow the link below to buy The Security Buddy Premium Membership.

Featured Posts

Translate »