aboutsummaryrefslogtreecommitdiff
path: root/src/cz/crcs/ectester/applet/ECKeyTester.java
Commit message (Collapse)AuthorAgeFilesLines
* explicit support for reallocation of KeyAgreement engine with provided typepetrs2017-06-161-6/+9
|
* Fix ECDH testsJ08nY2017-06-021-0/+45
|
* Added support for extended APDUs, fixed problems with large cmdsJ08nY2017-05-041-6/+5
| | | | | | | | | | | - Switched ECTesterApplet to Javacard 2.2.2 which supports Extended length APDUs (necessary for some Set commands when a large external curve is sent to the applet) - The incoming APDU is now copied over to a sufficiently large buffer before being processed - Simplified instruction processing logic - Renamed ECUtil to AppletUtil - Fixed padding error in nist/P-521
* Change EC_Consts.CORRUPTION_* into a short that's maskableJ08nY2017-05-011-43/+42
|
* Fix some test-vector tests, also test printingJ08nY2017-04-191-4/+23
|
* Refactor testing, add Config class, make EC_Data read bytesJ08nY2017-04-191-26/+23
| | | | | | | | | | | | - The ECTester.Config class now stores and reads all CLI options - Testing with the -t / --test option was partially refactored into: - Test: Encapsulates one Command and Response pair with expected result, a real result and a callback to dynamically assign result - TestSuite: Encapsulates a bunch of tests, represents a whole category of tests either that can be run on any curve or only on some.
* Add invalid curves test(partly) and some parameters (brainpool) for itJ08nY2017-04-151-0/+29
| | | | | | | | | - curves.xml, keys.xml and results.xml's entries can now instead of file path to point to csv file, contain the csv data inline. - Moved EC_Category to reader package from data - Fixed printing of named objects - Added ECDH/C test for KA_BOTH which does ECDH and ECDHC on the applet side, compares the results and reports success/failure etc.
* Added more documentation, anomalous curves, support command.J08nY2017-03-301-0/+12
| | | | | | | | | | | | | - Added CURVES.md, FORMAT.md and TESTS.md that talk a bit about what ECTester actually does/support. - Added anomalous curves (where |F_p| = #|E(F_p)|), meaning these curves have a trace of one and ECDLP over them reduces to easy DLP over multiplicative F*_p. These concrete curves are from Atsuko Miyaji's paper: Elliptic curves over F_p Suitable for Cryptosystems. - Added Support command that queries the results of KeyAgreement and Signature allocations. - Renamed smallpub curves to nonprime curves. - Fixed nonprime curves test suite.
* Refactored EC_Params, renamed EC_Data, added first test vectors.J08nY2017-03-261-1/+4
|
* Implemented ECDHC testing.J08nY2017-03-241-2/+1
| | | | | | - also some work on ECDH/ECDHC compatibility testing - new option -dhc / --ecdhc [count] the same as ecdh option, except it does ECDHC algo
* Added new corruption type and X962 point compression methods.J08nY2017-03-221-2/+2
|
* Applet: better handling of exceptions, new command for memory cleanup.J08nY2017-03-171-15/+6
|
* Cleanup, add ECDH corruption tests.J08nY2017-03-161-28/+8
| | | | | | | | | | | Reader: - added ECDH corruption tests - fixed EC_Data keys.xml search path - added more output to --list-named / -ln Both: - changed up ECDH command to support arbitrary temporary pubkey corruption
* Added export instruction, and action to readerJ08nY2017-01-311-12/+10
| | | | | | | | | | One can now export the default domain parameters of the card/simulation with: `ectester.jar -e -fp -b 192 -o params.txt` - Renamed ParamReader to ECParams - Added Command.Export and Response.Export - Moved ECKeyGenerator.KEY_* to EC_Consts.KEY_*
* major changes, ECTester rewrite, moved to valid packageJ08nY2017-01-171-0/+184
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