cryptopp 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +4 -0
- data/Gemfile +14 -0
- data/Guardfile +17 -0
- data/MIT-LICENSE +1 -1
- data/Rakefile +20 -27
- data/VERSION +1 -0
- data/cryptopp.gemspec +7 -182
- data/ext/Rakefile +2 -2
- data/ext/ciphers.cpp +619 -619
- data/ext/cryptopp.cpp +220 -217
- data/ext/cryptopp_ruby_api.h +7 -7
- data/ext/defs/hashes.def +16 -0
- data/ext/defs/hmacs.def +16 -0
- data/ext/digests.cpp +635 -601
- data/ext/extconf.rb +61 -19
- data/ext/j3way.cpp +5 -5
- data/ext/j3way.h +6 -6
- data/ext/jadler32.h +6 -6
- data/ext/jaes.cpp +5 -5
- data/ext/jaes.h +6 -6
- data/ext/jarc4.cpp +5 -5
- data/ext/jarc4.h +6 -6
- data/ext/jbase.cpp +94 -94
- data/ext/jbase.h +49 -55
- data/ext/jbasiccipherinfo.h +23 -23
- data/ext/jblowfish.cpp +5 -5
- data/ext/jblowfish.h +6 -6
- data/ext/jcamellia.cpp +5 -7
- data/ext/jcamellia.h +6 -8
- data/ext/jcast128.cpp +5 -5
- data/ext/jcast128.h +6 -6
- data/ext/jcast256.cpp +5 -5
- data/ext/jcast256.h +6 -6
- data/ext/jcipher.cpp +62 -62
- data/ext/jcipher.h +24 -24
- data/ext/jcipher_t.h +383 -383
- data/ext/jconfig.h +29 -46
- data/ext/jconstants.h +120 -122
- data/ext/jcrc32.h +6 -6
- data/ext/jdes.cpp +5 -5
- data/ext/jdes.h +6 -6
- data/ext/jdes_ede2.cpp +5 -5
- data/ext/jdes_ede2.h +6 -6
- data/ext/jdes_ede3.cpp +5 -5
- data/ext/jdes_ede3.h +6 -6
- data/ext/jdes_xex3.cpp +5 -5
- data/ext/jdes_xex3.h +6 -6
- data/ext/jdiamond2.cpp +5 -5
- data/ext/jdiamond2.h +6 -6
- data/ext/jdiamond2lite.cpp +5 -5
- data/ext/jdiamond2lite.h +6 -6
- data/ext/jexception.h +5 -5
- data/ext/jgost.cpp +5 -5
- data/ext/jgost.h +6 -6
- data/ext/jhash.cpp +51 -51
- data/ext/jhash.h +22 -27
- data/ext/jhash_t.h +59 -59
- data/ext/jhaval.h +15 -15
- data/ext/jhelpers.cpp +54 -54
- data/ext/jhelpers.h +3 -3
- data/ext/jhmac.cpp +20 -20
- data/ext/jhmac.h +15 -15
- data/ext/jhmac_t.h +40 -72
- data/ext/jidea.cpp +5 -5
- data/ext/jidea.h +6 -6
- data/ext/jmarc4.cpp +5 -5
- data/ext/jmarc4.h +6 -6
- data/ext/jmars.cpp +5 -5
- data/ext/jmars.h +6 -6
- data/ext/jmd2.h +9 -9
- data/ext/jmd4.h +9 -9
- data/ext/jmd5.h +9 -9
- data/ext/jpanamacipher.cpp +7 -7
- data/ext/jpanamacipher.h +9 -9
- data/ext/jpanamahash.h +9 -9
- data/ext/jrc2.cpp +15 -15
- data/ext/jrc2.h +11 -11
- data/ext/jrc5.cpp +5 -5
- data/ext/jrc5.h +6 -6
- data/ext/jrc6.cpp +5 -5
- data/ext/jrc6.h +6 -6
- data/ext/jripemd160.h +28 -28
- data/ext/jsafer.cpp +7 -7
- data/ext/jsafer.h +9 -9
- data/ext/jseal.cpp +7 -7
- data/ext/jseal.h +9 -9
- data/ext/jserpent.cpp +5 -5
- data/ext/jserpent.h +6 -6
- data/ext/jsha.h +38 -37
- data/ext/jsha3.h +130 -0
- data/ext/jsha3_blocksizes.h +73 -0
- data/ext/jshacal2.cpp +5 -5
- data/ext/jshacal2.h +6 -6
- data/ext/jshark.cpp +5 -7
- data/ext/jshark.h +6 -8
- data/ext/jsink.cpp +57 -57
- data/ext/jsink.h +127 -123
- data/ext/jskipjack.cpp +5 -5
- data/ext/jskipjack.h +6 -6
- data/ext/jsquare.cpp +5 -5
- data/ext/jsquare.h +6 -6
- data/ext/jstream.cpp +3 -3
- data/ext/jstream.h +3 -3
- data/ext/jstream_t.h +74 -126
- data/ext/jtea.cpp +5 -5
- data/ext/jtea.h +6 -6
- data/ext/jtiger.h +9 -11
- data/ext/jtwofish.cpp +5 -5
- data/ext/jtwofish.h +6 -6
- data/ext/jwhirlpool.h +9 -11
- data/ext/utils.cpp +3 -3
- data/extras/parser_c.rb +102 -102
- data/test/ciphers_test.rb +24 -30
- data/test/data/ciphers/3desval.yml +13 -0
- data/test/data/ciphers/3wayval.yml +17 -0
- data/test/data/ciphers/arc4.yml +22 -0
- data/test/data/ciphers/blowfish.yml +9 -0
- data/test/data/ciphers/camellia.yml +21 -0
- data/test/data/ciphers/cast128v.yml +13 -0
- data/test/data/ciphers/cast256v.yml +13 -0
- data/test/data/ciphers/descert.yml +723 -0
- data/test/data/ciphers/diamond.yml +31 -0
- data/test/data/ciphers/gostval.yml +33 -0
- data/test/data/ciphers/ideaval.yml +45 -0
- data/test/data/ciphers/marsval.yml +37 -0
- data/test/data/ciphers/panamac.yml +11 -0
- data/test/data/ciphers/rc2val.yml +49 -0
- data/test/data/ciphers/rc5val.yml +26 -0
- data/test/data/ciphers/rc6val.yml +25 -0
- data/test/data/ciphers/rijndael.yml +37 -0
- data/test/data/ciphers/saferval.yml +77 -0
- data/test/data/ciphers/seal.yml +6 -0
- data/test/data/ciphers/serpentv.yml +37 -0
- data/test/data/ciphers/shacal2.yml +21 -0
- data/test/data/ciphers/sharkval.yml +29 -0
- data/test/data/ciphers/skipjack.yml +5 -0
- data/test/data/ciphers/squareva.yml +33 -0
- data/test/data/ciphers/twofishv.yml +37 -0
- data/test/data/digests/adler32.yml +19 -0
- data/test/data/digests/crc32.yml +25 -0
- data/test/data/digests/haval.yml +7 -0
- data/test/data/digests/havalcer.yml +1 -0
- data/test/data/digests/md2.yml +22 -0
- data/test/data/digests/md4.yml +22 -0
- data/test/data/digests/md5.yml +22 -0
- data/test/data/digests/panamah.yml +13 -0
- data/test/data/digests/ripemd.yml +97 -0
- data/test/data/digests/sha.yml +25 -0
- data/test/data/digests/sha3.yml +23 -0
- data/test/data/digests/tiger.yml +30 -0
- data/test/data/digests/whirlpool.yml +25 -0
- data/test/data/hmacs/hmac.yml +14 -0
- data/test/digests_test.rb +17 -23
- data/test/hmacs_test.rb +25 -31
- data/test/test_helper.rb +31 -37
- metadata +70 -82
- data/test/data/ciphers/3desval.dat +0 -7
- data/test/data/ciphers/3wayval.dat +0 -6
- data/test/data/ciphers/arc4.dat +0 -8
- data/test/data/ciphers/blowfish.dat +0 -5
- data/test/data/ciphers/camellia.dat +0 -7
- data/test/data/ciphers/cast128v.dat +0 -5
- data/test/data/ciphers/cast256v.dat +0 -5
- data/test/data/ciphers/descert.dat +0 -198
- data/test/data/ciphers/diamond.dat +0 -9
- data/test/data/ciphers/gostval.dat +0 -10
- data/test/data/ciphers/ideaval.dat +0 -13
- data/test/data/ciphers/marsval.dat +0 -11
- data/test/data/ciphers/panamac.dat +0 -7
- data/test/data/ciphers/rc2val.dat +0 -10
- data/test/data/ciphers/rc5val.dat +0 -7
- data/test/data/ciphers/rc6val.dat +0 -8
- data/test/data/ciphers/rijndael.dat +0 -11
- data/test/data/ciphers/saferval.dat +0 -27
- data/test/data/ciphers/seal.dat +0 -3
- data/test/data/ciphers/serpentv.dat +0 -11
- data/test/data/ciphers/shacal2.dat +0 -7
- data/test/data/ciphers/sharkval.dat +0 -9
- data/test/data/ciphers/skipjack.dat +0 -3
- data/test/data/ciphers/squareva.dat +0 -10
- data/test/data/ciphers/twofishv.dat +0 -11
- data/test/data/digests/adler32.dat +0 -8
- data/test/data/digests/crc32.dat +0 -10
- data/test/data/digests/haval.dat +0 -4
- data/test/data/digests/havalcer.dat +0 -23
- data/test/data/digests/md2.dat +0 -9
- data/test/data/digests/md4.dat +0 -9
- data/test/data/digests/md5.dat +0 -9
- data/test/data/digests/panamah.dat +0 -8
- data/test/data/digests/ripemd.dat +0 -43
- data/test/data/digests/sha.dat +0 -19
- data/test/data/digests/tiger.dat +0 -11
- data/test/data/digests/whirlpool.dat +0 -13
- data/test/data/hmacs/hmac.dat +0 -6
data/ext/jmd4.h
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
/*
|
|
3
|
-
* Copyright (c) 2002-
|
|
4
|
-
* Crypto++ copyright (c) 1995-
|
|
5
|
-
* See
|
|
3
|
+
* Copyright (c) 2002-2014 J Smith <dark.panda@gmail.com>
|
|
4
|
+
* Crypto++ copyright (c) 1995-2013 Wei Dai
|
|
5
|
+
* See MIT-LICENSE for the extact license
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
#ifndef __JMD4_H__
|
|
@@ -33,20 +33,20 @@ using namespace CryptoPP;
|
|
|
33
33
|
#if ENABLED_MD4_HASH
|
|
34
34
|
class JMD4 : public JHash_Template<Weak::MD4, MD4_HASH>
|
|
35
35
|
{
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
public:
|
|
37
|
+
JMD4(string plaintext = "") : JHash_Template<Weak::MD4, MD4_HASH>(plaintext) { }
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
static string getHashName() { return "MD4"; }
|
|
40
40
|
};
|
|
41
41
|
#endif
|
|
42
42
|
|
|
43
43
|
#if ENABLED_MD4_HMAC
|
|
44
44
|
class JMD4_HMAC : public JHMAC_Template<Weak::MD4, MD4_HMAC>
|
|
45
45
|
{
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
public:
|
|
47
|
+
JMD4_HMAC(string plaintext = "") : JHMAC_Template<Weak::MD4, MD4_HMAC>(plaintext) { }
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
static string getHashName() { return "MD4-HMAC"; }
|
|
50
50
|
};
|
|
51
51
|
#endif
|
|
52
52
|
|
data/ext/jmd5.h
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
/*
|
|
3
|
-
* Copyright (c) 2002-
|
|
4
|
-
* Crypto++ copyright (c) 1995-
|
|
5
|
-
* See
|
|
3
|
+
* Copyright (c) 2002-2014 J Smith <dark.panda@gmail.com>
|
|
4
|
+
* Crypto++ copyright (c) 1995-2013 Wei Dai
|
|
5
|
+
* See MIT-LICENSE for the extact license
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
#ifndef __JMD5_H__
|
|
@@ -33,20 +33,20 @@ using namespace CryptoPP;
|
|
|
33
33
|
#if ENABLED_MD5_HASH
|
|
34
34
|
class JMD5 : public JHash_Template<Weak::MD5, MD5_HASH>
|
|
35
35
|
{
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
public:
|
|
37
|
+
JMD5(string plaintext = "") : JHash_Template<Weak::MD5, MD5_HASH>(plaintext) { }
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
static string getHashName() { return "MD5"; }
|
|
40
40
|
};
|
|
41
41
|
#endif
|
|
42
42
|
|
|
43
43
|
#if ENABLED_MD5_HMAC
|
|
44
44
|
class JMD5_HMAC : public JHMAC_Template<Weak::MD5, MD5_HMAC>
|
|
45
45
|
{
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
public:
|
|
47
|
+
JMD5_HMAC(string plaintext = "") : JHMAC_Template<Weak::MD5, MD5_HMAC>(plaintext) { }
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
static string getHashName() { return "MD5-HMAC"; }
|
|
50
50
|
};
|
|
51
51
|
#endif
|
|
52
52
|
|
data/ext/jpanamacipher.cpp
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
/*
|
|
3
|
-
* Copyright (c) 2002-
|
|
4
|
-
* Crypto++ copyright (c) 1995-
|
|
5
|
-
* See
|
|
3
|
+
* Copyright (c) 2002-2014 J Smith <dark.panda@gmail.com>
|
|
4
|
+
* Crypto++ copyright (c) 1995-2013 Wei Dai
|
|
5
|
+
* See MIT-LICENSE for the extact license
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
#include "jpanamacipher.h"
|
|
@@ -10,23 +10,23 @@
|
|
|
10
10
|
#if ENABLED_PANAMA_LITTLE_ENDIAN_CIPHER
|
|
11
11
|
SymmetricCipher* JPanamaCipherLE::getEncryptionObject()
|
|
12
12
|
{
|
|
13
|
-
|
|
13
|
+
return new PanamaCipher<LittleEndian>::Encryption((byte*) itsKey.data(), itsKeylength, (byte*) itsIV.data());
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
SymmetricCipher* JPanamaCipherLE::getDecryptionObject()
|
|
17
17
|
{
|
|
18
|
-
|
|
18
|
+
return new PanamaCipher<LittleEndian>::Decryption((byte*) itsKey.data(), itsKeylength, (byte*) itsIV.data());
|
|
19
19
|
}
|
|
20
20
|
#endif
|
|
21
21
|
|
|
22
22
|
#if ENABLED_PANAMA_BIG_ENDIAN_CIPHER
|
|
23
23
|
SymmetricCipher* JPanamaCipherBE::getEncryptionObject()
|
|
24
24
|
{
|
|
25
|
-
|
|
25
|
+
return new PanamaCipher<BigEndian>::Encryption((byte*) itsKey.data(), itsKeylength, (byte*) itsIV.data());
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
SymmetricCipher* JPanamaCipherBE::getDecryptionObject()
|
|
29
29
|
{
|
|
30
|
-
|
|
30
|
+
return new PanamaCipher<BigEndian>::Decryption((byte*) itsKey.data(), itsKeylength, (byte*) itsIV.data());
|
|
31
31
|
}
|
|
32
32
|
#endif
|
data/ext/jpanamacipher.h
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
/*
|
|
3
|
-
* Copyright (c) 2002-
|
|
4
|
-
* Crypto++ copyright (c) 1995-
|
|
5
|
-
* See
|
|
3
|
+
* Copyright (c) 2002-2014 J Smith <dark.panda@gmail.com>
|
|
4
|
+
* Crypto++ copyright (c) 1995-2013 Wei Dai
|
|
5
|
+
* See MIT-LICENSE for the extact license
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
#ifndef __JPANAMACIPHER_H__
|
|
@@ -23,9 +23,9 @@ using namespace CryptoPP;
|
|
|
23
23
|
#if ENABLED_PANAMA_LITTLE_ENDIAN_CIPHER
|
|
24
24
|
class JPanamaCipherLE : public JStream_Template<PanamaCipherInfo<LittleEndian>, PANAMA_LITTLE_ENDIAN_CIPHER>
|
|
25
25
|
{
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
protected:
|
|
27
|
+
SymmetricCipher* getEncryptionObject();
|
|
28
|
+
SymmetricCipher* getDecryptionObject();
|
|
29
29
|
};
|
|
30
30
|
|
|
31
31
|
typedef JPanamaCipherLE JPanamaLittleEndianCipher;
|
|
@@ -34,9 +34,9 @@ typedef JPanamaCipherLE JPanamaLittleEndianCipher;
|
|
|
34
34
|
#if ENABLED_PANAMA_BIG_ENDIAN_CIPHER
|
|
35
35
|
class JPanamaCipherBE : public JStream_Template<PanamaCipherInfo<BigEndian>, PANAMA_BIG_ENDIAN_CIPHER>
|
|
36
36
|
{
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
protected:
|
|
38
|
+
SymmetricCipher* getEncryptionObject();
|
|
39
|
+
SymmetricCipher* getDecryptionObject();
|
|
40
40
|
};
|
|
41
41
|
|
|
42
42
|
typedef JPanamaCipherBE JPanamaBigEndianCipher;
|
data/ext/jpanamahash.h
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
/*
|
|
3
|
-
* Copyright (c) 2002-
|
|
4
|
-
* Crypto++ copyright (c) 1995-
|
|
5
|
-
* See
|
|
3
|
+
* Copyright (c) 2002-2014 J Smith <dark.panda@gmail.com>
|
|
4
|
+
* Crypto++ copyright (c) 1995-2013 Wei Dai
|
|
5
|
+
* See MIT-LICENSE for the extact license
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
#ifndef __JPANAMAHASH_H__
|
|
@@ -23,20 +23,20 @@ using namespace CryptoPP;
|
|
|
23
23
|
#if ENABLED_PANAMA_LITTLE_ENDIAN_HASH
|
|
24
24
|
class JPanamaHashLE : public JHash_Template<Weak::PanamaHash<LittleEndian>, PANAMA_LITTLE_ENDIAN_HASH>
|
|
25
25
|
{
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
public:
|
|
27
|
+
JPanamaHashLE(string plaintext = "") : JHash_Template<Weak::PanamaHash<LittleEndian>, PANAMA_LITTLE_ENDIAN_HASH>(plaintext) { }
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
static string getHashName() { return "Panama-LE Hash"; }
|
|
30
30
|
};
|
|
31
31
|
#endif
|
|
32
32
|
|
|
33
33
|
#if ENABLED_PANAMA_BIG_ENDIAN_HASH
|
|
34
34
|
class JPanamaHashBE : public JHash_Template<Weak::PanamaHash<BigEndian>, PANAMA_BIG_ENDIAN_HASH>
|
|
35
35
|
{
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
public:
|
|
37
|
+
JPanamaHashBE(string plaintext = "") : JHash_Template<Weak::PanamaHash<BigEndian>, PANAMA_BIG_ENDIAN_HASH>(plaintext) { }
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
static string getHashName() { return "Panama-BE Hash"; }
|
|
40
40
|
};
|
|
41
41
|
#endif
|
|
42
42
|
|
data/ext/jrc2.cpp
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
/*
|
|
3
|
-
* Copyright (c) 2002-
|
|
4
|
-
* Crypto++ copyright (c) 1995-
|
|
5
|
-
* See
|
|
3
|
+
* Copyright (c) 2002-2014 J Smith <dark.panda@gmail.com>
|
|
4
|
+
* Crypto++ copyright (c) 1995-2013 Wei Dai
|
|
5
|
+
* See MIT-LICENSE for the extact license
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
#include "jrc2.h"
|
|
@@ -11,34 +11,34 @@
|
|
|
11
11
|
|
|
12
12
|
JRC2::JRC2()
|
|
13
13
|
{
|
|
14
|
-
|
|
14
|
+
itsEffectiveKeylength = RC2_Info::DEFAULT_EFFECTIVE_KEYLENGTH;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
unsigned int JRC2::setEffectiveKeylength(const unsigned int keylength)
|
|
18
18
|
{
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
19
|
+
if (keylength > RC2_Info::MAX_EFFECTIVE_KEYLENGTH) {
|
|
20
|
+
itsEffectiveKeylength = RC2_Info::MAX_EFFECTIVE_KEYLENGTH;
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
itsEffectiveKeylength = keylength;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return itsEffectiveKeylength;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
unsigned int JRC2::getEffectiveKeylength() const
|
|
30
30
|
{
|
|
31
|
-
|
|
31
|
+
return itsEffectiveKeylength;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
BlockCipher* JRC2::getEncryptionObject()
|
|
35
35
|
{
|
|
36
|
-
|
|
36
|
+
return new RC2Encryption((byte*) itsKey.data(), itsKeylength, itsEffectiveKeylength);
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
BlockCipher* JRC2::getDecryptionObject()
|
|
40
40
|
{
|
|
41
|
-
|
|
41
|
+
return new RC2Decryption((byte*) itsKey.data(), itsKeylength, itsEffectiveKeylength);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
#endif
|
data/ext/jrc2.h
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
/*
|
|
3
|
-
* Copyright (c) 2002-
|
|
4
|
-
* Crypto++ copyright (c) 1995-
|
|
5
|
-
* See
|
|
3
|
+
* Copyright (c) 2002-2014 J Smith <dark.panda@gmail.com>
|
|
4
|
+
* Crypto++ copyright (c) 1995-2013 Wei Dai
|
|
5
|
+
* See MIT-LICENSE for the extact license
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
#ifndef __JRC2_H__
|
|
@@ -22,17 +22,17 @@ using namespace CryptoPP;
|
|
|
22
22
|
|
|
23
23
|
class JRC2 : public JCipher_Template<RC2_Info, RC2_CIPHER>
|
|
24
24
|
{
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
public:
|
|
26
|
+
JRC2();
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
unsigned int setEffectiveKeylength(const unsigned int keylength);
|
|
29
|
+
unsigned int getEffectiveKeylength() const;
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
protected:
|
|
32
|
+
BlockCipher* getEncryptionObject();
|
|
33
|
+
BlockCipher* getDecryptionObject();
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
unsigned int itsEffectiveKeylength;
|
|
36
36
|
};
|
|
37
37
|
|
|
38
38
|
#endif
|
data/ext/jrc5.cpp
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
/*
|
|
3
|
-
* Copyright (c) 2002-
|
|
4
|
-
* Crypto++ copyright (c) 1995-
|
|
5
|
-
* See
|
|
3
|
+
* Copyright (c) 2002-2014 J Smith <dark.panda@gmail.com>
|
|
4
|
+
* Crypto++ copyright (c) 1995-2013 Wei Dai
|
|
5
|
+
* See MIT-LICENSE for the extact license
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
#include "jrc5.h"
|
|
@@ -11,12 +11,12 @@
|
|
|
11
11
|
|
|
12
12
|
BlockCipher* JRC5::getEncryptionObject()
|
|
13
13
|
{
|
|
14
|
-
|
|
14
|
+
return new RC5Encryption((byte*) itsKey.data(), itsKeylength, itsRounds);
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
BlockCipher* JRC5::getDecryptionObject()
|
|
18
18
|
{
|
|
19
|
-
|
|
19
|
+
return new RC5Decryption((byte*) itsKey.data(), itsKeylength, itsRounds);
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
#endif
|
data/ext/jrc5.h
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
/*
|
|
3
|
-
* Copyright (c) 2002-
|
|
4
|
-
* Crypto++ copyright (c) 1995-
|
|
5
|
-
* See
|
|
3
|
+
* Copyright (c) 2002-2014 J Smith <dark.panda@gmail.com>
|
|
4
|
+
* Crypto++ copyright (c) 1995-2013 Wei Dai
|
|
5
|
+
* See MIT-LICENSE for the extact license
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
#ifndef __JRC5_H__
|
|
@@ -22,9 +22,9 @@ using namespace CryptoPP;
|
|
|
22
22
|
|
|
23
23
|
class JRC5 : public JCipher_Template<RC5_Info, RC5_CIPHER, 16, 1, INT_MAX>
|
|
24
24
|
{
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
protected:
|
|
26
|
+
BlockCipher* getEncryptionObject();
|
|
27
|
+
BlockCipher* getDecryptionObject();
|
|
28
28
|
};
|
|
29
29
|
|
|
30
30
|
#endif
|
data/ext/jrc6.cpp
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
/*
|
|
3
|
-
* Copyright (c) 2002-
|
|
4
|
-
* Crypto++ copyright (c) 1995-
|
|
5
|
-
* See
|
|
3
|
+
* Copyright (c) 2002-2014 J Smith <dark.panda@gmail.com>
|
|
4
|
+
* Crypto++ copyright (c) 1995-2013 Wei Dai
|
|
5
|
+
* See MIT-LICENSE for the extact license
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
#include "jrc6.h"
|
|
@@ -11,12 +11,12 @@
|
|
|
11
11
|
|
|
12
12
|
BlockCipher* JRC6::getEncryptionObject()
|
|
13
13
|
{
|
|
14
|
-
|
|
14
|
+
return new RC6Encryption((byte*) itsKey.data(), itsKeylength);
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
BlockCipher* JRC6::getDecryptionObject()
|
|
18
18
|
{
|
|
19
|
-
|
|
19
|
+
return new RC6Decryption((byte*) itsKey.data(), itsKeylength);
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
#endif
|
data/ext/jrc6.h
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
/*
|
|
3
|
-
* Copyright (c) 2002-
|
|
4
|
-
* Crypto++ copyright (c) 1995-
|
|
5
|
-
* See
|
|
3
|
+
* Copyright (c) 2002-2014 J Smith <dark.panda@gmail.com>
|
|
4
|
+
* Crypto++ copyright (c) 1995-2013 Wei Dai
|
|
5
|
+
* See MIT-LICENSE for the extact license
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
#ifndef __JRC6_H__
|
|
@@ -22,9 +22,9 @@ using namespace CryptoPP;
|
|
|
22
22
|
|
|
23
23
|
class JRC6 : public JCipher_Template<RC6_Info, RC6_CIPHER, 20, 1, INT_MAX>
|
|
24
24
|
{
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
protected:
|
|
26
|
+
BlockCipher* getEncryptionObject();
|
|
27
|
+
BlockCipher* getDecryptionObject();
|
|
28
28
|
};
|
|
29
29
|
|
|
30
30
|
#endif
|
data/ext/jripemd160.h
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
/*
|
|
3
|
-
* Copyright (c) 2002-
|
|
4
|
-
* Crypto++ copyright (c) 1995-
|
|
5
|
-
* See
|
|
3
|
+
* Copyright (c) 2002-2014 J Smith <dark.panda@gmail.com>
|
|
4
|
+
* Crypto++ copyright (c) 1995-2013 Wei Dai
|
|
5
|
+
* See MIT-LICENSE for the extact license
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
#ifndef __JRIPEMD160_H__
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
#include "jconfig.h"
|
|
12
12
|
|
|
13
13
|
#if ENABLED_RIPEMD128_HASH || ENABLED_RIPEMD160_HASH || ENABLED_RIPEMD256_HASH || ENABLED_RIPEMD320_HASH || \
|
|
14
|
-
|
|
14
|
+
ENABLED_RIPEMD128_HMAC || ENABLED_RIPEMD160_HMAC || ENABLED_RIPEMD256_HMAC || ENABLED_RIPEMD320_HMAC
|
|
15
15
|
|
|
16
16
|
#if ENABLED_RIPEMD128_HASH || ENABLED_RIPEMD160_HASH || ENABLED_RIPEMD256_HASH || ENABLED_RIPEMD320_HASH
|
|
17
17
|
#include "jhash_t.h"
|
|
@@ -30,40 +30,40 @@ using namespace CryptoPP;
|
|
|
30
30
|
#if ENABLED_RIPEMD128_HASH
|
|
31
31
|
class JRIPEMD128 : public JHash_Template<RIPEMD128, RIPEMD128_HASH>
|
|
32
32
|
{
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
public:
|
|
34
|
+
JRIPEMD128(string plaintext = "") : JHash_Template<RIPEMD128, RIPEMD128_HASH>(plaintext) { }
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
static string getHashName() { return "RIPEMD-128"; }
|
|
37
37
|
};
|
|
38
38
|
#endif
|
|
39
39
|
|
|
40
40
|
#if ENABLED_RIPEMD160_HASH
|
|
41
41
|
class JRIPEMD160 : public JHash_Template<RIPEMD160, RIPEMD160_HASH>
|
|
42
42
|
{
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
public:
|
|
44
|
+
JRIPEMD160(string plaintext = "") : JHash_Template<RIPEMD160, RIPEMD160_HASH>(plaintext) { }
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
static string getHashName() { return "RIPEMD-160"; }
|
|
47
47
|
};
|
|
48
48
|
#endif
|
|
49
49
|
|
|
50
50
|
#if ENABLED_RIPEMD256_HASH
|
|
51
51
|
class JRIPEMD256 : public JHash_Template<RIPEMD256, RIPEMD256_HASH>
|
|
52
52
|
{
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
public:
|
|
54
|
+
JRIPEMD256(string plaintext = "") : JHash_Template<RIPEMD256, RIPEMD256_HASH>(plaintext) { }
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
static string getHashName() { return "RIPEMD-256"; }
|
|
57
57
|
};
|
|
58
58
|
#endif
|
|
59
59
|
|
|
60
60
|
#if ENABLED_RIPEMD320_HASH
|
|
61
61
|
class JRIPEMD320 : public JHash_Template<RIPEMD320, RIPEMD320_HASH>
|
|
62
62
|
{
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
public:
|
|
64
|
+
JRIPEMD320(string plaintext = "") : JHash_Template<RIPEMD320, RIPEMD320_HASH>(plaintext) { }
|
|
65
65
|
|
|
66
|
-
|
|
66
|
+
static string getHashName() { return "RIPEMD-320"; }
|
|
67
67
|
};
|
|
68
68
|
#endif
|
|
69
69
|
|
|
@@ -72,40 +72,40 @@ class JRIPEMD320 : public JHash_Template<RIPEMD320, RIPEMD320_HASH>
|
|
|
72
72
|
#if ENABLED_RIPEMD128_HMAC
|
|
73
73
|
class JRIPEMD128_HMAC : public JHMAC_Template<RIPEMD128, RIPEMD128_HMAC>
|
|
74
74
|
{
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
public:
|
|
76
|
+
JRIPEMD128_HMAC(string plaintext = "") : JHMAC_Template<RIPEMD128, RIPEMD128_HMAC>(plaintext) { }
|
|
77
77
|
|
|
78
|
-
|
|
78
|
+
static string getHashName() { return "RIPEMD-128-HMAC"; }
|
|
79
79
|
};
|
|
80
80
|
#endif
|
|
81
81
|
|
|
82
82
|
#if ENABLED_RIPEMD160_HMAC
|
|
83
83
|
class JRIPEMD160_HMAC : public JHMAC_Template<RIPEMD160, RIPEMD160_HMAC>
|
|
84
84
|
{
|
|
85
|
-
|
|
86
|
-
|
|
85
|
+
public:
|
|
86
|
+
JRIPEMD160_HMAC(string plaintext = "") : JHMAC_Template<RIPEMD160, RIPEMD160_HMAC>(plaintext) { }
|
|
87
87
|
|
|
88
|
-
|
|
88
|
+
static string getHashName() { return "RIPEMD-160-HMAC"; }
|
|
89
89
|
};
|
|
90
90
|
#endif
|
|
91
91
|
|
|
92
92
|
#if ENABLED_RIPEMD256_HMAC
|
|
93
93
|
class JRIPEMD256_HMAC : public JHMAC_Template<RIPEMD256, RIPEMD256_HMAC>
|
|
94
94
|
{
|
|
95
|
-
|
|
96
|
-
|
|
95
|
+
public:
|
|
96
|
+
JRIPEMD256_HMAC(string plaintext = "") : JHMAC_Template<RIPEMD256, RIPEMD256_HMAC>(plaintext) { }
|
|
97
97
|
|
|
98
|
-
|
|
98
|
+
static string getHashName() { return "RIPEMD-256-HMAC"; }
|
|
99
99
|
};
|
|
100
100
|
#endif
|
|
101
101
|
|
|
102
102
|
#if ENABLED_RIPEMD320_HMAC
|
|
103
103
|
class JRIPEMD320_HMAC : public JHMAC_Template<RIPEMD320, RIPEMD320_HMAC>
|
|
104
104
|
{
|
|
105
|
-
|
|
106
|
-
|
|
105
|
+
public:
|
|
106
|
+
JRIPEMD320_HMAC(string plaintext = "") : JHMAC_Template<RIPEMD320, RIPEMD320_HMAC>(plaintext) { }
|
|
107
107
|
|
|
108
|
-
|
|
108
|
+
static string getHashName() { return "RIPEMD-320-HMAC"; }
|
|
109
109
|
};
|
|
110
110
|
#endif
|
|
111
111
|
|