{"action":"created","issue":{"url":"https://api.github.com/repos/keybase/go-crypto/issues/27","repository_url":"https://api.github.com/repos/keybase/go-crypto","labels_url":"https://api.github.com/repos/keybase/go-crypto/issues/27/labels{/name}","comments_url":"https://api.github.com/repos/keybase/go-crypto/issues/27/comments","events_url":"https://api.github.com/repos/keybase/go-crypto/issues/27/events","html_url":"https://github.com/keybase/go-crypto/pull/27","id":149556649,"number":27,"title":"Add support for public key algo 20 (Elgamal Encrypt and Sign)","user":{"login":"brianmario","id":11571,"avatar_url":"https://avatars.githubusercontent.com/u/11571?v=3","gravatar_id":"","url":"https://api.github.com/users/brianmario","html_url":"https://github.com/brianmario","followers_url":"https://api.github.com/users/brianmario/followers","following_url":"https://api.github.com/users/brianmario/following{/other_user}","gists_url":"https://api.github.com/users/brianmario/gists{/gist_id}","starred_url":"https://api.github.com/users/brianmario/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brianmario/subscriptions","organizations_url":"https://api.github.com/users/brianmario/orgs","repos_url":"https://api.github.com/users/brianmario/repos","events_url":"https://api.github.com/users/brianmario/events{/privacy}","received_events_url":"https://api.github.com/users/brianmario/received_events","type":"User","site_admin":true},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-04-19T19:23:13Z","updated_at":"2016-04-19T19:37:12Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/keybase/go-crypto/pulls/27","html_url":"https://github.com/keybase/go-crypto/pull/27","diff_url":"https://github.com/keybase/go-crypto/pull/27.diff","patch_url":"https://github.com/keybase/go-crypto/pull/27.patch"},"body":"There are still older public keys out in the wild that use this older and by my understanding deprecated public key algorithm specifier. So far as I can tell from the older and newer versions of the RFC, this code (20) was used to specify Elgamal with \"usage flags\" of Encrypt and Sign. Code 16 was there as well but specified Elgamal for encryption only.\r\n\r\nBeing as though both codes use Elgamal, this patch simply provides pass-through for this older code (20) all the places in the code where code 16 was being checked.\r\n\r\nI wanted to get a :+1:/:-1: on this approach first, then I'll add a test at least making sure we're able to parse public key packets using this code. I'm not sure how to test encryption or signing because I haven't figured out how to make a new key pair using this older algorithm. Any help with that would be appreciated!"},"comment":{"url":"https://api.github.com/repos/keybase/go-crypto/issues/comments/212084212","html_url":"https://github.com/keybase/go-crypto/pull/27#issuecomment-212084212","issue_url":"https://api.github.com/repos/keybase/go-crypto/issues/27","id":212084212,"user":{"login":"maxtaco","id":866815,"avatar_url":"https://avatars.githubusercontent.com/u/866815?v=3","gravatar_id":"","url":"https://api.github.com/users/maxtaco","html_url":"https://github.com/maxtaco","followers_url":"https://api.github.com/users/maxtaco/followers","following_url":"https://api.github.com/users/maxtaco/following{/other_user}","gists_url":"https://api.github.com/users/maxtaco/gists{/gist_id}","starred_url":"https://api.github.com/users/maxtaco/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/maxtaco/subscriptions","organizations_url":"https://api.github.com/users/maxtaco/orgs","repos_url":"https://api.github.com/users/maxtaco/repos","events_url":"https://api.github.com/users/maxtaco/events{/privacy}","received_events_url":"https://api.github.com/users/maxtaco/received_events","type":"User","site_admin":false},"created_at":"2016-04-19T19:37:12Z","updated_at":"2016-04-19T19:37:12Z","body":"I don't see anything wrong with this approach, but ElG encrypt+sign makes me extremely nervous since it fell apart so spectacularly.  I understand this is all in the name of backwards compatibility, but still, those people should really update their keys!\r\n\r\nWhat are your thoughts on the bigger picture here?  We've never seen one of these keys in our experience..."}}