Show HN: PubKey – Communicate Privately in Anonymous Public Spaces
Luckily, he nabbed the invite code, but it got me thinking about using PGP to provide a solution. This is meant to be a rough PoC and the UX is definitely not ready for the average Joe, but the functionality I'd like to think is there.
What catbox.moe is to dropbox is what I'd like this to eventually be to keybase. Btw, "this page uses NO SERVER" just means it's static. I'm not trying to fool anyone lol.
Edit: Source Code: https://codeberg.org/popcalc/pubKey
[+] [-] hardwaresofton|3 years ago|reply
What if you made this a web extension, and took control of textareas everywhere on the web?
Why not be able to turn any message delivery (ex. facebook messenger) into a delivery for private messaging. What keybase used to be (a repository for peoples' public keys) would be a great integration point -- if the person has a public key listed (maybe in a twitter bio, etc), you can send them messages that are encrypted with a generated symmetric key + nonce (the usual safe enveloping rigor you need) -- and every message you send them might start with the URL or the actual encrypted message itself (and it would be up to them to use the extension to decode it).
It would be easy to get this working with a browser (a sufficiently powered web extension would do), but a bit harder to get it working on phones since the APIs aren't QUITE there, but IIRC there are some screen scraping APIs that could actually work (as long as your read the screen text, convert that to a message, then decode etc).
[+] [-] keurrr|3 years ago|reply
https://github.com/XCF-Babble/babble
There is another group that fully supports an E2EE Facebook https://github.com/DimensionDev/Maskbook
[+] [-] rpdillon|3 years ago|reply
https://mailvelope.com/en/
[+] [-] exabrial|3 years ago|reply
[+] [-] rapnie|3 years ago|reply
[0] https://keyoxide.org
[1] https://codeberg.org/keyoxide/
[+] [-] popcalc|3 years ago|reply
[+] [-] gnufx|3 years ago|reply
[+] [-] nkcmr|3 years ago|reply
[0]: https://age-encryption.org/
[+] [-] popcalc|3 years ago|reply
[+] [-] makeworld|3 years ago|reply
[+] [-] jstanley|3 years ago|reply
You're loading bootstrap.bundle.min.js from jsdelivr. This opens you up to an unnecessary supply-chain attack (i.e. if jsdelivr becomes compromised or malicious, it can ship a modified version that exfiltrates user data). You're also loading crypto-js.min.js from cloudflare, which has the same problem.
I would recommend moving both of those 2 script files to your own domain so that the user is only trusting 1 site instead of 3.
EDIT: I just noticed you are using subresource integrity to mitigate this problem. Never mind then, carry on!
[+] [-] luke-stanley|3 years ago|reply
[+] [-] popcalc|3 years ago|reply
[+] [-] effisfor|3 years ago|reply
What are options? Password manager (most people I know don't use one), Browser keychain (no guarantee of sync between user devices), WebAuthn (same problem), IndexedDB or localstorage, (both can be purged, again, no sync).
Unless I'm missing something, I feel this is problem worthwhile solving as a community, it would unlock a lot of utility/privacy for the average web user.
Would love to hear any more qualified takes on this.
[+] [-] ttyprintk|3 years ago|reply
[+] [-] ryukafalz|3 years ago|reply
[+] [-] GoblinSlayer|3 years ago|reply
[+] [-] motohagiography|3 years ago|reply
"It's in the code."
"Riiiight."
https://en.wikipedia.org/wiki/Security_Protocols_Open_Reposi...
[+] [-] kaoD|3 years ago|reply
[+] [-] makeworld|3 years ago|reply
[+] [-] unknown|3 years ago|reply
[deleted]
[+] [-] davidy123|3 years ago|reply
1. https://www.w3.org/TR/did-core/ 2. https://keri.one/keri-resources/
The former has good traction, why not support that? (they don't require a blockchain btw, though some implementations propose perhaps one of the most appropriate uses of one, simply to store public keys and revocations).
[+] [-] postcynical|3 years ago|reply
[+] [-] popcalc|3 years ago|reply
https://www.pubkey.pm/msgIndex.html?hash=U2FsdGVkX19LN06nBQs...
Try replying with your encrypted email and I'll reach out!
[+] [-] upofadown|3 years ago|reply
[+] [-] kaoD|3 years ago|reply
[+] [-] jstanley|3 years ago|reply
> The URL generated contains an ECC curve25519 ciphertext (wrapped in AES simply to throw off SIGINT) that contains an armored version of the public key corresponding to the provided private key. People can visit this custom link and enter their message to encrypt it only for your eyes.
I don't quite understand the idea behind wrapping the ciphertext in AES, with a constant key of "123NSA".
The implementation is pretty short: https://www.pubkey.pm/index.js
[+] [-] tptacek|3 years ago|reply
[+] [-] aardvarkr|3 years ago|reply
[+] [-] marksalpeter|3 years ago|reply
[+] [-] popcalc|3 years ago|reply
[+] [-] balderdash|3 years ago|reply
[+] [-] pmoriarty|3 years ago|reply
[+] [-] capableweb|3 years ago|reply
[+] [-] nikolay|3 years ago|reply
[+] [-] popcalc|3 years ago|reply
Edit: Source repo in original post!
[+] [-] nibbleshifter|3 years ago|reply