{"action":"created","comment":{"url":"https://api.github.com/repos/briansmith/ring/pulls/comments/97747786","pull_request_review_id":18365845,"id":97747786,"diff_hunk":"@@ -132,6 +132,18 @@ impl Positive {\n         let bits = unsafe { GFp_BN_num_bits(self.as_ref()) };\n         bits::BitLength::from_usize_bits(bits)\n     }\n+\n+    // TODO Does this need to be constant time?\n+    pub fn subtract_smaller(&self, smaller: &Positive) -> Result<Positive, error::Unspecified> {","path":"src/rsa/bigint.rs","position":6,"original_position":6,"commit_id":"fd4d2db1e76490451d7f9bea639de26088a9b817","original_commit_id":"fd4d2db1e76490451d7f9bea639de26088a9b817","user":{"login":"briansmith","id":16816,"avatar_url":"https://avatars.githubusercontent.com/u/16816?v=3","gravatar_id":"","url":"https://api.github.com/users/briansmith","html_url":"https://github.com/briansmith","followers_url":"https://api.github.com/users/briansmith/followers","following_url":"https://api.github.com/users/briansmith/following{/other_user}","gists_url":"https://api.github.com/users/briansmith/gists{/gist_id}","starred_url":"https://api.github.com/users/briansmith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/briansmith/subscriptions","organizations_url":"https://api.github.com/users/briansmith/orgs","repos_url":"https://api.github.com/users/briansmith/repos","events_url":"https://api.github.com/users/briansmith/events{/privacy}","received_events_url":"https://api.github.com/users/briansmith/received_events","type":"User","site_admin":false},"body":"We should define all the math in terms of `Elem`s, in particular using only modular arithmetic. In this case, we can use `elem_sub`. (We want to use only modular arithmetic because we want to minimize code size and code complexity.)\r\n\r\nEventually we'll change `elem_sub` and all the other modular arithmetic is constant-time. The existing use of `elem_sub` needs it to be constant-time too. But it isn't a priority now and the plan for doing so first requires us to simplify the `BIGNUM` code more. I'm working on it as I have time now.","created_at":"2017-01-25T10:22:09Z","updated_at":"2017-01-25T10:22:10Z","html_url":"https://github.com/briansmith/ring/pull/391#discussion_r97747786","pull_request_url":"https://api.github.com/repos/briansmith/ring/pulls/391","_links":{"self":{"href":"https://api.github.com/repos/briansmith/ring/pulls/comments/97747786"},"html":{"href":"https://github.com/briansmith/ring/pull/391#discussion_r97747786"},"pull_request":{"href":"https://api.github.com/repos/briansmith/ring/pulls/391"}}},"pull_request":{"url":"https://api.github.com/repos/briansmith/ring/pulls/391","id":99286755,"html_url":"https://github.com/briansmith/ring/pull/391","diff_url":"https://github.com/briansmith/ring/pull/391.diff","patch_url":"https://github.com/briansmith/ring/pull/391.patch","issue_url":"https://api.github.com/repos/briansmith/ring/issues/391","number":391,"state":"open","locked":false,"title":"Document NIST steps in RSA private key validation","user":{"login":"djudd","id":409126,"avatar_url":"https://avatars.githubusercontent.com/u/409126?v=3","gravatar_id":"","url":"https://api.github.com/users/djudd","html_url":"https://github.com/djudd","followers_url":"https://api.github.com/users/djudd/followers","following_url":"https://api.github.com/users/djudd/following{/other_user}","gists_url":"https://api.github.com/users/djudd/gists{/gist_id}","starred_url":"https://api.github.com/users/djudd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/djudd/subscriptions","organizations_url":"https://api.github.com/users/djudd/orgs","repos_url":"https://api.github.com/users/djudd/repos","events_url":"https://api.github.com/users/djudd/events{/privacy}","received_events_url":"https://api.github.com/users/djudd/received_events","type":"User","site_admin":false},"body":"This is a start at #362 - just inline documentation of which NIST SP 800-56B validation steps are & are not currently implemented.","created_at":"2016-12-23T22:48:57Z","updated_at":"2017-01-25T10:22:10Z","closed_at":null,"merged_at":null,"merge_commit_sha":"084686f810171b7c609ca85bfe6ac28a1c0e1207","assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/briansmith/ring/milestones/3","html_url":"https://github.com/briansmith/ring/milestone/3","labels_url":"https://api.github.com/repos/briansmith/ring/milestones/3/labels","id":2116937,"number":3,"title":"0.7","description":null,"creator":{"login":"briansmith","id":16816,"avatar_url":"https://avatars.githubusercontent.com/u/16816?v=3","gravatar_id":"","url":"https://api.github.com/users/briansmith","html_url":"https://github.com/briansmith","followers_url":"https://api.github.com/users/briansmith/followers","following_url":"https://api.github.com/users/briansmith/following{/other_user}","gists_url":"https://api.github.com/users/briansmith/gists{/gist_id}","starred_url":"https://api.github.com/users/briansmith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/briansmith/subscriptions","organizations_url":"https://api.github.com/users/briansmith/orgs","repos_url":"https://api.github.com/users/briansmith/repos","events_url":"https://api.github.com/users/briansmith/events{/privacy}","received_events_url":"https://api.github.com/users/briansmith/received_events","type":"User","site_admin":false},"open_issues":12,"closed_issues":0,"state":"open","created_at":"2016-11-06T06:21:08Z","updated_at":"2017-01-25T10:15:53Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/briansmith/ring/pulls/391/commits","review_comments_url":"https://api.github.com/repos/briansmith/ring/pulls/391/comments","review_comment_url":"https://api.github.com/repos/briansmith/ring/pulls/comments{/number}","comments_url":"https://api.github.com/repos/briansmith/ring/issues/391/comments","statuses_url":"https://api.github.com/repos/briansmith/ring/statuses/fd4d2db1e76490451d7f9bea639de26088a9b817","head":{"label":"djudd:rsa-private-key-validation","ref":"rsa-private-key-validation","sha":"fd4d2db1e76490451d7f9bea639de26088a9b817","user":{"login":"djudd","id":409126,"avatar_url":"https://avatars.githubusercontent.com/u/409126?v=3","gravatar_id":"","url":"https://api.github.com/users/djudd","html_url":"https://github.com/djudd","followers_url":"https://api.github.com/users/djudd/followers","following_url":"https://api.github.com/users/djudd/following{/other_user}","gists_url":"https://api.github.com/users/djudd/gists{/gist_id}","starred_url":"https://api.github.com/users/djudd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/djudd/subscriptions","organizations_url":"https://api.github.com/users/djudd/orgs","repos_url":"https://api.github.com/users/djudd/repos","events_url":"https://api.github.com/users/djudd/events{/privacy}","received_events_url":"https://api.github.com/users/djudd/received_events","type":"User","site_admin":false},"repo":{"id":63611740,"name":"ring","full_name":"djudd/ring","owner":{"login":"djudd","id":409126,"avatar_url":"https://avatars.githubusercontent.com/u/409126?v=3","gravatar_id":"","url":"https://api.github.com/users/djudd","html_url":"https://github.com/djudd","followers_url":"https://api.github.com/users/djudd/followers","following_url":"https://api.github.com/users/djudd/following{/other_user}","gists_url":"https://api.github.com/users/djudd/gists{/gist_id}","starred_url":"https://api.github.com/users/djudd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/djudd/subscriptions","organizations_url":"https://api.github.com/users/djudd/orgs","repos_url":"https://api.github.com/users/djudd/repos","events_url":"https://api.github.com/users/djudd/events{/privacy}","received_events_url":"https://api.github.com/users/djudd/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/djudd/ring","description":"Safe, fast, small crypto using Rust & BoringSSL's cryptography primitives.","fork":true,"url":"https://api.github.com/repos/djudd/ring","forks_url":"https://api.github.com/repos/djudd/ring/forks","keys_url":"https://api.github.com/repos/djudd/ring/keys{/key_id}","collaborators_url":"https://api.github.com/repos/djudd/ring/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/djudd/ring/teams","hooks_url":"https://api.github.com/repos/djudd/ring/hooks","issue_events_url":"https://api.github.com/repos/djudd/ring/issues/events{/number}","events_url":"https://api.github.com/repos/djudd/ring/events","assignees_url":"https://api.github.com/repos/djudd/ring/assignees{/user}","branches_url":"https://api.github.com/repos/djudd/ring/branches{/branch}","tags_url":"https://api.github.com/repos/djudd/ring/tags","blobs_url":"https://api.github.com/repos/djudd/ring/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/djudd/ring/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/djudd/ring/git/refs{/sha}","trees_url":"https://api.github.com/repos/djudd/ring/git/trees{/sha}","statuses_url":"https://api.github.com/repos/djudd/ring/statuses/{sha}","languages_url":"https://api.github.com/repos/djudd/ring/languages","stargazers_url":"https://api.github.com/repos/djudd/ring/stargazers","contributors_url":"https://api.github.com/repos/djudd/ring/contributors","subscribers_url":"https://api.github.com/repos/djudd/ring/subscribers","subscription_url":"https://api.github.com/repos/djudd/ring/subscription","commits_url":"https://api.github.com/repos/djudd/ring/commits{/sha}","git_commits_url":"https://api.github.com/repos/djudd/ring/git/commits{/sha}","comments_url":"https://api.github.com/repos/djudd/ring/comments{/number}","issue_comment_url":"https://api.github.com/repos/djudd/ring/issues/comments{/number}","contents_url":"https://api.github.com/repos/djudd/ring/contents/{+path}","compare_url":"https://api.github.com/repos/djudd/ring/compare/{base}...{head}","merges_url":"https://api.github.com/repos/djudd/ring/merges","archive_url":"https://api.github.com/repos/djudd/ring/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/djudd/ring/downloads","issues_url":"https://api.github.com/repos/djudd/ring/issues{/number}","pulls_url":"https://api.github.com/repos/djudd/ring/pulls{/number}","milestones_url":"https://api.github.com/repos/djudd/ring/milestones{/number}","notifications_url":"https://api.github.com/repos/djudd/ring/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/djudd/ring/labels{/name}","releases_url":"https://api.github.com/repos/djudd/ring/releases{/id}","deployments_url":"https://api.github.com/repos/djudd/ring/deployments","created_at":"2016-07-18T14:52:00Z","updated_at":"2016-07-18T14:52:02Z","pushed_at":"2017-01-25T03:20:13Z","git_url":"git://github.com/djudd/ring.git","ssh_url":"git@github.com:djudd/ring.git","clone_url":"https://github.com/djudd/ring.git","svn_url":"https://github.com/djudd/ring","homepage":"https://briansmith.org/rustdoc/ring/","size":27867,"stargazers_count":0,"watchers_count":0,"language":"Assembly","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"briansmith:master","ref":"master","sha":"020acd326b38eea5c286f24f1faf602686fefcfe","user":{"login":"briansmith","id":16816,"avatar_url":"https://avatars.githubusercontent.com/u/16816?v=3","gravatar_id":"","url":"https://api.github.com/users/briansmith","html_url":"https://github.com/briansmith","followers_url":"https://api.github.com/users/briansmith/followers","following_url":"https://api.github.com/users/briansmith/following{/other_user}","gists_url":"https://api.github.com/users/briansmith/gists{/gist_id}","starred_url":"https://api.github.com/users/briansmith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/briansmith/subscriptions","organizations_url":"https://api.github.com/users/briansmith/orgs","repos_url":"https://api.github.com/users/briansmith/repos","events_url":"https://api.github.com/users/briansmith/events{/privacy}","received_events_url":"https://api.github.com/users/briansmith/received_events","type":"User","site_admin":false},"repo":{"id":39527318,"name":"ring","full_name":"briansmith/ring","owner":{"login":"briansmith","id":16816,"avatar_url":"https://avatars.githubusercontent.com/u/16816?v=3","gravatar_id":"","url":"https://api.github.com/users/briansmith","html_url":"https://github.com/briansmith","followers_url":"https://api.github.com/users/briansmith/followers","following_url":"https://api.github.com/users/briansmith/following{/other_user}","gists_url":"https://api.github.com/users/briansmith/gists{/gist_id}","starred_url":"https://api.github.com/users/briansmith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/briansmith/subscriptions","organizations_url":"https://api.github.com/users/briansmith/orgs","repos_url":"https://api.github.com/users/briansmith/repos","events_url":"https://api.github.com/users/briansmith/events{/privacy}","received_events_url":"https://api.github.com/users/briansmith/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/briansmith/ring","description":"Safe, fast, small crypto using Rust","fork":false,"url":"https://api.github.com/repos/briansmith/ring","forks_url":"https://api.github.com/repos/briansmith/ring/forks","keys_url":"https://api.github.com/repos/briansmith/ring/keys{/key_id}","collaborators_url":"https://api.github.com/repos/briansmith/ring/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/briansmith/ring/teams","hooks_url":"https://api.github.com/repos/briansmith/ring/hooks","issue_events_url":"https://api.github.com/repos/briansmith/ring/issues/events{/number}","events_url":"https://api.github.com/repos/briansmith/ring/events","assignees_url":"https://api.github.com/repos/briansmith/ring/assignees{/user}","branches_url":"https://api.github.com/repos/briansmith/ring/branches{/branch}","tags_url":"https://api.github.com/repos/briansmith/ring/tags","blobs_url":"https://api.github.com/repos/briansmith/ring/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/briansmith/ring/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/briansmith/ring/git/refs{/sha}","trees_url":"https://api.github.com/repos/briansmith/ring/git/trees{/sha}","statuses_url":"https://api.github.com/repos/briansmith/ring/statuses/{sha}","languages_url":"https://api.github.com/repos/briansmith/ring/languages","stargazers_url":"https://api.github.com/repos/briansmith/ring/stargazers","contributors_url":"https://api.github.com/repos/briansmith/ring/contributors","subscribers_url":"https://api.github.com/repos/briansmith/ring/subscribers","subscription_url":"https://api.github.com/repos/briansmith/ring/subscription","commits_url":"https://api.github.com/repos/briansmith/ring/commits{/sha}","git_commits_url":"https://api.github.com/repos/briansmith/ring/git/commits{/sha}","comments_url":"https://api.github.com/repos/briansmith/ring/comments{/number}","issue_comment_url":"https://api.github.com/repos/briansmith/ring/issues/comments{/number}","contents_url":"https://api.github.com/repos/briansmith/ring/contents/{+path}","compare_url":"https://api.github.com/repos/briansmith/ring/compare/{base}...{head}","merges_url":"https://api.github.com/repos/briansmith/ring/merges","archive_url":"https://api.github.com/repos/briansmith/ring/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/briansmith/ring/downloads","issues_url":"https://api.github.com/repos/briansmith/ring/issues{/number}","pulls_url":"https://api.github.com/repos/briansmith/ring/pulls{/number}","milestones_url":"https://api.github.com/repos/briansmith/ring/milestones{/number}","notifications_url":"https://api.github.com/repos/briansmith/ring/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/briansmith/ring/labels{/name}","releases_url":"https://api.github.com/repos/briansmith/ring/releases{/id}","deployments_url":"https://api.github.com/repos/briansmith/ring/deployments","created_at":"2015-07-22T19:57:40Z","updated_at":"2017-01-25T09:26:29Z","pushed_at":"2017-01-25T10:10:19Z","git_url":"git://github.com/briansmith/ring.git","ssh_url":"git@github.com:briansmith/ring.git","clone_url":"https://github.com/briansmith/ring.git","svn_url":"https://github.com/briansmith/ring","homepage":"https://briansmith.org/rustdoc/ring/","size":28001,"stargazers_count":424,"watchers_count":424,"language":"Assembly","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":63,"mirror_url":null,"open_issues_count":176,"forks":63,"open_issues":176,"watchers":424,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/briansmith/ring/pulls/391"},"html":{"href":"https://github.com/briansmith/ring/pull/391"},"issue":{"href":"https://api.github.com/repos/briansmith/ring/issues/391"},"comments":{"href":"https://api.github.com/repos/briansmith/ring/issues/391/comments"},"review_comments":{"href":"https://api.github.com/repos/briansmith/ring/pulls/391/comments"},"review_comment":{"href":"https://api.github.com/repos/briansmith/ring/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/briansmith/ring/pulls/391/commits"},"statuses":{"href":"https://api.github.com/repos/briansmith/ring/statuses/fd4d2db1e76490451d7f9bea639de26088a9b817"}}}}
{"actor":{"display_login":"briansmith"}}