{"push_id":1184057294,"size":8,"distinct_size":8,"ref":"refs/heads/ecdh","head":"8f6b75ddce098cf9b5cac70a5a24ad1ab5c87c68","before":"c90e76555db9981a70e17b084c5448058ade6a9f","commits":[{"sha":"70fb80620b604f74d85efc3fd4732fa51baa1b06","author":{"name":"Brian Smith","email":"1d28577c3a34c1ac08d512237ad32156e7267b61@briansmith.org"},"message":"Add new constant-time utilities for field elements & scalars.\n\nThe changes to crypto/internal.h and crypto/constant_time_test.c were\ncopied from the analogous tests for the |unsigned int| variants from\nBoringSSL.","distinct":true,"url":"https://api.github.com/repos/briansmith/ring/commits/70fb80620b604f74d85efc3fd4732fa51baa1b06"},{"sha":"5ee43341f97322df110d12c79d12c3bb6db8f8a9","author":{"name":"Brian Smith","email":"1d28577c3a34c1ac08d512237ad32156e7267b61@briansmith.org"},"message":"Rename CommonOps::elem_decode to elem_decoded.\n\nThis matches the convention we use elsewhere. The name `elem_decode`\nwould be used if the argument were mutated to have the decoded value,\nwhich isn't possible here since the output and input types are not the\nsame.","distinct":true,"url":"https://api.github.com/repos/briansmith/ring/commits/5ee43341f97322df110d12c79d12c3bb6db8f8a9"},{"sha":"97243b6900505d63d5dd28a0390ba9d7362eec79","author":{"name":"Brian Smith","email":"1d28577c3a34c1ac08d512237ad32156e7267b61@briansmith.org"},"message":"Make element-is-zero check constant-time.\n\nThis isn't necessary for ECDSA verification, but it will be necessary\nfor other operations in the future. Accordingly, also move it to\nCommonOps.","distinct":true,"url":"https://api.github.com/repos/briansmith/ring/commits/97243b6900505d63d5dd28a0390ba9d7362eec79"},{"sha":"c140ae38577efde6bfcfe0f95ab9092ba6e883c9","author":{"name":"Brian Smith","email":"1d28577c3a34c1ac08d512237ad32156e7267b61@briansmith.org"},"message":"Implement ECDH agreement in Rust.\n\nThis unfortunately required a lot of refactoring. The inversion mod q\nis now implemented with using a constant-time algorithm, unlike before,\nbut the point multiplications themselves are still using variable-time\nimplementations on most platforms, like before.\n\nNote that the inversion algorithm is constant-time, but the primitive\noperations that it is comprised of might not be fully constant-time\n(yet).","distinct":true,"url":"https://api.github.com/repos/briansmith/ring/commits/c140ae38577efde6bfcfe0f95ab9092ba6e883c9"},{"sha":"87512ec479fbaf0f05ae5df24ae296b7c3fcf1a5","author":{"name":"Brian Smith","email":"1d28577c3a34c1ac08d512237ad32156e7267b61@briansmith.org"},"message":"Refactor ECDH private keygen to be constant time & heap-free.\n\nAvoid using the heap during private key generation. Use constant time\ncomparisons when verifying that the private key is in range. Move the\nlogic that doesn't need to be constant-time to Rust, leaving only the\nconstant-time comparisons in C. Adjust the rest of the internal\nprivate key stuff to take into account these changes.","distinct":true,"url":"https://api.github.com/repos/briansmith/ring/commits/87512ec479fbaf0f05ae5df24ae296b7c3fcf1a5"},{"sha":"8b7cc19278bba2377f96e80440946105c1caad8c","author":{"name":"Brian Smith","email":"1d28577c3a34c1ac08d512237ad32156e7267b61@briansmith.org"},"message":"Do point-is-on-the-curve check during ECDH private key ops too.\n\nThis sanity-checks our implementations of point multiplication a bit\nat almost zero cost. We don't do the same for ECDSA signature\nverification because it is too expensive, as Gregory Maxwell's trick\nis incompatible with it.","distinct":true,"url":"https://api.github.com/repos/briansmith/ring/commits/8b7cc19278bba2377f96e80440946105c1caad8c"},{"sha":"ebda8892fb693d63a9d309aeaecc0af0b2ef3086","author":{"name":"Brian Smith","email":"1d28577c3a34c1ac08d512237ad32156e7267b61@briansmith.org"},"message":"Remove now-unused EC_METHOD::{curve_name, field_decode, field_encode}.","distinct":true,"url":"https://api.github.com/repos/briansmith/ring/commits/ebda8892fb693d63a9d309aeaecc0af0b2ef3086"},{"sha":"8f6b75ddce098cf9b5cac70a5a24ad1ab5c87c68","author":{"name":"Brian Smith","email":"1d28577c3a34c1ac08d512237ad32156e7267b61@briansmith.org"},"message":"Remove now-unused openssl/nid.h header.","distinct":true,"url":"https://api.github.com/repos/briansmith/ring/commits/8f6b75ddce098cf9b5cac70a5a24ad1ab5c87c68"}]}
{"actor":{"display_login":"briansmith"}}