aboutsummaryrefslogtreecommitdiff
path: root/src/applets/SimpleECCApplet.java
Commit message (Collapse)AuthorAgeFilesLines
* major changes, ECTester rewrite, moved to valid packageJ08nY2017-01-171-1026/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | reader: ECTester, mostly rewritten SimpleAPDU - communication with applet now done through simpler instructions: allocate, set, generate, ecdh, ecdsa - moved to a valid Java package dir cz.crcs.ectester - SimpleAPDU: renamed to ECTester - CardMngr: seamlessly supports simulation vs real card - DirtyLogger: takes a nullable String and creates file - ECTester: currently only supports key generation, curve testing under way - supports external curve setting, example files in data package - tests can be done through files, to achieve a more modular approach - Util: static utility class - ParamReader: reads curve domain parameters and keys from simple csv-like human-readable files with hex strings applet: ECTesterApplet, rewrite of SimpleECCApplet - more granularity in instructions - moved complexity over to the reader side - ECKeyGenerator: now a class that takes KeyPair as param - ECKeyTester: now a class that takes KeyPair as param - EC_Consts: removed ecsp curves(now done externally), removed unused methods - ECTesterApplet: currently only tested instructions are: allocate, set, generate data: contains several curve and pubkey files in format supported by ParamReader - Prime field curves: p,a,b,gx,gy,r,k - Binary field curves: e1,a,b,gx,gy,r,k or e1,e2,e3,a,b,gx,gy,r,k - Public key: wx,wy - Private key: s - Key: wx,wy,s - all values are hex strings
* Fixed some issues with errors in key generation, and their propagationJ08nY2016-12-111-31/+32
|
* Added CLI options, Apache commons-cli lib, anomalous curve key exportJ08nY2016-12-101-7/+16
| | | | | | | | - Added CLI options, see SimpleAPDU.jar -h - Added Apache commons-cli for CLI options, it uses Apache license - Added support for anomalous curve export both reader/applet side: `java -jar SimpleAPDU.jar -g 10 -b 256 -fp -s` generates 10 curves over ECSP256 an anomalous 256bit curve.
* Changed ECSP curves, 192b and 521b, to ones that have a prime pubkey order.J08nY2016-11-301-0/+1
|
* Fixed small-pub degree test, still crashes most cards.J08nY2016-11-301-5/+7
|
* fixed small pubkey order test, this times out on some ↵J08nY2016-11-281-6/+9
| | | | | | cards(SCARD_E_NOT_TRANSACTED) yet some cards run fine and report illegal value.
* Added test for small public key degree in ECDHJ08nY2016-11-281-8/+56
|
* Added tests for non-prime p, ECDSA into the main test suite.J08nY2016-11-261-5/+56
| | | | Also fixed ECDSA test.
* Merge branch 'devel' of github.com:petrs/ECTester into develJ08nY2016-11-211-37/+70
|\
| * Added support for multiple readerspetrs2016-11-181-25/+63
| | | | | | | | Added support for mass gathering of ECC keys (refactoring needed)
* | ECKeyGenerator: fixes to key genertion,J08nY2016-11-211-14/+15
| | | | | | | | | | | | | | | | ECKeyTester: fixed ECDH/ECDHC pubkey length issue. EC_Consts: fixed decompressG and getCurveParameter array copy mismatch SimpleECCApplet: fixed B parameter test All tests now pass as before.
* | Implemented External curve setting on applet sideJ08nY2016-11-211-8/+161
| | | | | | | | | | | | | | | | SimpleECCApplet: added TestEC_SupportExternal which receives an FP or F2M elliptic curve parameters in an APDU, sets it and tries ECDH, ECDSA. ECKeyGenerator: added setExternalCurve, which reads and sets external parameters from one buffer, with data order: field | a | b | g | r | k
* | EC_Consts: made parameters maskableJ08nY2016-11-211-9/+14
| | | | | | | | | | | | ECKeyGenerator: since parameters are maskable, one can now setCustomInvalidCurve(curve, PARAMETER_A | PARAMETER_B,...) and the resulting curve will have both A and B invalid.
* | EC_Consts: added F2M curve support, + F2M curve sect163r1 to startJ08nY2016-11-211-448/+249
|/
* EC curve testing in separate apdu due to weird behavior of some cards after ↵v0.0.3petrs2016-10-041-1/+21
| | | | multiple errors within single apdu
* corruption of parameter B addedpetrs2016-10-031-22/+143
|
* valid/invalid B set also into private keypetrs2016-09-291-0/+2
|
* added test which repeatedly tries to set invalid B parameter and generate ↵petrs2016-09-271-3/+155
| | | | new keypair with it (shoudl fail)
* more systematic was how to skip tests which are stictly dependent on ↵petrs2016-09-091-99/+144
| | | | previous test which must succedd
* removal of leftover codev0.0.1v0petrs2016-09-091-133/+101
|
* testing of EC F2M curves added (no predefined curves yet, just default ones)petrs2016-09-091-5/+22
|
* - added curve secp384r1petrs2016-09-081-5/+67
| | | | | - added test for ECDH secret generation: valid and invalid point - output beautification
* - added testing of EC_FP 128-521bits (KeyPair allocation, gen key with def. ↵petrs2016-09-081-107/+287
| | | | | | curve, set custom curve, gen keypair with custom curve, set invalid curve, gen keypair with invalid curve) - parsing code with formating and printing
* initial commitpetrs2016-09-081-0/+351