this post was submitted on 07 Jun 2024
3 points (100.0% liked)

Cryptography

450 readers
2 users here now

cryptography (noun). The discipline concerned with communication security (eg, confidentiality of messages, integrity of messages, sender authentication, non-repudiation of messages, and many other related issues), regardless of the used medium such as pencil and paper or computers.

This community is for links about and discussion of cryptography specifically. For privacy technology more generally, use !privacy.

This community is explicitly not about cryptocurrency; see !crypto for that.

founded 3 years ago
MODERATORS
 

So, I've had a bit of a stupid idea for my next programming project, which would be implementing a Microsoft Recall alternative for Linux where the data is encrypted. I've now written a bit of code and have come to the point where I'd need to encrypt the files. My plan was to use asymmetric encryption where the secret key is again encrypted using something like AES and the user needs to decrypt the private key to view the screenshots taken / data extracted from the screenshots.

I have now learned that asymmetric encryption is very slow and it's generally not designed to encrypt large chunks of data, so I'm not sure how to continue. Do you think asymmetric encryption is feasible for this? Any idea how else to do the encryption? Ideally I would like for the server that takes the screenshots to not have a key that can decrypt the files since that wouldn't be as secure.

top 12 comments
sorted by: hot top controversial new old
[–] grue@lemmy.world 6 points 5 months ago (1 children)

I'm not sure encryption is the issue here. Why do you think this data needs to be more encrypted than the rest of the user's home directory, which should hopefully already be protected by full-disk encryption if the user cares about that sort of thing?

[–] I_like_cats@lemmy.one 1 points 5 months ago (1 children)

Because it would be really easy to extract a lot of data out of that database, which is what Microsoft Recall is being criticized for

[–] grue@lemmy.world 1 points 5 months ago (2 children)

But if an attacker has decrypted access to a user's home directory, aren't they screwed anyway?

[–] I_like_cats@lemmy.one 1 points 5 months ago

I guess that's right

[–] verstra@programming.dev 1 points 5 months ago (1 children)

Not necessarily, recall might contain more information than what is currently saved on disk. For example bank statements, accessible though their web application, protected by 2FA.

[–] grue@lemmy.world 0 points 5 months ago (1 children)

A recall that ran entirely locally—which is absolutely a necessary precondition for it to count as "secure"—would necessarily contain only information stored on disk because where else would it put the data it's collecting/analyzing?

In other words, if it screenshots you accessing your back via website, that screenshot would be stored locally and would be just as protected by full disk encryption as the rest of your files.

[–] trolololol@lemmy.world 1 points 5 months ago (1 children)

I disagree, I'm with OP. screenshots contain (previously) temporary information from all sorts, such as a private meeting between 2 parties with confidencial, eyes only, data. And for going towards extreme privacy end of spectrum, proving you know someone is already a red flag.

If someone has a trojan running with access to the disk, yes it's a big deal. But it's still worth limiting the extent of it by putting extra protection in the things such this. A hacker can have the screenshot files but won't be able to do anything with it.

[–] Daxtron2@startrek.website 1 points 5 months ago (1 children)

Unless you're constantly running a secure overwrite of your free disk space, ram and CPU caches, no data is truly temporary. There is always a possibility for recovery by a skilled enough adversary.

[–] verstra@programming.dev 1 points 5 months ago

Well yea that's the point: unencrypted recall database would make this sooo much easier.

[–] OneCardboardBox@lemmy.sdf.org 5 points 5 months ago* (last edited 5 months ago) (1 children)

My plan was to use asymmetric encryption where the secret key is again encrypted using something like AES

I think your terminology is off. AES is an example of symmetric encryption: Decryption requires the same key as encryption.

An example of asymmetric encryption would be public-key cryptography: You encrypt a message with the public key, but only a private key can decrypt the result.

AES should be fine for encrypting large blocks of data.

I believe that for systems like TLS, asymmetric encryption is only used briefly to negotiate a symmetric key between client and server.

[–] trolololol@lemmy.world 1 points 5 months ago

Have in mind most image processing is done with lowered resolutions for getting more speed. So consider having a downscale parameterized as : image reduction ratio, and method (average, anti aliasing, or just use one of the pixels and discard the others)

[–] trolololol@lemmy.world 1 points 5 months ago

Op I think this is an important research, if not for educational purposes, at least to provide a demo to supposedly Microsoft experts how things should be done responsibly.

If nothing else, it encourages discourse in privacy.