YahooArchive / end-to-end

Use OpenPGP-based encryption in Yahoo mail.
http://yahoo.tumblr.com/post/113708033335/user-focused-security-end-to-end-encryption
Apache License 2.0
223 stars 40 forks source link

Ported the vrf verification feature #58

Closed adon-at-work closed 8 years ago

adon-at-work commented 8 years ago

This is the vrf verification implementation ported from https://github.com/yahoo/coname/blob/master/vrf/vrf.go

It lives as an utility function, and is tested with inputs and outputs captured from the original golang implementation.

Please review, thanks.

adon-at-work commented 8 years ago

@andres-erbsen , once you finished reviewing this. I'll clear all the commented golang here. They're there to facilitate reviews only. OK?

adon-at-work commented 8 years ago

@andres-erbsen and @diracdeltas please check those things fixed.

Since many of those discussions are collapsed since the last commit, I list out the following discussions that are yet to be resolved for quick reference (kindly click below to have them expanded, or you may like to check each collapsed one by one):

adon-at-work commented 8 years ago

After the last commit, the final issue to deal with in this PR: https://github.com/yahoo/end-to-end/pull/58#discussion-diff-39409648

diracdeltas commented 8 years ago

Currently, the VRF module isn't included in any of the extension files, so the compiler isn't actually checking it for correctness. When I include the vrf module in the extension (such as by prepending goog.require('e2e.vrf.verify'); to launcher.js), Closure compiler throws a lot of errors.

adon-at-work commented 8 years ago

Currently, the VRF module isn't included in any of the extension files, so the compiler isn't actually checking it for correctness. When I include the vrf module in the extension (such as by prepending goog.require('e2e.vrf.verify'); to launcher.js), Closure compiler throws a lot of errors.

the errors are cleared.

adon-at-work commented 8 years ago

I'm done with the suggested changes.

The build was failed due to an upstream commit (happened roughly an hour ago): https://github.com/google/closure-templates/commit/e47f247bdfacf3c5a34015ced356e4fd8a0444a2

Tracking the issue at https://github.com/google/closure-templates/issues/57

adon-at-work commented 8 years ago

@diracdeltas , all done. upgraded to use the latest js-sha3 too

diracdeltas commented 8 years ago

Thanks, LGTM! @andres-erbsen any objections to merging?

andres-erbsen commented 8 years ago

No objections. I did add two one-line documentation nits about functions that are not constant-time-ish, though.