aboutsummaryrefslogtreecommitdiff
path: root/src/cz/crcs/ectester/reader/ECTester.java
Commit message (Collapse)AuthorAgeFilesLines
* Update README and help.J08nY2017-10-261-1/+3
|
* Introduce a Result class, that has a value and a cause.J08nY2017-10-251-5/+5
|
* Split ResponseWriter into separate class, introduce TestRunner.J08nY2017-10-251-18/+25
|
* Split TestSuite classes into separate files.J08nY2017-10-251-6/+6
|
* Fix output when missing output format option.J08nY2017-10-241-1/+1
|
* Implement YAMLOutputWriter.J08nY2017-10-241-1/+1
|
* Add SnakeYAML library to output YAML.J08nY2017-10-241-3/+8
|
* Rename some OutputWriter methods, add YAMLOutputWriter.J08nY2017-10-241-5/+5
|
* Implement a basic XMLOutputWriter.J08nY2017-10-161-1/+4
|
* Refactor response and test outputing into separate writers.J08nY2017-10-151-26/+57
| | | | | This is done to provide multiple output formats, one which logs tests to console in simple human readable format and others.
* Reorganize reader packages.J08nY2017-10-131-0/+3
|
* Init and print EC_Key/EC_Keypair id when available.J08nY2017-10-131-1/+1
|
* Rename nonprime curves to -> composite curves.J08nY2017-10-131-4/+4
|
* explicit support for reallocation of KeyAgreement engine with provided typepetrs2017-06-161-0/+7
|
* Add printing of curve refresh command when generating.J08nY2017-06-021-1/+2
|
* Fix logging to file, add -y / --yes option to force yesJ08nY2017-05-241-12/+25
|
* Added support for extended APDUs, fixed problems with large cmdsJ08nY2017-05-041-0/+8
| | | | | | | | | | | - 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
* Move Default test suite to real TestsJ08nY2017-05-011-7/+10
|
* Move tests to TestSuitesJ08nY2017-04-271-281/+53
|
* Fix some test-vector tests, also test printingJ08nY2017-04-191-4/+1
|
* Refactor testing, add Config class, make EC_Data read bytesJ08nY2017-04-191-356/+310
| | | | | | | | | | | | - 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-81/+34
| | | | | | | | | - 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.
* Some docs, allow EC_* objects to print themselves.J08nY2017-04-041-11/+16
|
* Added more documentation, anomalous curves, support command.J08nY2017-03-301-23/+35
| | | | | | | | | | | | | - 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.
* Added test-vectors, and test-vector testingJ08nY2017-03-281-7/+48
|
* Added nist and brainpool test vectors, also smallpub testJ08nY2017-03-281-5/+13
|
* Added new curves, started adding default & dangerous tests.J08nY2017-03-271-44/+98
|
* Refactored EC_Params, renamed EC_Data, added first test vectors.J08nY2017-03-261-59/+80
|
* Fixed loading private key from file.J08nY2017-03-251-1/+1
|
* Implemented ECDHC testing.J08nY2017-03-241-9/+18
| | | | | | - 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-3/+3
|
* Added Cleanup command to request object deletion, prevents memory corruption.J08nY2017-03-171-12/+15
|
* Applet: better handling of exceptions, new command for memory cleanup.J08nY2017-03-171-74/+113
|
* Cleanup, add ECDH corruption tests.J08nY2017-03-161-22/+71
| | | | | | | | | | | 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
* fix mistypeJ08nY2017-03-141-1/+1
|
* Created a new command: CorruptJ08nY2017-03-141-9/+9
| | | | | Originaly a part of a set command, now allows more control of keypairs
* Reader: fixed ECDH and ECDSA output, also named curve testingJ08nY2017-03-091-8/+23
|
* Reader: added verbose flag, made CardMngr quiet.J08nY2017-03-071-2/+9
|
* Added timing output to responses, added bulk ECDH/ECDSA testing.J08nY2017-03-071-47/+92
|
* Added support for named curves (in jar).J08nY2017-03-061-50/+169
| | | | | - Doesn't work well while simulating, some weird memory bug. Will investigate. - Has categories of curves, more will be added.
* removed newlines, changed f2m format, removed old SimpleAPDUJ08nY2017-02-211-22/+64
| | | | | | | | | | | | | | data: - now truly csv - f2m format now: m,e_1,e_2,e_3,a,b,gx,gy,r,k,wx,wy,s reader: - removed SimpleAPDU - changed f2m format applet: - changed f2m format
* Added export instruction, and action to readerJ08nY2017-01-311-100/+96
| | | | | | | | | | 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_*
* Added option to generate fresh keys(-f) also implemented basic ECC testingJ08nY2017-01-271-36/+85
| | | | | | | | - Added -f/--fresh - Fixed response align - Implemented basic EC testing, more advanced/complex tests are gonna be done through pre-generated files/curves/keys inside the jar or externally. Such as the invalid curve attack test and others.
* reader: Added a Command and Response abstractionJ08nY2017-01-221-139/+46
| | | | | | | | | | | | | - For easier testing - Command assembles the correct instruction from params in its constructor - Command.send() sends the command and obtains the Response with timing - Response parses the ResponseAPDU in its constructor and provides convenience methods to access its contents/SWs/success /failure/print data: Added more curves
* reader: fixed -h optionJ08nY2017-01-171-2/+6
|
* reader: implemented ecdh and ecdsa actions, also added some docsJ08nY2017-01-171-49/+129
| | | | | | - ecdh and ecdsa instructions now work, although without output to file, yet. - added MIT license headers to main classes
* implemented ecdh testing reader side:J08nY2017-01-171-79/+172
| | | | ectester -dh -fp -b 192
* major changes, ECTester rewrite, moved to valid packageJ08nY2017-01-171-0/+489
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