private void testFF3_1Bounds() { String bigAlpha = "+-ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz"; IAlphabetMapper alphabetMapper = new BasicAlphabetMapper(bigAlpha); ff3_1Test(alphabetMapper, "467094C27E47978FE616F475215BF4F1", "ECC8AA7B87B41C", "9RwG+t8cKfa9JweBYgHAA6fHUShNZ5tc", "-DXMBhb3AFPq5Xf4oUva4WbB8eagGK2u"); ff3_1Test(alphabetMapper, "4DB04B58E97819015A08BA7A39A79C303968A34DB0936FAD", "26B3A632FAADFE", "k5Kop6xYpT0skr1zHHPEt5rPWQ4s4O-3", "JyWzuPL6SNsciOXdEgwnKZJxHiKaTu4Z"); ff3_1Test(alphabetMapper, "15567AA6CD8CCA401ADB6A10730655AEEC10E9101FD3969A", "379B9572B687A6", "ZpztPp90Oo5ekoNRzqArsAqAbnmM--W6", "NPxEDufvnYzVX3jxupv+iJOuPVpWRPjD"); try { ff3_1Test(alphabetMapper, "15567AA6CD8CCA401ADB6A10730655AEEC10E9101FD3969A", "379B9572B687A6", "ZpztPp90Oo5ekoNRzqArsAqAbnmM+-W6ZZ", "L1yx-4YLQG9W1P5yTI7Wp2h0IDcRoBq1kk"); Fail("no exception 1"); } catch (ArgumentException e) { IsEquals("maximum input length is 32", e.Message); } try { ff3_1Test(alphabetMapper, "15567AA6CD8CCA401ADB6A10730655AEEC10E9101FD3969A", "379B9572B687A6", "Z", "L"); Fail("no exception 2"); } catch (ArgumentException e) { IsEquals("input too short", e.Message); } try { alphabetMapper = new BasicAlphabetMapper("ABCDEFGHI"); ff3_1Test(alphabetMapper, "15567AA6CD8CCA401ADB6A10730655AEEC10E9101FD3969A", "379B9572B687A6", "AB", "ZZ"); Fail("no exception 3"); } catch (ArgumentException e) { IsEquals("input too short", e.Message); } }
public void testFF1Bounds() { byte[] key = Hex.Decode("339BB5B1F2D44BAABF87CA1B7380CDC8"); byte[] tweak = Hex.Decode("3F096DE35BFA31"); FpeEngine fpeEngine = new FpeFf1Engine(); try { IAlphabetMapper alphabetMapper = new BasicAlphabetMapper("ABCDEFGHI"); fpeEngine.Init(true, new FpeParameters(new KeyParameter(key), alphabetMapper.Radix, tweak)); process(fpeEngine, new byte[] { 1, 2, 3 }); Fail("no exception"); } catch (ArgumentException e) { IsEquals("input too short", e.Message); } try { IAlphabetMapper alphabetMapper = new BasicAlphabetMapper("ABCD"); fpeEngine.Init(true, new FpeParameters(new KeyParameter(key), alphabetMapper.Radix, tweak)); process(fpeEngine, new byte[] { 1, 2, 3 }); Fail("no exception"); } catch (ArgumentException e) { IsEquals("input too short", e.Message); } }