![](/static/66c60d9f/assets/icons/icon-96x96.png)
![](https://beehaw.org/pictrs/image/c0e83ceb-b7e5-41b4-9b76-bfd152dd8d00.png)
The number refers to the horizontal resolution. FHD is nearly 2K pixels wide, just as 4K resolutions are nearly 4K pixels wide, although FHD is the typical term for the resolution and QHD is more commonly called 2K instead than FHD
Cryptography nerd
The number refers to the horizontal resolution. FHD is nearly 2K pixels wide, just as 4K resolutions are nearly 4K pixels wide, although FHD is the typical term for the resolution and QHD is more commonly called 2K instead than FHD
Tapes themselves are cheaper, but the drive (and potentially operating cost?) can definitely be higher for the industrial stuff
And my TV is still a cheap full HD (2K) screen from 2011, so I’ve got no reason to buy media in higher quality
It’s the same as IPv4 (tunnel) except as mentioned above its still hard to get an IP with the right label
Neither of these mention networks, only protocols/schemes, which are concepts. Cryptography exists outside networks, and outside computer science (even if that is where it finds the most use).
This is ridiculous rules lawyering and isn’t even done well. Such schemes inherently assume multiple communicating parties. Sure you might not need to have a network but you still have to have distinct devices and a communication link of some sort (because if you have a direct trusted channel you don’t need cryptography)
You’re also wrong about your interpretation.
Here’s how to read it:
At point A both parties create their long term identity keys.
At point B they initiate a connection, and create session encryption keys with a key exchange algorithm (first half of PFS)
At point C they exchange information over the encrypted channel.
At point D the session keys are automatically deleted (second half of PFS)
At point E the long term key of one party is leaked. The contents from B and C can not be recovered because the session key is independent of the long term key and now deleted. This is forward secrecy. The adversary can’t compromise it after the fact without breaking the whole algorithm, they have to attack the clients as the session is ongoing.
This is motivated for example by how SSL3.0 usually was used with a single fixed RSA keypair per server, letting user clients generate and submit session encryption keys - allowing a total break of all communications with the server of that key is comprised. Long term DH secrets were also often later used when they should be single use. Then we moved on to ECDH where generating new session secrets is fast and everybody adopted real PFS.
Yes compromising the key means you often get stuff like the database too, etc. Not the point! If you keep deleting sensitive data locally when you should then PFS guarantees it’s actually gone, NSA can’t store the traffic in their big data warehouse and hope to steal the key later to decrypt what you thought you deleted. It’s actually gone.
And both of the above definitions you quoted means the same as the above.
In any case, both of these scenarios create an attack vector through which an adversary can get all of your old messages, which, whether you believe violates PFS by your chosen definition or not, does defeat its purpose (perhaps you prefer this phrasing to “break” or “breach”).
Playing loose with definitions is how half of all broken cryptographic schemes ended up insecure and broken. Being precise with attack definitions allows for better analysis and better defenses.
Like how better analysis of common attacks on long running chats with PFS lead to “self healing” properties being developed to counter point-in-time leaks of session keys by repeatedly performing key exchanges, better protecting long term keys by for example making sure software like Signal make use of the OS provided hardware backed keystore for it, etc. All of this is modeled carefully and described with precise terms.
Edit: given modern sandbox techniques in phones, most malware and exploits doesn’t survive a reboot. If malware can compromise your phone at a specific time but can’t break the TPM then once you reboot and your app rekeys then the adversary no longer have access, and this can be demonstrated with mathematical proofs. That’s self healing PFS.
Anyone can start a forum.
Fair point, but my cryptography forum (reddit.com/r/crypto) has regulars that include people writing the TLS specifications and other well known experts. They’re hanging around because the forum is high quality, and I’m able to keep quality high because I can tell who’s talking bullshit and who knows their stuff.
Tasker also have the autonotification plugin which let you set any rules and actions you want on notifications
Once again reminding you that I run a cryptography forum (I’ve done so for one 10 years, I keep up to date on the field) and it’s a term defined by professional cryptographers.
https://www.sectigo.com/resource-library/perfect-forward-secrecy
https://link.springer.com/referenceworkentry/10.1007/978-1-4419-5906-5_90
https://www.sciencedirect.com/topics/computer-science/forward-secrecy
Literally all definitions speak of network traffic and leaked / extracted encryption keys. PFS is about using short term keys that you delete so that they can not leak later.
Backup and sync via a separate mechanism is not a PFS violation. In particular because they’re independent of that same encrypted session. It’s entirely a data retention security issue.
Matrix.org supports message log backup via the server, and does so by uploading encrypted message logs and syncing the keys between clients. You can delete the logs later, or delete your keys, or even push fake logs if you want. It’s still happening outside of the original encrypted session and the adversary can’t confirm what actually was said in the original session.
I don’t know why you think that PFS is broken if a local client has to be breached to recover encrypted data from a cloud backup, but PFS is not broken if a local client has to be breached to recover the same data from the client itself. Literally the only difference is where the data is stored, so either chat logs available to the client break PFS or they do not
Matrix does it this way
I run a cryptography forum, I know the exact definition of these terms. Message logs in plaintext is very distinct from forward secrecy. What forward secrecy means in particular is that captured network traffic can’t be decrypted later even if you at a later point can steal the user’s keys (because the session used session keys that were later deleted). Retrieving local logs with no means of verifying authenticity is nothing more than a classical security breach.
You can transfer messages as a part of an account transfer on Signal (at least on Android). This deactivates the app on the old device (so you can’t do it silently to somebody’s device)
Message logs doesn’t break forward secrecy in a cryptographic sense, retaining original asymmetric decryption keys (or method to recreate them) does. Making history editable would help against that too.
What Signal actually intends is to limit privacy leaks, it only allows history transfer when you transfer the entire account to another device and “deactivate” the account on the first one, so you can’t silently get access to all of somebody’s history
You can still push old message history from your main device to your other devices, you can re-encrypt
Am encrypted container doesn’t help if the directory is mounted and accessible or if the key is in plaintext. Also doesn’t help if the process isn’t isolated. You need a bunch of extra measures like using the OS keystore set to only allow the correct program to retrieve the key, keeping secrets only in process memory, etc.
Tldr it’s a lot of work to do it right. If you do it the simple way like throwing it all in SQLite with encryption active you still leak metadata.
The bigger risk is browser exploits, not just who develops it. There’s more attack surface and more ways to exfiltrate data
Some heroes don’t wear capex
Create an alias and set forwarding
And some functions don’t support hard limits, you’d have to set up a script monitoring load and literally take down your service if you get near the max
Already broken
https://en.wikipedia.org/wiki/8K_resolution