diff options
author | Peter Dettman <peter.dettman@bouncycastle.org> | 2015-11-21 17:24:57 +0700 |
---|---|---|
committer | Peter Dettman <peter.dettman@bouncycastle.org> | 2015-11-21 17:24:57 +0700 |
commit | 97267912729a6e6fcbe1cbf3bdd5604d0318c24f (patch) | |
tree | 3ba7a2c3200daaa9e6db826ac9cb52e09431b143 | |
parent | Merge branch 'master' of git.bouncycastle.org:bc-csharp into pcl (diff) | |
parent | Spelling (diff) | |
download | BouncyCastle.NET-ed25519-97267912729a6e6fcbe1cbf3bdd5604d0318c24f.tar.xz |
Merge branch 'master' of git.bouncycastle.org:bc-csharp into pcl
-rw-r--r-- | README.md | 2 | ||||
-rw-r--r-- | crypto/src/security/CipherUtilities.cs | 15 | ||||
-rw-r--r-- | crypto/src/security/GeneratorUtilities.cs | 12 | ||||
-rw-r--r-- | crypto/src/security/ParameterUtilities.cs | 3 | ||||
-rw-r--r-- | crypto/test/src/test/BlockCipherTest.cs | 12 |
5 files changed, 32 insertions, 12 deletions
diff --git a/README.md b/README.md index 05af7e35a..7a84e08d3 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ This version also supports .NET Core and CoreCLR # The Bouncy Castle Crypto Package For C Sharp -The Bouncy Castle Crypto package is a C\# implementation of cryptographic algorithms and protocols, it was developed by the Legion of the Bouncy Castle, a registered Australian Charity, with a little help! The Legion, and the latest goings on with this package, can be found at [http://www.bouncycastle.org](http://www.bouncycastle.org). In additiion to providing basic cryptography algorithms, the package also provides support for CMS, TSP, X.509 certificate generation and a variety of other standards such as OpenPGP. +The Bouncy Castle Crypto package is a C\# implementation of cryptographic algorithms and protocols, it was developed by the Legion of the Bouncy Castle, a registered Australian Charity, with a little help! The Legion, and the latest goings on with this package, can be found at [http://www.bouncycastle.org](http://www.bouncycastle.org). In addition to providing basic cryptography algorithms, the package also provides support for CMS, TSP, X.509 certificate generation and a variety of other standards such as OpenPGP. The Legion also gratefully acknowledges the contributions made to this package by others (see [here](http://www.bouncycastle.org/csharp/contributors.html) for the current list). If you would like to contribute to our efforts please feel free to get in touch with us or visit our [donations page](https://www.bouncycastle.org/donate), sponsor some specific work, or purchase a support contract through [Crypto Workshop](http://www.cryptoworkshop.com). diff --git a/crypto/src/security/CipherUtilities.cs b/crypto/src/security/CipherUtilities.cs index e09eff8d6..3217f3183 100644 --- a/crypto/src/security/CipherUtilities.cs +++ b/crypto/src/security/CipherUtilities.cs @@ -54,6 +54,9 @@ namespace Org.BouncyCastle.Security SERPENT, SKIPJACK, TEA, + THREEFISH_256, + THREEFISH_512, + THREEFISH_1024, TNEPRES, TWOFISH, VMPC, @@ -433,6 +436,15 @@ namespace Org.BouncyCastle.Security case CipherAlgorithm.TEA: blockCipher = new TeaEngine(); break; + case CipherAlgorithm.THREEFISH_256: + blockCipher = new ThreefishEngine(ThreefishEngine.BLOCKSIZE_256); + break; + case CipherAlgorithm.THREEFISH_512: + blockCipher = new ThreefishEngine(ThreefishEngine.BLOCKSIZE_512); + break; + case CipherAlgorithm.THREEFISH_1024: + blockCipher = new ThreefishEngine(ThreefishEngine.BLOCKSIZE_1024); + break; case CipherAlgorithm.TNEPRES: blockCipher = new TnepresEngine(); break; @@ -729,6 +741,9 @@ namespace Org.BouncyCastle.Security case CipherAlgorithm.SERPENT: return new SerpentEngine(); case CipherAlgorithm.SKIPJACK: return new SkipjackEngine(); case CipherAlgorithm.TEA: return new TeaEngine(); + case CipherAlgorithm.THREEFISH_256: return new ThreefishEngine(ThreefishEngine.BLOCKSIZE_256); + case CipherAlgorithm.THREEFISH_512: return new ThreefishEngine(ThreefishEngine.BLOCKSIZE_512); + case CipherAlgorithm.THREEFISH_1024: return new ThreefishEngine(ThreefishEngine.BLOCKSIZE_1024); case CipherAlgorithm.TNEPRES: return new TnepresEngine(); case CipherAlgorithm.TWOFISH: return new TwofishEngine(); case CipherAlgorithm.XTEA: return new XteaEngine(); diff --git a/crypto/src/security/GeneratorUtilities.cs b/crypto/src/security/GeneratorUtilities.cs index 2104a67ba..3beebd05b 100644 --- a/crypto/src/security/GeneratorUtilities.cs +++ b/crypto/src/security/GeneratorUtilities.cs @@ -109,6 +109,9 @@ namespace Org.BouncyCastle.Security AddKgAlgorithm("SERPENT"); AddKgAlgorithm("SKIPJACK"); AddKgAlgorithm("TEA"); + AddKgAlgorithm("THREEFISH-256"); + AddKgAlgorithm("THREEFISH-512"); + AddKgAlgorithm("THREEFISH-1024"); AddKgAlgorithm("TNEPRES"); AddKgAlgorithm("TWOFISH"); AddKgAlgorithm("VMPC"); @@ -180,13 +183,12 @@ namespace Org.BouncyCastle.Security AddDefaultKeySizeEntries(160, "HMACRIPEMD160", "HMACSHA1"); AddDefaultKeySizeEntries(192, "AES", "AES192", "CAMELLIA192", "DESEDE3", "HMACTIGER", "RIJNDAEL", "SERPENT", "TNEPRES"); - AddDefaultKeySizeEntries(224, "HMACSHA224"); + AddDefaultKeySizeEntries(224, "HMACSHA224", "HMACSHA512/224"); AddDefaultKeySizeEntries(256, "AES256", "CAMELLIA", "CAMELLIA256", "CAST6", "GOST28147", - "HC256", "HMACSHA256", "RC5-64", "RC6", "TWOFISH"); + "HC256", "HMACSHA256", "HMACSHA512/256", "RC5-64", "RC6", "THREEFISH-256", "TWOFISH"); AddDefaultKeySizeEntries(384, "HMACSHA384"); - AddDefaultKeySizeEntries(512, "HMACSHA512"); - AddDefaultKeySizeEntries(224, "HMACSHA512/224"); - AddDefaultKeySizeEntries(256, "HMACSHA512/256"); + AddDefaultKeySizeEntries(512, "HMACSHA512", "THREEFISH-512"); + AddDefaultKeySizeEntries(1024, "THREEFISH-1024"); } private static void AddDefaultKeySizeEntries(int size, params string[] algorithms) diff --git a/crypto/src/security/ParameterUtilities.cs b/crypto/src/security/ParameterUtilities.cs index 8fc3732f5..c12155878 100644 --- a/crypto/src/security/ParameterUtilities.cs +++ b/crypto/src/security/ParameterUtilities.cs @@ -104,6 +104,9 @@ namespace Org.BouncyCastle.Security AddAlgorithm("SERPENT"); AddAlgorithm("SKIPJACK"); AddAlgorithm("TEA"); + AddAlgorithm("THREEFISH-256"); + AddAlgorithm("THREEFISH-512"); + AddAlgorithm("THREEFISH-1024"); AddAlgorithm("TNEPRES"); AddAlgorithm("TWOFISH"); AddAlgorithm("VMPC"); diff --git a/crypto/test/src/test/BlockCipherTest.cs b/crypto/test/src/test/BlockCipherTest.cs index 9a7c6a944..e6f92b84e 100644 --- a/crypto/test/src/test/BlockCipherTest.cs +++ b/crypto/test/src/test/BlockCipherTest.cs @@ -268,12 +268,12 @@ namespace Org.BouncyCastle.Tests "6cd6f7c5d2c65555d2b31f8614f54ec654f5e7888d515008d59302c3edfcc6cb", "Twofish/CTR/NoPadding", "821c54b1b54ae113cf74595eefe10c83d09e95d4599190b9bbd5bc71dd703730", - //"Threefish-256/CTR/NoPadding", - //"546ea995dd302f1efcb1f27d14bad468280a3a7994c2af75dfdf1e9fc5ef2373", - //"Threefish-512/CTR/NoPadding", - //"152df966484ecc2e9ddfc386559732f7f632e4008920804a1bde4efcf2e6e2f2", - //"Threefish-1024/CTR/NoPadding", - //"03953ac751a7377812c6e3e4d14b36c6953f9b390acaa892811c10001c9be454", + "Threefish-256/CTR/NoPadding", + "546ea995dd302f1efcb1f27d14bad468280a3a7994c2af75dfdf1e9fc5ef2373", + "Threefish-512/CTR/NoPadding", + "152df966484ecc2e9ddfc386559732f7f632e4008920804a1bde4efcf2e6e2f2", + "Threefish-1024/CTR/NoPadding", + "03953ac751a7377812c6e3e4d14b36c6953f9b390acaa892811c10001c9be454", "RC2/CTR/NoPadding", "0a07cb78537cb04c8c5a0a39a15977a7eb19f3c48a42759c234868c391a99c63", "RC5/CTR/NoPadding", |