{"action":"created","issue":{"url":"https://api.github.com/repos/Project-Arda/bgls/issues/22","repository_url":"https://api.github.com/repos/Project-Arda/bgls","labels_url":"https://api.github.com/repos/Project-Arda/bgls/issues/22/labels{/name}","comments_url":"https://api.github.com/repos/Project-Arda/bgls/issues/22/comments","events_url":"https://api.github.com/repos/Project-Arda/bgls/issues/22/events","html_url":"https://github.com/Project-Arda/bgls/issues/22","id":304529069,"number":22,"title":"BLS12 specifics","user":{"login":"dis2","id":36867572,"avatar_url":"https://avatars3.githubusercontent.com/u/36867572?v=4","gravatar_id":"","url":"https://api.github.com/users/dis2","html_url":"https://github.com/dis2","followers_url":"https://api.github.com/users/dis2/followers","following_url":"https://api.github.com/users/dis2/following{/other_user}","gists_url":"https://api.github.com/users/dis2/gists{/gist_id}","starred_url":"https://api.github.com/users/dis2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dis2/subscriptions","organizations_url":"https://api.github.com/users/dis2/orgs","repos_url":"https://api.github.com/users/dis2/repos","events_url":"https://api.github.com/users/dis2/events{/privacy}","received_events_url":"https://api.github.com/users/dis2/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":12,"created_at":"2018-03-12T20:32:19Z","updated_at":"2018-03-16T13:28:42Z","closed_at":null,"author_association":"NONE","body":"I've made Go bindings for RELIC at https://github.com/dis2/bls12 which is a far descendant of https://github.com/FiloSottile/powersoftau/tree/master/bls12 . It is loosely API-compatible with bn256.\r\n\r\nI've also done [small agg sig library using it](https://github.com/dis2/blsig), but I'd like to integrate with bgls to get a more generic interface I dont have to babysit myself.\r\n\r\nFor that to happen, I'd like to ask about:\r\n\r\n* How exactly is hash-to-point in G1 envisioned, specifically how hash should be turned into a bignum before sqrt-to-y-or-bump loop. Would just passing big.Int with starting x (and hashing to it is up to caller) suffice?\r\n\r\n* How to exactly serialize GT / Fq12 elements. It can be compressed to 8 coordinates if the GT element is part of the Fq12 subgroup - i'm a dilettante, but shouldn't that always be the case in BN/BLS12? But cloudflare bn256 seems to serialize all 12 coords, so I'm scratching my head here. This \"compression\" is cheap, just simply leaving certain coordinates at 0.\r\n\r\nRust ref impl doesn't state Fq12 format at all, for zksnarks, serializing Fq12 isn't all that exciting."},"comment":{"url":"https://api.github.com/repos/Project-Arda/bgls/issues/comments/373713088","html_url":"https://github.com/Project-Arda/bgls/issues/22#issuecomment-373713088","issue_url":"https://api.github.com/repos/Project-Arda/bgls/issues/22","id":373713088,"user":{"login":"dis2","id":36867572,"avatar_url":"https://avatars3.githubusercontent.com/u/36867572?v=4","gravatar_id":"","url":"https://api.github.com/users/dis2","html_url":"https://github.com/dis2","followers_url":"https://api.github.com/users/dis2/followers","following_url":"https://api.github.com/users/dis2/following{/other_user}","gists_url":"https://api.github.com/users/dis2/gists{/gist_id}","starred_url":"https://api.github.com/users/dis2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dis2/subscriptions","organizations_url":"https://api.github.com/users/dis2/orgs","repos_url":"https://api.github.com/users/dis2/repos","events_url":"https://api.github.com/users/dis2/events{/privacy}","received_events_url":"https://api.github.com/users/dis2/received_events","type":"User","site_admin":false},"created_at":"2018-03-16T13:28:42Z","updated_at":"2018-03-16T13:28:42Z","author_association":"NONE","body":"For now, I plan to err on two sides of extreme - fast implementation (fouque + odd/even parity), which is fastest by far (HashToPointFast), and the official rust implementation (HashToPoint).\r\n\r\nAs for the code, two things:\r\n* The paper says to compute 2 points, and add them together. I don't see you doing that anywhere.\r\n* Legendre in Fq2 can be computed faster, using formula as follows: https://github.com/dis2/bls12/blob/972237ac19c28020e76009b8bf9bd11466f3496b/fq2.go#L147\r\n\r\nIf you want it over GT, things get considerably more tricky though."}}
{"actor":{"display_login":"dis2"}}