Cryptography nerd

Fediverse accounts;
@[email protected] (main)
@[email protected]
@[email protected]

Lemmy moderation account: @[email protected] - [email protected]

@[email protected]

Bluesky: natanael.bsky.social

  • 0 Posts
  • 45 Comments
Joined 1 year ago
cake
Cake day: January 18th, 2025

help-circle

  • What TPM does for automatic unlock when combined with secure boot is to record certain steps of the OS boot and check various file hashes, if they’re unchanged then it releases the decryption key. This doesn’t authenticate the user but it verifies disk integrity (making sure your OS boots normally without injected malware), so your login prompt security can’t easily be bypassed*

    * this does not prevent hardware based attacks like malicious RAM sticks or DMA attacks if the firmware isn’t patched

    Then you could also set up separate home folder encryption and tie unlock to entering your password at login, or for various types of automated logins you could use the TPM again, like through checking for presence of some device you carry (like a smartwatch, etc), or even use a physical security key with one touch login (preventing remote attacks)






  • The very very short TLDR is that anonymization is very hard, but there’s auditable cryptographic voting schemes which preserves anonymity by using anonymous cryptographic commitments and one of a bunch of different techniques to count encrypted votes (homomorphic encryption, threshold encryption, etc).

    You could set it up so you know which server each set of votes comes from but not which users on the server. You could also make it prove each vote comes from one real account and that no account voted twice. You could even make use of commitments plus ZKP to prove banned accounts can’t vote!

    It sounds complicated because it is complicated. And somewhat inefficient. But it’s possible. And it would be fully encrypted and anonymous voting.


  • They’re implementing E2E encrypted social stuff. Voting privacy and encryption is linked.

    Especially when you have users across multiple servers and both want voting privacy AND being able to deal with vote manipulation. You need stuff like pseudonymous commitments per account attested to by the hosting instance, etc. The only thing that’s simpler but still private is having instances just digitally sign a total vote tally, which also means you can’t detect vote manipulation on other servers at all.






  • On Mastodon, your instance doesn’t receive posts until somebody on your instance interacts with the account posting it (following the poster, browsing directly to the post, etc).

    Feeds with recommendations requires fetching stuff in advance to not be slow and janky. Basically the feed service would need a bot account on your instance and retrieving all popular posts, given the current architecture. Having thousands of these bots across every instance do this would cause a significant performance hit on smaller Mastodon instances when one of their users posts something popular. So you need something different, like a server plugin where the bot fetches the content once and tells all participating Mastodon servers about their cached copy, so they don’t all have to hit the hosting instance. But that’s a security risk with the Mastodon design.


  • Doing it this way is why small instances gets hammered when a user’s post goes viral.

    And as for moderation bluesky also carries information with the top post from the post author and allows hiding replies too, etc. This gets enforced on the appview side, so the posting user’s PDS is unscathed if it goes viral.

    Bluesky is built to assume a handful of big relay (remember that a relay can merge in contents of another) and a bunch of appview and a ton of PDS servers, feed generators, moderation labelers, etc.

    Realistically, the relay network will likely end up voluntarily adopting a tree topology - hobbyist communities would run small relays bundling all activity from members’ PDS servers, then a larger relay in front gathers everything from a ton of smaller relays and makes it available to appviews