frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Open in hackernews

A bit more on Twitter/X's new encrypted messaging

https://blog.cryptographyengineering.com/2025/06/09/a-bit-more-on-twitter-xs-new-encrypted-messaging/
67•vishnuharidas•1h ago

Comments

lenerdenator•1h ago
If you can't look at the code doing the encrypting, it's simply encoded.
barbazoo•1h ago
> If you can't look at the code doing the encrypting, it's simply encoded.

Not sure it being open source is required to be considered "encryption". Besides, even if you can look at the code you don't know if that's what's running on the server.

SV_BubbleTime•1h ago
I gave a charitable reading to that comment as “in terms of trust”.
robmccoll•1h ago
If I can look at the code, decide I trust the implementations of the primitives being used, how they're being used, how identity is established, and how initial key exchange works, I don't need to know what's running on the server. That's sort of the point of end to end encryption.
barbazoo•1h ago
You mean using the algorithm to verify that the observable input leads to the observable output? That would make sense and would allow you to form an opinion about the "primitives" like you said.
csallen•43m ago
I think they meant client
lenerdenator•4m ago
Of course it's a requirement to be considered encryption. Let's take this "encrypted" copy of the text in your reply:

" Klq prob fq ybfkd lmbk plrozb fp obnrfoba ql yb zlkpfaboba "bkzovmqflk". Ybpfabp, bsbk fc vlr zxk illh xq qeb zlab vlr alk'q hklt fc qexq'p texq'p orkkfkd lk qeb pbosbo."

I'm telling you that I applied state-of-the-art, uncrackable encryption to that. Why should you believe me? What evidence do you have that I didn't just take your text, throw it in some Caesar Cipher generator, and copy-paste it into this text box?

Well, none. It just happens to look like I did that, and if that were data you wanted to keep secret but that a hacker had obtained without permission, you can bet that they would say "looks like a Caesar Cipher, I'll try a combination of decryption parameters until it makes sense".

And in this case, they'd be absolutely correct.

nimbius•1h ago
> There’s no forward secrecy.

> User private keys are stored at X.

things i would commonly give a pass for major companies were they not under the immediate control of Elon Musk.

Dwedit•1h ago
"Not your keys, not your crypto" - Not just for cryptocurrencies anymore.
hbn•1h ago
The UI around it is so nonsensical too.

It's a tab in the drawer called "Chat", I guess to distinguish itself from the legacy "Messages"

But then you click the Chat button and it takes you to a screen called "Messages" that looks visually identical to the old Messages screen. Furthermore, the Chat button icon is a message bubble, as to not be confused with the envelope icon for Messages. But the compose button in the Chat screen is the envelope with a +, and clicking it brings you to a screen titled "New message". The compose field in the chats themselves is also labelled "Message".

This is like the most basic shit to get right.

stefan_•1h ago
Is anyone still clicking on that? It's just a billion group chat spam messages and grifter message requests.
CobrastanJorji•39m ago
It's X, the company that took the brand "Twitter," valued at multiple billion dollars, and changed it to X because its owner thought X was a pretty cool name, and did it without telling any of the UI designers in advance.
tdeck•1h ago
Who is this for in the first place?
qualeed•1h ago
For Twitter/X users that want to communicate with each other using end-to-end encryption.
dpkirchner•36m ago
Where "end" is a bit loose -- presumably nothing stopping them from reading the text when it is rendered in a div or what have you.
dang•1h ago
Recent and related:

Twitter's new encrypted DMs aren't better than the old ones - https://news.ycombinator.com/item?id=44191591 - June 2025 (204 comments)

UltraSane•1h ago
The one that Musk tweeted has "bitcoin style encryption" even though bitcoin doesn't use any encryption.
blueflow•58m ago
I guess that encrypting a hash with ECDSA (= to generate a signature) does not count as encryption?
UltraSane•55m ago
No, that is called signing and is not encryption.
SAI_Peregrinus•18m ago
That's signing, it's not encryption. It's a private-key operation, so at best you could consider it decryption. In asymmetric cryptography, the private keys are used for decryption & signing, and the public keys are used for encryption & verification.

Usually you want separate key pairs for signing/verification vs encryption/decryption, but some systems can safely share a key pair for these two sorts of operation.

vvpan•49m ago
When Musk tweets on technical topics one can tell that either he's just trying to fool people or is completely clueless himself.
SAI_Peregrinus•21m ago
It's at least as good as Bitcoin's encryption, so Musk's tweet is technically accurate.
wdb•1h ago
Pretty sure this problem has been resolved many decades ago.
michaelt•36m ago
> The obvious remedy for this problem is just to store secret keys with the service provider itself. This is convenient, but completely misses the whole point of end-to-end encryption, which is that service providers should not have access to your secrets! Storing decryption keys — in an accessible form — on the provider’s servers is absolutely a no-go.

OK, so Twitter themselves are our adversary.

> One way out of this conundrum is for the user to encrypt their secret key, then upload the encrypted value to the service provider. [...] Most human-selected passwords and PINs make for terrible cryptographic keys. [...] you need some mechanism to limit the number of guessing attempts that the user makes, so an attacker can’t simply run an online attack to work through the PIN-space.

As I understand it, this stuff is all implemented in-browser, using javascript that's 100% under Twitter's control.

Wouldn't it be a simple matter for them to save your message's plaintext (or indeed your password) by just saving a copy while it's in plaintext form?

Calavar•18m ago
I think the relevant scenario here isn't one where Twitter itself is malicious, but one where Twitter gets a law enforcement order requiring it to hand over decryption keys. If you don't have decryption keys, you can't hand them over.
afarah1•33m ago
The author writes that the encrypted private key (DEK) is susceptible to decryption if the server is compromised because then there are no more limits on incorrect attempts, allowing an attacker to walk the whole key space (of the KEK). But doesn't strong password requirements and a proper derivation function provide a large enough key space, making decryption by guessing (through any of various methods) infeasible?

The author only mentions two alternatives for this problem, hardware security modules to prevent the compromise of the DEK from the server in the first place, or "sharding" between independent hosts to minimize the odds of that. Both certainly harden the server, but what about hardening the KEK?

The author mentions PINs for the KEK because they are easy to memorize, which certainly makes for a poor key space, but why not use the same password the user already memorized to login, which should have strong requirements? Proton Mail, which also stores user's (encrypted) private keys,[1] initially had two passwords, one for login and one for decryption, and now allows users to have a single one, used both for login and decryption but never transmitted to the server, by using SRP for authentication.[2] Yet another approach is taken by Mozilla for Firefox Sync, which does two key-derivations on your password at your machine, creating one key for authentication and a separate one for decryption.[3] I wrote more about both approaches, check my submission history if you're interested.

Anyway a nice read, I just missed more discussion about hardening the key in the first place, and how far that gets you in case of server compromise.

[1] https://proton.me/support/how-is-the-private-key-stored [2] http://srp.stanford.edu/ndss.html [3] https://hacks.mozilla.org/2018/11/firefox-sync-privacy/

afavour•13m ago
> User private keys are stored at X

And I'm out. I don't want every thread about X to degenerate into another debate about Musk but at this point they're kind of inseparable. Do I trust that if Musk decided some day that he doesn't like me for whatever reason that he wouldn't grab that private key and publish my DMs? I can't.

AMD EPYC 4345P 8-Core CPU Performance Review

https://www.phoronix.com/review/amd-epyc-4345p
1•rbanffy•1m ago•0 comments

iOS 26 Gets New 'Adaptive Power' Option to Extend Battery Life

https://www.macrumors.com/2025/06/09/ios-26-adaptive-power/
1•mfiguiere•1m ago•0 comments

Fact Sheet: Donald Trump Reprioritizes Cybersecurity Efforts to Protect America

https://www.whitehouse.gov/fact-sheets/2025/06/fact-sheet-president-donald-j-trump-reprioritizes-cybersecurity-efforts-to-protect-america/
1•weinzierl•1m ago•0 comments

NASA's Top Technical Challenges Countdown: #2: More Power – Universe Today

https://www.universetoday.com/articles/nasas-top-5-technical-challenges-countdown-2-more-power
1•rbanffy•3m ago•0 comments

Ask HN: What are the pros and cons of different AI coding background agents?

2•hoanh•3m ago•0 comments

The Making of 'New York Street Diaries' by Phil Penman

https://aboutphotography.blog/blog/behind-the-scenes-with-phil-penman-the-making-of-new-york-street-diaries-book-spotlight
1•ChompChomp•5m ago•0 comments

Why Tesla's full self-driving is a scam

https://www.carsandhorsepower.com/featured/musk-promised-robotaxis-but-tesla-s-fsd-can-t-even-turn-left
2•Anumbia•6m ago•0 comments

Show HN: My video game sprite generator startup's "stats" page

https://gametorch.app/stats
1•gametorch•6m ago•0 comments

Swift Binary Parsing

https://github.com/apple/swift-binary-parsing
3•gok•7m ago•1 comments

Show HN: Chrome extension uses VSCode core to run algo trading with AI alerts

https://github.com/adam-s/doomberg-terminal
1•dataviz1000•7m ago•0 comments

Genomics of extremotolerant bacteria from spacecraft assembly cleanrooms

https://microbiomejournal.biomedcentral.com/articles/10.1186/s40168-025-02082-1
1•PaulHoule•11m ago•0 comments

The Evasive Evitability of Enshittification

https://apenwarr.ca/log/20250530
2•Tomte•12m ago•0 comments

Show HN: Connect – One SDK, 1000s of integrations for your AI agent

https://pipedream.com/connect/demo
1•todsacerdoti•12m ago•0 comments

China starts mass production of first non-binary AI chip

https://www.scmp.com/news/china/science/article/3313349/beyond-1s-and-0s-china-starts-mass-production-worlds-first-non-binary-ai-chip
1•elorant•13m ago•0 comments

How Social Media Brings Out the Worst in Us

https://greatergood.berkeley.edu/article/item/how_social_media_brings_out_the_worst_in_us
1•Improvement•16m ago•0 comments

Apple's "Illusions of Thinking" Paper Isn't Fair to LLMs

https://theahura.substack.com/p/a-few-quick-thoughts-on-apples-illusion
1•theahura•17m ago•0 comments

Aircela demonstrates prototype device that turns air into fuel

https://www.dezeen.com/2025/06/04/aircela-air-to-fuel-technology/
1•speckx•18m ago•0 comments

Scientists suggest that cancer is man-made (2010)

https://www.manchester.ac.uk/about/news/scientists-suggest-that-cancer-is-man-made/
1•LouisLazaris•19m ago•0 comments

Updates to Apple's On-Device and Server Foundation Language Models

https://machinelearning.apple.com/research/apple-foundation-models-2025-updates
1•2bit•19m ago•1 comments

Should a court break up Google?

https://www.npr.org/2025/05/30/nx-s1-5413538/google-search-antitrust-remedies-trial-closing-arguments
2•Anumbia•21m ago•0 comments

OpenJK: Game and Engine Powering Jedi Academy and Jedi Outcast

https://github.com/JACoders/OpenJK
1•klaussilveira•21m ago•0 comments

My best advice about preparing for difficult conversations

https://shaungallagher.pressbin.com/blog/preparation.html
1•jawns•21m ago•0 comments

Lite XL - A lightweight text editor written in Lua

https://github.com/lite-xl/lite-xl
2•klaussilveira•22m ago•0 comments

The 'death of creativity'? AI job fears stalk advertising industry

https://www.theguardian.com/technology/2025/jun/09/ai-advertising-industry-google-facebook-meta-ads
1•wslh•24m ago•0 comments

Learning WebAssembly and Rust Part 2

https://www.dgendill.com/posts/programming/2025-06-06-webassembly2.html
2•speckx•31m ago•0 comments

New fuel cell could enable electric aviation

https://news.mit.edu/2025/new-fuel-cell-could-enable-electric-aviation-0527
3•gmays•31m ago•1 comments

Apple WWDC 2025: the 13 biggest announcements

https://www.theverge.com/news/682769/apple-wwdc-2025-biggest-announcements-ios-26
5•andrewstetsenko•33m ago•2 comments

Nvidia RTX 50 Cards Spotted with Missing ROPs, Nvidia Confirms the Issue

https://www.techpowerup.com/332884/nvidia-geforce-rtx-50-cards-spotted-with-missing-rops-nvidia-confirms-the-issue-multiple-vendors-affected
1•diggan•34m ago•0 comments

WWDC25: Platforms State of the Union – Apple [video]

https://www.youtube.com/watch?v=51iONeETSng
1•ksec•35m ago•0 comments

They Travel the World–and Cheat Death–For License Plates

https://www.wsj.com/lifestyle/license-plate-collectors-cars-21c7506e
1•domofutu•35m ago•0 comments