summaryrefslogtreecommitdiffstats
path: root/crypto/p224.cc
Commit message (Collapse)AuthorAgeFilesLines
* clean up code at crypto folder.rucifer1217@gmail.com2014-07-221-2/+2
| | | | | | | | BUG=none Review URL: https://codereview.chromium.org/407713002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@284547 0039d316-1c4b-4281-b951-d872f2087c98
* crypto: special case ∞+a, a+∞ and a+a in p224.agl@chromium.org2012-07-271-43/+99
| | | | | | | | | | | | | | | | | | | | In unrelated work, I found that the group addition formula used in p224.cc doesn't work when one of the arguments is the point at infinity. This change catches that case and simplifies the ScalarMult loop as a consequence. In the course of doing this, I found a couple of bugs in Contract that would have produced the wrong answer is very rare cases. I also added a catch for a+a. This can't happen in the ScalarMult loop, but it could happen from SPAKE2 at a rate of 1 in ~2**220 evaluations. BUG=none TEST=crypto_unittests Review URL: https://chromiumcodereview.appspot.com/10822019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148815 0039d316-1c4b-4281-b951-d872f2087c98
* Add base::HostToNetXX() & NetToHostXX(), and use them to replace htonX() & ↵wez@chromium.org2012-03-281-23/+24
| | | | | | | | | | | | | | ntohX() in Chrome. This primarily addresses issues with code using the OS-provided htonX() & ntohX() functions from within the Chrome sandbox. Under Windows these functions are provided by ws2_32.dll, which is no longer available within Chrome's sandbox. The new base::HostToNetXX() and NetToHostXX() functions are safe for use by sandboxed code on Windows, and provide a single place where future fixes for other platforms can be made. BUG=117252 Review URL: http://codereview.chromium.org/9716020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129476 0039d316-1c4b-4281-b951-d872f2087c98
* Avoid loading ws2_32.dll just to get htons() and friends.wez@chromium.org2012-03-061-0/+8
| | | | | | | | | | | | Chrome does not load ws2_32.dll into the renderer sandbox, so code calling these functions would fail attempting to load the DLL. This CL replaces the calls with direct use of the MSVC byte-swap intrinsics. BUG=115477,116591 TEST=Chromoting client does not crash on connect on Windows. Review URL: http://codereview.chromium.org/9614004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125110 0039d316-1c4b-4281-b951-d872f2087c98
* crypto: P224::Contract could produce a non-minimal representation.agl@chromium.org2012-01-311-2/+35
| | | | | | | | | | | | | | | I missed an overflow in Contract because I suspected that the prime elimination would take care of it. It didn't, and I forgot to get back to the overflow. Because of this, Contract may have produced a non-minimal representation, causing flakey failures ~0.02% of the time. BUG=110972 TEST=crypto_unittests Review URL: http://codereview.chromium.org/9104013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119775 0039d316-1c4b-4281-b951-d872f2087c98
* Move net/base/sys_byteorder.h to base/sys_byteorder.hisherman@chromium.org2011-12-281-8/+1
| | | | | | | | | | | | | | Two motivations: (1) There are currently clients in src/crypto that need the same logic. (2) There is soon to be a client in src/chrome/common that needs the 64-bit version of this logic, which is currently inlined in a src/crypto implementation file. BUG=103480 TEST=compiles Review URL: http://codereview.chromium.org/8949026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115926 0039d316-1c4b-4281-b951-d872f2087c98
* Revert revert 108866 - crypto: add simple P224 implementation.agl@chromium.org2011-11-071-0/+652
| | | | | | (Landed in r108866, reverted in r108869 due to shared library build issues.) git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108903 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 108866 - crypto: add simple P224 implementation.jkummerow@chromium.org2011-11-071-652/+0
| | | | | | | | | | | | | | | This is intended to be the underlying group for an EKE implementation for Remoting. BUG=none TEST=crypto_unittests Review URL: http://codereview.chromium.org/8431007 TBR=agl@chromium.org Review URL: http://codereview.chromium.org/8467016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108869 0039d316-1c4b-4281-b951-d872f2087c98
* crypto: add simple P224 implementation.agl@chromium.org2011-11-071-0/+652
This is intended to be the underlying group for an EKE implementation for Remoting. BUG=none TEST=crypto_unittests Review URL: http://codereview.chromium.org/8431007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108866 0039d316-1c4b-4281-b951-d872f2087c98