summaryrefslogtreecommitdiffstats
path: root/CryptoPP/dsa.cpp
diff options
context:
space:
mode:
authorTiger Wang <ziwei.tiger@hotmail.co.uk>2013-08-16 12:25:53 +0200
committerTiger Wang <ziwei.tiger@hotmail.co.uk>2013-08-16 12:25:53 +0200
commitcbde4f546a3135d9889b37aa227468106958a94a (patch)
tree0444a5f3d1797a01fb6a4c01def9933084652e8c /CryptoPP/dsa.cpp
parentFeature and bugfixes [SEE DESC] (diff)
parentReplaced E_ENTITY_TYPE_XXX with cMonster::mtXXX. (diff)
downloadcuberite-cbde4f546a3135d9889b37aa227468106958a94a.tar
cuberite-cbde4f546a3135d9889b37aa227468106958a94a.tar.gz
cuberite-cbde4f546a3135d9889b37aa227468106958a94a.tar.bz2
cuberite-cbde4f546a3135d9889b37aa227468106958a94a.tar.lz
cuberite-cbde4f546a3135d9889b37aa227468106958a94a.tar.xz
cuberite-cbde4f546a3135d9889b37aa227468106958a94a.tar.zst
cuberite-cbde4f546a3135d9889b37aa227468106958a94a.zip
Diffstat (limited to 'CryptoPP/dsa.cpp')
-rw-r--r--CryptoPP/dsa.cpp56
1 files changed, 0 insertions, 56 deletions
diff --git a/CryptoPP/dsa.cpp b/CryptoPP/dsa.cpp
index ac9e1f8c6..5aace4857 100644
--- a/CryptoPP/dsa.cpp
+++ b/CryptoPP/dsa.cpp
@@ -58,62 +58,6 @@ size_t DSAConvertSignatureFormat(byte *buffer, size_t bufferSize, DSASignatureFo
return (size_t)sink.TotalPutLength();
}
-bool DSA::GeneratePrimes(const byte *seedIn, unsigned int g, int &counter,
- Integer &p, unsigned int L, Integer &q, bool useInputCounterValue)
-{
- assert(g%8 == 0);
-
- SHA sha;
- SecByteBlock seed(seedIn, g/8);
- SecByteBlock U(SHA::DIGESTSIZE);
- SecByteBlock temp(SHA::DIGESTSIZE);
- SecByteBlock W(((L-1)/160+1) * SHA::DIGESTSIZE);
- const int n = (L-1) / 160;
- const int b = (L-1) % 160;
- Integer X;
-
- sha.CalculateDigest(U, seed, g/8);
-
- for (int i=g/8-1, carry=true; i>=0 && carry; i--)
- carry=!++seed[i];
-
- sha.CalculateDigest(temp, seed, g/8);
- xorbuf(U, temp, SHA::DIGESTSIZE);
-
- U[0] |= 0x80;
- U[SHA::DIGESTSIZE-1] |= 1;
- q.Decode(U, SHA::DIGESTSIZE);
-
- if (!IsPrime(q))
- return false;
-
- int counterEnd = useInputCounterValue ? counter+1 : 4096;
-
- for (int c = 0; c < counterEnd; c++)
- {
- for (int k=0; k<=n; k++)
- {
- for (int i=g/8-1, carry=true; i>=0 && carry; i--)
- carry=!++seed[i];
- if (!useInputCounterValue || c == counter)
- sha.CalculateDigest(W+(n-k)*SHA::DIGESTSIZE, seed, g/8);
- }
- if (!useInputCounterValue || c == counter)
- {
- W[SHA::DIGESTSIZE - 1 - b/8] |= 0x80;
- X.Decode(W + SHA::DIGESTSIZE - 1 - b/8, L/8);
- p = X-((X % (2*q))-1);
-
- if (p.GetBit(L-1) && IsPrime(p))
- {
- counter = c;
- return true;
- }
- }
- }
- return false;
-}
-
NAMESPACE_END
#endif