{"action":"created","issue":{"url":"https://api.github.com/repos/zcash/zcash/issues/784","repository_url":"https://api.github.com/repos/zcash/zcash","labels_url":"https://api.github.com/repos/zcash/zcash/issues/784/labels{/name}","comments_url":"https://api.github.com/repos/zcash/zcash/issues/784/comments","events_url":"https://api.github.com/repos/zcash/zcash/issues/784/events","html_url":"https://github.com/zcash/zcash/issues/784","id":141103356,"number":784,"title":"Check the implementation for note ciphertext decryption oracles","user":{"login":"defuse","id":4211072,"avatar_url":"https://avatars.githubusercontent.com/u/4211072?v=3","gravatar_id":"","url":"https://api.github.com/users/defuse","html_url":"https://github.com/defuse","followers_url":"https://api.github.com/users/defuse/followers","following_url":"https://api.github.com/users/defuse/following{/other_user}","gists_url":"https://api.github.com/users/defuse/gists{/gist_id}","starred_url":"https://api.github.com/users/defuse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/defuse/subscriptions","organizations_url":"https://api.github.com/users/defuse/orgs","repos_url":"https://api.github.com/users/defuse/repos","events_url":"https://api.github.com/users/defuse/events{/privacy}","received_events_url":"https://api.github.com/users/defuse/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/zcash/zcash/labels/crypto","name":"crypto","color":"ff6b75"},{"url":"https://api.github.com/repos/zcash/zcash/labels/documentation","name":"documentation","color":"906b75"},{"url":"https://api.github.com/repos/zcash/zcash/labels/in%201.0","name":"in 1.0","color":"ffc987"},{"url":"https://api.github.com/repos/zcash/zcash/labels/SECURITY","name":"SECURITY","color":"e01010"},{"url":"https://api.github.com/repos/zcash/zcash/labels/side%20channels","name":"side channels","color":"e44599"}],"state":"open","locked":false,"assignee":{"login":"defuse","id":4211072,"avatar_url":"https://avatars.githubusercontent.com/u/4211072?v=3","gravatar_id":"","url":"https://api.github.com/users/defuse","html_url":"https://github.com/defuse","followers_url":"https://api.github.com/users/defuse/followers","following_url":"https://api.github.com/users/defuse/following{/other_user}","gists_url":"https://api.github.com/users/defuse/gists{/gist_id}","starred_url":"https://api.github.com/users/defuse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/defuse/subscriptions","organizations_url":"https://api.github.com/users/defuse/orgs","repos_url":"https://api.github.com/users/defuse/repos","events_url":"https://api.github.com/users/defuse/events{/privacy}","received_events_url":"https://api.github.com/users/defuse/received_events","type":"User","site_admin":false},"assignees":[{"login":"defuse","id":4211072,"avatar_url":"https://avatars.githubusercontent.com/u/4211072?v=3","gravatar_id":"","url":"https://api.github.com/users/defuse","html_url":"https://github.com/defuse","followers_url":"https://api.github.com/users/defuse/followers","following_url":"https://api.github.com/users/defuse/following{/other_user}","gists_url":"https://api.github.com/users/defuse/gists{/gist_id}","starred_url":"https://api.github.com/users/defuse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/defuse/subscriptions","organizations_url":"https://api.github.com/users/defuse/orgs","repos_url":"https://api.github.com/users/defuse/repos","events_url":"https://api.github.com/users/defuse/events{/privacy}","received_events_url":"https://api.github.com/users/defuse/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/zcash/zcash/milestones/26","html_url":"https://github.com/zcash/zcash/milestones/Consensus%20Code%20Security%20Freeze","labels_url":"https://api.github.com/repos/zcash/zcash/milestones/26/labels","id":1670693,"number":26,"title":"Consensus Code Security Freeze","description":"","creator":{"login":"nathan-at-least","id":4369700,"avatar_url":"https://avatars.githubusercontent.com/u/4369700?v=3","gravatar_id":"","url":"https://api.github.com/users/nathan-at-least","html_url":"https://github.com/nathan-at-least","followers_url":"https://api.github.com/users/nathan-at-least/followers","following_url":"https://api.github.com/users/nathan-at-least/following{/other_user}","gists_url":"https://api.github.com/users/nathan-at-least/gists{/gist_id}","starred_url":"https://api.github.com/users/nathan-at-least/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nathan-at-least/subscriptions","organizations_url":"https://api.github.com/users/nathan-at-least/orgs","repos_url":"https://api.github.com/users/nathan-at-least/repos","events_url":"https://api.github.com/users/nathan-at-least/events{/privacy}","received_events_url":"https://api.github.com/users/nathan-at-least/received_events","type":"User","site_admin":false},"open_issues":46,"closed_issues":23,"state":"open","created_at":"2016-03-28T23:09:57Z","updated_at":"2016-07-13T02:15:41Z","due_on":"2016-07-18T07:00:00Z","closed_at":null},"comments":10,"created_at":"2016-03-15T21:28:26Z","updated_at":"2016-07-13T03:19:46Z","closed_at":null,"body":"Some comments on #558 acknowledge the possibility of the \"Receive\" operation leaking information since it can fail in one of three (distinguishable by timing) ways: 1. The public key decryption returns ⊥, 2. The commitment does not match, or 3. The computed serial number appears on the ledger.\r\n\r\nIf an attacker can specify arbitrary inputs and time the victim (or observe their use of memory cache, etc.) then this leaks information about the decrypted plaintext. For example, the serial number check would almost certainly be visible to the Flush+Reload side-channel, so another user on the same system can see when a transaction gets received (which would not matter for Bitcoin but might for Zcash).\r\n\r\nLet's review the implementation to determine how much information it leaks and maybe fix or document it."},"comment":{"url":"https://api.github.com/repos/zcash/zcash/issues/comments/232245164","html_url":"https://github.com/zcash/zcash/issues/784#issuecomment-232245164","issue_url":"https://api.github.com/repos/zcash/zcash/issues/784","id":232245164,"user":{"login":"defuse","id":4211072,"avatar_url":"https://avatars.githubusercontent.com/u/4211072?v=3","gravatar_id":"","url":"https://api.github.com/users/defuse","html_url":"https://github.com/defuse","followers_url":"https://api.github.com/users/defuse/followers","following_url":"https://api.github.com/users/defuse/following{/other_user}","gists_url":"https://api.github.com/users/defuse/gists{/gist_id}","starred_url":"https://api.github.com/users/defuse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/defuse/subscriptions","organizations_url":"https://api.github.com/users/defuse/orgs","repos_url":"https://api.github.com/users/defuse/repos","events_url":"https://api.github.com/users/defuse/events{/privacy}","received_events_url":"https://api.github.com/users/defuse/received_events","type":"User","site_admin":false},"created_at":"2016-07-13T03:19:46Z","updated_at":"2016-07-13T03:19:46Z","body":"(3) leaks no information, as long as all senders always generate valid serializations, or if the attacker is the sender because they presumably already know that (3) will fail because they produced the message. We only have to worry if there is some bug such that depending on some secret information an invalid serialization is produced, or if people try to communicate secret 1/0 bits by whether or not the serialization is valid."}}
{"actor":{"display_login":"defuse"}}