[00:01:13] *** Joins: wolfcore (~wolfcore@unaffiliated/wolfcore) [04:49:02] *** Quits: wolfcore (~wolfcore@unaffiliated/wolfcore) (Ping timeout: 244 seconds) [05:12:51] *** Joins: wolfcore (~wolfcore@unaffiliated/wolfcore) [06:02:54] *** Joins: Xaradas (~Xaradas@vpn.aslteramo.it) [06:54:01] *** Quits: Xaradas (~Xaradas@vpn.aslteramo.it) (Quit: Going offline, see ya! (www.adiirc.com)) [21:06:05] *** Quits: baristaTam (~baristata@95.85.34.133) (Quit: WeeChat 0.4.2) [21:15:58] What's the best way to learn about how to implement end to end encryption? I've been googling but haven't really found anything meaningful [21:16:29] I have very sensative data that will be going through my server and I don't even want to know about it at all. [21:16:51] but I want to keep it for another person to be able to decrypt it if they have a key they set up with the original person [21:27:47] well, try to implement as little of it yourself as you can [21:28:01] it depends on what you're using it for [21:28:03] what's the context here? [21:42:53] Bob wants to send Alice a message "hey bby, how r u??" and they've intrusted me to keep this a secret so I really don't want Charlie, Alice's stalker, to see this message. Charlie has a couple 0days and can hack in my server at any time. (I'm assuming) So I want to have end to end encryption so that even the server has no idea what the message is. The biggest problem is that I have no idea how to do key exchange [21:42:54] that is not vulnerable to a mitm attack [21:43:15] considered PGP yet? [21:43:17] and there's no way they can do it P2P, either. Because Alice is literally never online. Ugh. [21:43:28] so tbh, I know very little about crypto [21:43:30] I'll look into PGP [21:43:46] I mean, PGP has been around since right before we were born at least [21:43:58] I've heard of it in my FOSS course [21:43:59] probably the easiest implementation is gnupg [21:44:08] isn't anything but in-person as a side channel authentication technically vulnerable to some form of mitm? [21:44:23] well PGP is public/private keys [21:44:51] ooh, this is different from GPG [21:45:05] that's what I was thinking you said [21:45:39] oh [21:45:43] it uses PGP [21:45:46] well shows how much I know [21:45:57] yup, gnupg is an implementation of PGP [21:46:23] so should I just integrate my service with keybase [21:46:28] a lot of people on open source projects' mailing lists use gnupg to sign but not encrypt their emails [21:46:29] as the key server? [21:46:38] yeah, that's why we learned about it [21:46:40] you can just use one of the big public keyservers [21:46:41] and also to sign packages [21:46:45] ok [21:46:50] MIT comes to mind [21:47:11] http://pgp.mit.edu/ [21:47:11] Title: MIT PGP Key Server [21:47:16] you just submit the public key [21:47:29] if there are possibly going to be over 100,000 users of this service (who knows, tbh), is it reasonable to use that server? [21:47:57] yeah MIT and a few others are the de facto big public keyservers that gnupg downloads keys from by default [21:48:00] planning for 100k from the outset smells of premature optimizaiton [21:48:05] true [21:48:11] I'm just wondering before I commit to something big [21:48:42] as long as a public key is submitted to one of the big public keyservers, gnupg can download it [21:52:17] awesome [21:52:18] thanks [21:54:07] wait so getting back to my question, would the best way to verify that the key matches the identity is to use keybase? [21:56:35] each PGP key pair has a fingerprint [21:56:42] which is already unique [21:56:57] that fingerprint alone is enough to know who it belongs to [21:58:06] but how does Alice know that that fingerprint is Bob's fingerprint [21:58:08] and not Charlie's? [21:58:19] they are *unique* [21:58:47] hmm. but what if charlie says "hey I'm Bob, here is my unique fingerprint?" maybe I'm not understanding this correctly [21:59:41] charlie would need to be able to use bob's private key for that to work [22:00:09] which would only happen if bob is an idiot [22:00:20] oh I see. yay! [22:00:32] all right. time to learn all this stuff [22:00:37] thanks. you guys were a huge help [22:17:42] what if charlie just gave his public key and his unique fingerprint which was signed by his private key and said "I'm bob" [22:39:26] your keypair doesn't prove that you're an actual person, it just proves that you're a pre-stated identity [22:40:03] if charlie generates a keypair as bob, then his identity is bob as far as the cryptosystem is concerned [22:46:18] but with keybase, you have to verify it all with twitter, facebook, etc [22:46:26] that solves that issue, right? [22:46:34] you have to verify you are who you are [22:46:43] with the sum of most of your public identities [23:03:14] cold_sauce: in the sense that those are all identities as well, but actually verifying that someone is who they say they are online is notoriously hard [23:03:28] for example, i could easily create a fake facebook account, fake twitter, fake HN [23:06:20] AFAIK, the only way to verify an online identity is to use an out-of-band authentication, like a real-life meetup and key exchange. beyond that, you're relying on degrees of (very reasonable) trust [23:09:14] makes sense [23:10:40] yep, which is why PGP uses a tiered trust system instead