diff options
| author | J08nY | 2018-06-28 17:15:30 +0200 |
|---|---|---|
| committer | J08nY | 2018-06-28 17:15:30 +0200 |
| commit | 07cfc81f909ebeee6ea88a5671749bc44e5c6769 (patch) | |
| tree | f6209e09b0facdc7fa1040a844ebcd3347bb8fb8 | |
| parent | f00b363143885905bb4ab29642461d2b7e299d04 (diff) | |
| download | ECTester-07cfc81f909ebeee6ea88a5671749bc44e5c6769.tar.gz ECTester-07cfc81f909ebeee6ea88a5671749bc44e5c6769.tar.zst ECTester-07cfc81f909ebeee6ea88a5671749bc44e5c6769.zip | |
| -rw-r--r-- | docs/TESTS.md | 4 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/data/composite/curves.xml | 87 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/reader/test/CardWrongCurvesSuite.java | 2 |
3 files changed, 56 insertions, 37 deletions
diff --git a/docs/TESTS.md b/docs/TESTS.md index ebb8150..c62234b 100644 --- a/docs/TESTS.md +++ b/docs/TESTS.md @@ -65,6 +65,10 @@ This test suite also does some additional tests with corrupting the field parame - p = 1 - p = q^2; q prime - p = q * s; q and s prime + - G = infinity + - G = random point not on curve + - r = some prime (and \[r\]G != infinity) + - r = some composite number (and \[r\]G != infinity) - F2m: - e1 = e2 = e3 = 0 - m < e1 < e2 < e3 diff --git a/src/cz/crcs/ectester/data/composite/curves.xml b/src/cz/crcs/ectester/data/composite/curves.xml index 4d6a16a..a1abe2e 100644 --- a/src/cz/crcs/ectester/data/composite/curves.xml +++ b/src/cz/crcs/ectester/data/composite/curves.xml @@ -6,83 +6,98 @@ <bits>128</bits> <field>prime</field> <file>composite128.csv</file> - </curve> - <curve> - <id>small/composite128</id> - <bits>128</bits> - <field>prime</field> - <file>composite128_small.csv</file> + <desc>r = order = 0x03 * 0x05 * 0x3b * 0x3a107e02cd073c8e24bf55730f1733</desc> </curve> <curve> <id>whole/composite160</id> <bits>160</bits> <field>prime</field> <file>composite160.csv</file> - </curve> - <curve> - <id>small/composite160</id> - <bits>160</bits> - <field>prime</field> - <file>composite160_small.csv</file> + <desc>r = order = 0x02 * 0x03 * 0x6b * 0x1ee99b75143833bbc11d409601c25f9566a001</desc> </curve> <curve> <id>whole/composite192</id> <bits>192</bits> <field>prime</field> <file>composite192.csv</file> - </curve> - <curve> - <id>small/composite192</id> - <bits>192</bits> - <field>prime</field> - <file>composite192_small.csv</file> + <desc>r = order = 0x02 * 0x03 * 0x05 * 0x13 * 0x19bc3c00e2a7ad9e40d12e5d9e29a2b5ce80b3a3e84295</desc> </curve> <curve> <id>whole/composite224</id> <bits>224</bits> <field>prime</field> <file>composite224.csv</file> - </curve> - <curve> - <id>small/composite224</id> - <bits>224</bits> - <field>prime</field> - <file>composite224_small.csv</file> + <desc>r = order = 0x02 * 0x03 * 0x1d * 0x1538e6a6dc906d724a7bf51c77bce9d46865bd92d8bca01f887405</desc> </curve> <curve> <id>whole/composite256</id> <bits>256</bits> <field>prime</field> <file>composite256.csv</file> - </curve> - <curve> - <id>small/composite256</id> - <bits>256</bits> - <field>prime</field> - <file>composite256_small.csv</file> + <desc>r = order = 0x02 * 0x05 * 0x11 * 0x1382cadcdd2b90b90b81eda82433bf574b5d8f5654dcc62341c7e967f2e811</desc> </curve> <curve> <id>whole/composite384</id> <bits>384</bits> <field>prime</field> <file>composite384.csv</file> - </curve> - <curve> - <id>small/composite384</id> - <bits>384</bits> - <field>prime</field> - <file>composite384_small.csv</file> + <desc>r = order = 0x05 * 0x0b * 0x3d * 0xb16aa7dc50145337cf1b2f38018ccb5cf44c22a2f7d7c22bbe5c572d2cb9a04cb1081357c6a1c97cc39ab62596867</desc> </curve> <curve> <id>whole/composite521</id> <bits>521</bits> <field>prime</field> <file>composite521.csv</file> + <desc>r = order = 0x02 * 0x05 * 0x1f * 0x4a5aac4fac3ea253b66c3e650f5173b30467f28b8e841d37ce69bb0831a5939ad3dd082b750577ec4592d4d58916c87a9b732d8ddae435c26f8f779d2467f50f</desc> + </curve> + + <curve> + <id>small/composite128</id> + <bits>128</bits> + <field>prime</field> + <file>composite128_small.csv</file> + <desc>r = 0x03</desc> + </curve> + <curve> + <id>small/composite160</id> + <bits>160</bits> + <field>prime</field> + <file>composite160_small.csv</file> + <desc>r = 0x03</desc> + </curve> + <curve> + <id>small/composite192</id> + <bits>192</bits> + <field>prime</field> + <file>composite192_small.csv</file> + <desc>r = 0x03</desc> + </curve> + <curve> + <id>small/composite224</id> + <bits>224</bits> + <field>prime</field> + <file>composite224_small.csv</file> + <desc>r = 0x03</desc> + </curve> + <curve> + <id>small/composite256</id> + <bits>256</bits> + <field>prime</field> + <file>composite256_small.csv</file> + <desc>r = 0x05</desc> + </curve> + <curve> + <id>small/composite384</id> + <bits>384</bits> + <field>prime</field> + <file>composite384_small.csv</file> + <desc>r = 0x05</desc> </curve> <curve> <id>small/composite521</id> <bits>521</bits> <field>prime</field> <file>composite521_small.csv</file> + <desc>r = 0x05</desc> </curve> </curves>
\ No newline at end of file diff --git a/src/cz/crcs/ectester/reader/test/CardWrongCurvesSuite.java b/src/cz/crcs/ectester/reader/test/CardWrongCurvesSuite.java index f95a386..8b648b9 100644 --- a/src/cz/crcs/ectester/reader/test/CardWrongCurvesSuite.java +++ b/src/cz/crcs/ectester/reader/test/CardWrongCurvesSuite.java @@ -111,8 +111,8 @@ public class CardWrongCurvesSuite extends CardTestSuite { Test resetSetup = CompoundTest.all(ExpectedValue.SUCCESS, "Reset keypair.", set.clone()); - Test zeroG = ecdhTest(new Command.Transform(this.card, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.KEY_BOTH, EC_Consts.PARAMETER_G, EC_Consts.TRANSFORMATION_INFINITY), "Set G = inifnity.", "ECDH with G = infinity."); Test randomG = ecdhTest(new Command.Transform(this.card, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.KEY_BOTH, EC_Consts.PARAMETER_G, (short) (EC_Consts.TRANSFORMATION_FULLRANDOM | EC_Consts.TRANSFORMATION_04_MASK)), "Set G = random non-point/point-like.", "ECDH with non-point G."); + Test zeroG = ecdhTest(new Command.Transform(this.card, ECTesterApplet.KEYPAIR_BOTH, EC_Consts.KEY_BOTH, EC_Consts.PARAMETER_G, EC_Consts.TRANSFORMATION_INFINITY), "Set G = inifnity.", "ECDH with G = infinity."); Test wrongG = CompoundTest.all(ExpectedValue.SUCCESS, "Tests with corrupted G parameter.", zeroG, randomG); byte[] originalR = new byte[keyLength]; |
