If /system partition is never encrypted (even in “full-disk” encryption), how is it protected?

It seems that Android’s “full-disk-encrytpion” is only concerned about encrypting the data or internal storage partition. It says:

Full-disk encryption is the process of encoding all user data on an Android device using an encrypted key. Once a device is encrypted, all user-created data is automatically encrypted before committing it to disk and all reads automatically decrypt data before returning it to the calling process.

I am puzzled what encryption (at rest) of user-data is worth, if an attacker can simply modify the content of the /system partition, to contain a malware that would exfiltrate data or encryption key.

Is there a reason to consider Android’s encryption to be effective even though /system partition is not encrypted?

I assume that an answer involves a chain-of-trust, relative to a locked boot loader.

APFS encryption passphrase questions

Out of curiosity, I have a couple of questions regarding APFS passphrases. Using diskutil I found out that each APFS encrypted volume includes several cryptographic users, which at least in my system are divided into two types: Disk User and Local Open Directory User. The latter obviously being the different accounts on the system.

Disk User seems to be the one to be used when mounting non bootable volumes.

I changed the passphrase of the Disk User, which returned immediately (and successfully). So I believe this passphrase should be unrelated to the actual encryption key… Otherwise the change would require a reencryption of the volume.

  • What is the actual key used by the APFS AES encryption algorithm? Are those cryptographic users just a wrapper to gain access to the actual key? In such a case, I assume that key is generated when creating a new volume and never exposed.
  • Moreover, what happens in case of data corruption? In particular, what happens if the encryption key data gets corrupted? Does it means it is impossible to recover any of the data in the disk? We have the passphrase, but not the actual key…

How do wireless keyboards’ encryption prevent frequency analysis?

I’ve found very little information on this topic after much googling. The only partial answer I found was by Microsoft: Microsoft_AES_Technical_Factsheet

By adding random data to each message, each message is unique even if the same letters are typed over and over. This prevents frequency analysis from finding identical messages to track.

which makes sense but leaves me wanting to know:

A) How random data can be added to the messages without causing noise in the signal, and

B) How other manufacturers prevent frequency analysis. I could find nothing regarding Logitech, for example.

Is it simply an industry standard to ‘just add noise’, therefore it can be safely assumed to be implemented?

Encryption Key vs. One-Time Pad Brute Force

How does an attacker know when they’ve cracked a traditional encryption key?

Wikipedia describes the one-time pad:

A 140 character one-time-pad-encoded string subjected to a brute-force attack would eventually reveal every 140 character string possible, including the correct answer – but of all the answers given, there would be no way of knowing which was the correct one.

So if you don’t know when you’ve solved OTP, what is a giveaway when a traditional encryption key is solved?

Unkown encryption type? [duplicate]

This question already has an answer here:

  • How to determine what type of encoding/encryption has been used? 8 answers

200 character long string


How ever there are similarities across the string so it cant be a hash i have been cooking this baby with cyberchef however i cant make heads or tails of this. It cant be an alphabetical because of its numbers and it does not look anything familiar. Its not even rot 13. There are no recognizable features unlike rot and base 64. If anyone can identify this i would appreciate it. Ill keep trying.




How do I know that the request and response is using encryption protocols in burp suite?

I know these things can easily be done on wireshark, tshark, etc but is it possible to know that the request I forwarded and the response I received is using protocols such as TLS, TLSv1.2, TCP, HTTP, etc in Burp Suite? So I won’t have to switch to other network applications to see the protocols

Sample Request

POST /api/v2/app/login?optionalKeys=Yes HTTP/1.1  Accept: application/json; charset=utf-8 app-version: 2.3.12 version-code: 321 Tid: 21bb65df-0682-4085-8775-68e70f5653db sid: dn6e4e7c-d956-4b3e-956b-9c6b9634ef39 os-version: 5.1 deviceId: a62fb2d91cb17587 swuid: a62fb2d91cb17587 User-Agent: Android Connection: close Accept-Encoding: gzip, deflate latitude: 12.904043 longitude: 77.642919 X-NETWORK-QUALITY: GOOD Content-Type: application/json; charset=UTF-8 Content-Length: 48 Host: xyz.abc.com X-NewRelic-ID: UwUAVV5VGwIEXVJRAwcO  {"mobile":"1234567890","password":"Yt!*3773@8ATQwEr"} 

I don’t see any protocol mentioned

End to End encryption: Firestore and Swift

I want to add end to end encryption to my Firestore chat app. Since I am very new to this topic I would like to hear whether I got the fundamentals right – I would structure it like this:

Encryption: Sender generates a random AES-256 key and encrypts this with the public RSA key of the recipient. He also encrypts the message with the AES256 key. Furthermore he hashes the message and encrypts it with his private key for signing. Then he sends all of the information to the recipient.

The recipient decodes the AES key using his private RSA key and uses the decoded AES key to decrypt the message. He then hashes the message and decrypts the signature of the sender with the sender’s public RSA key. The last step is to compare the two hashes and see whether they are the same.

Did I get this concept right or is something wrong?

Veracrypt system encryption on ssd, do i have to trim the disk right after finishing? how?

i want to encrypt my os that is on ssd (windows 7, x64, mbr partition style).
From what i know veracrypt will encrypt the whole disk, not only the actual data.
not only! it will “fill” the empty space (inside the decrypted disk) with random data to allow hidden os/containers.
This means that the ssd will think that the ssd is full and wear leveling will be limited, thus decreasing the life and speed of the ssd.
can a solution be write in the encrypted disk a very big file that fill the disk and then delete it so that trim will run and mark again most of the disk as empty? will it be one trim operation or more probably many many trim operations (one per sector) that might fill the trim buffer and failing?
does windoes 7 defragment also retrim the disk by sending trim operations at slow speed to allow the disk to process them?
or i have to do nothing and veracrypt will notice that it’s an ssd and encrypt only data and not the whole disk?
can someone point me to a solution inside the veracrypt guide?

About file encryption

I’m here to consult those who know more about encryption issues, since I do not have much knowledge on the subject.

A few years ago, I acquired a program that allows me to store information in a single file. The program had to protect the folders with password, and I was putting it to the test, until I discovered how to access that information (supposedly encrypted) without entering the password.

This is where I ask how is it possible that I could access the information through the same program and without entering the password if the file is encrypted? Should not I have obtained illegible information?

As far as I know, by entering the password, the file is decrypted and readable. But in this case, the developer says it uses encryption and I managed to access the information without the password. What he says is not real? There are different types of encryption?

How does full disk encryption cater for overprovisoned disk space in flash devices and can this result in data leakage?

My understanding is that flash based devices such as SSDs are over-provisioned and do not advertise the additional blocks of storage available to the operating system. The over-provisioned blocks of storage is to support effective distribution of data via wear leveling.

Assuming my understanding is correct, how does full disk encryption cater for over-provisioned of storage if the additional block of storage isn’t advertised or accessible by the operating system?

If the distribution of data is limited to the drive’s controller, is there a risk of data flowing from encrypted blocks to unencrypted blocks e.g. over-provisioned storage?