{"action":"created","issue":{"url":"https://api.github.com/repos/openssl/openssl/issues/751","repository_url":"https://api.github.com/repos/openssl/openssl","labels_url":"https://api.github.com/repos/openssl/openssl/issues/751/labels{/name}","comments_url":"https://api.github.com/repos/openssl/openssl/issues/751/comments","events_url":"https://api.github.com/repos/openssl/openssl/issues/751/events","html_url":"https://github.com/openssl/openssl/pull/751","id":136714623,"number":751,"title":"Added BP module for Bilinear Pairings, with tests, docs and tests.","user":{"login":"dfaranha","id":5369810,"avatar_url":"https://avatars.githubusercontent.com/u/5369810?v=3","gravatar_id":"","url":"https://api.github.com/users/dfaranha","html_url":"https://github.com/dfaranha","followers_url":"https://api.github.com/users/dfaranha/followers","following_url":"https://api.github.com/users/dfaranha/following{/other_user}","gists_url":"https://api.github.com/users/dfaranha/gists{/gist_id}","starred_url":"https://api.github.com/users/dfaranha/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dfaranha/subscriptions","organizations_url":"https://api.github.com/users/dfaranha/orgs","repos_url":"https://api.github.com/users/dfaranha/repos","events_url":"https://api.github.com/users/dfaranha/events{/privacy}","received_events_url":"https://api.github.com/users/dfaranha/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-02-26T14:35:39Z","updated_at":"2016-02-26T15:23:28Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/openssl/openssl/pulls/751","html_url":"https://github.com/openssl/openssl/pull/751","diff_url":"https://github.com/openssl/openssl/pull/751.diff","patch_url":"https://github.com/openssl/openssl/pull/751.patch"},"body":"This patch implements bilinear pairings inside OpenSSL, by creating a structure to store bilinear groups G1, G2 and GT and providing an EC-like interface to manipulate elements in such groups. G1 is implemented as a thin wrapper around EC_POINT, G2 implements arithmetic over a twist curve based on ecp_smpl.c and ecp_mont.c and GT implements a field extension. The API is abstract and somewhat low-level, allowing one to implement a pairing-based protocol on top without too much effort.\r\n\r\nThe patch applies cleanly as of this time of writing and should stay this way, since everything is mostly contained inside path crypto/bp, although there are tests, docs and benchmarks spread out along other places in the tree. The work was commissioned by MIRACL Inc. as part of the Apache Milagro initiative.\r\n\r\nBen Laurie gave feedback about an initial version of the code and did some light review of the current patch.\r\n\r\nThanks for your consideration!"},"comment":{"url":"https://api.github.com/repos/openssl/openssl/issues/comments/189321233","html_url":"https://github.com/openssl/openssl/pull/751#issuecomment-189321233","issue_url":"https://api.github.com/repos/openssl/openssl/issues/751","id":189321233,"user":{"login":"t-j-h","id":7409473,"avatar_url":"https://avatars.githubusercontent.com/u/7409473?v=3","gravatar_id":"","url":"https://api.github.com/users/t-j-h","html_url":"https://github.com/t-j-h","followers_url":"https://api.github.com/users/t-j-h/followers","following_url":"https://api.github.com/users/t-j-h/following{/other_user}","gists_url":"https://api.github.com/users/t-j-h/gists{/gist_id}","starred_url":"https://api.github.com/users/t-j-h/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/t-j-h/subscriptions","organizations_url":"https://api.github.com/users/t-j-h/orgs","repos_url":"https://api.github.com/users/t-j-h/repos","events_url":"https://api.github.com/users/t-j-h/events{/privacy}","received_events_url":"https://api.github.com/users/t-j-h/received_events","type":"User","site_admin":false},"created_at":"2016-02-26T15:23:28Z","updated_at":"2016-02-26T15:23:28Z","body":"If you are looking to contribute this then you will need to have the actual OpenSSL copyright in the top of the files you are contributing. Your short-form statements reference something which doesn't exist.\r\n\r\nDo you have a contributor agreement in place with the OpenSSL project?\r\n[Individual](https://www.openssl.org/policies/openssl_icla.pdf) or [Corporate](https://www.openssl.org/policies/openssl_ccla.pdf)\r\n\r\nIt would also make sense to read through the [Coding Style](https://www.openssl.org/policies/codingstyle.html) as alignment with that eases the integration.\r\n\r\nThanks,"}}