Stephen Heumann
8050c05a7a
Don't call srand unless we're actually randomizing read sizes.
2017-11-19 23:47:30 -06:00
Stephen Heumann
e288a7bc83
Allow checksumming multiple files, and print filenames with the checksums.
2017-11-19 23:41:05 -06:00
Stephen Heumann
0475dbf132
Display error messages where appropriate in checksum utilities.
2017-11-19 23:30:13 -06:00
Stephen Heumann
b5b268982a
By default, don't randomize read sizes in checksum programs.
...
This can still be done by adding a #define, if desired.
2017-11-19 22:48:43 -06:00
Stephen Heumann
df0de0d979
Use a common template for all the file checksum programs.
2017-11-19 22:43:31 -06:00
Stephen Heumann
5c9b2f0877
Build libraries containing the crypto and hash codes.
...
There are separate libraries for crypto and hashing, lib65816crypto and lib65816hash. The test programs are now built by linking to the libraries.
2017-11-19 22:40:09 -06:00
Stephen Heumann
756ff98a6a
Revise makefile to generate object files separately from programs.
2017-11-19 21:07:45 -06:00
Stephen Heumann
8dddba4f6e
Work around ORCA/C bug that affects lower optimization levels.
2017-07-05 12:24:37 -05:00
Stephen Heumann
4c0265d921
Work around ORCA/C bug.
2017-07-05 11:44:22 -05:00
Stephen Heumann
5b7c832600
One more tweak to MD5 rotate optimizations.
2017-07-04 14:42:01 -05:00
Stephen Heumann
2f34f006ba
Force MD5 tables to be page-aligned, which should save a cycle in some cases.
2017-07-04 14:37:17 -05:00
Stephen Heumann
e90af7c1a4
Small optimization to eliminate some unnecessary loads in MD5.
2017-07-04 14:31:04 -05:00
Stephen Heumann
129f371902
Add zero bytes to optimize some rotates in MD5.
2017-07-04 14:17:51 -05:00
Stephen Heumann
1d1d5251f6
Optimize the operations used for various shift sizes in MD5.
2017-07-04 13:57:01 -05:00
Stephen Heumann
748e0b5c24
Small optimizations for MD5.
2017-07-04 12:39:11 -05:00
Stephen Heumann
0f144df99b
Add implementation of MD5 hash function.
2017-07-04 12:15:00 -05:00
Stephen Heumann
015ae8559f
Add makefile entries for SHA-256 programs.
2017-07-03 23:58:57 -05:00
Stephen Heumann
1f3d51a5c9
Add sha256sum program.
2017-07-03 23:56:36 -05:00
Stephen Heumann
e7aa261e19
Add update and finalize functions for SHA-256.
2017-07-03 23:53:43 -05:00
Stephen Heumann
458e769212
Add initialization function to permit computation of SHA-224 hashes.
...
SHA-224 uses the exact same computation as SHA-256, just with different initial values.
2017-07-03 23:40:36 -05:00
Stephen Heumann
11148c78d1
Remove unused macros.
2017-07-03 23:05:51 -05:00
Stephen Heumann
bcc0efc327
Add zero bytes around SHA-256 state variables to optimize rotates.
2017-07-03 22:58:58 -05:00
Stephen Heumann
239024c3ce
Remove unneeded instruction.
2017-07-03 20:46:26 -05:00
Stephen Heumann
7034be04fb
Use more efficient approach for addressing into k array in SHA-256 computation.
2017-07-03 20:41:53 -05:00
Stephen Heumann
f0f034760b
Optimize SHA-256 computations to save instructions in various places.
2017-07-03 20:03:45 -05:00
Stephen Heumann
d2bf9a782e
Use shifts when called for, rather than more expensive rotates.
2017-07-03 17:12:13 -05:00
Stephen Heumann
011628d3ce
More rotate optimizations for SHA-256.
2017-07-03 15:50:20 -05:00
Stephen Heumann
6891b77fbc
Additional small rotate optimizations in SHA-256.
2017-07-03 15:30:46 -05:00
Stephen Heumann
6940f1fef4
Use operations on bytes to rotate by multiples of 8 in SHA-256.
2017-07-03 15:15:18 -05:00
Stephen Heumann
64fc1e62bb
Do some optimization of the rotates in SHA-256.
2017-07-03 14:46:46 -05:00
Stephen Heumann
61bc8f8b4f
Reduce duplicated code in SHA-256 implementation.
2017-07-03 14:33:17 -05:00
Stephen Heumann
91c107eb98
Add initial implementation of the basic block-processing function for SHA-256.
2017-07-03 14:27:19 -05:00
Stephen Heumann
2c34d17925
Typos
2017-07-02 22:54:18 -05:00
Stephen Heumann
58a3945d53
Add basic makefile.
2017-07-02 20:26:20 -05:00
Stephen Heumann
a04d36eb6c
Add copyright notices and comments.
2017-07-02 18:41:21 -05:00
Stephen Heumann
cfadee23bb
Add implementation and test for AES CTR mode.
2017-07-02 18:25:43 -05:00
Stephen Heumann
924789510b
Optimize AES CBC operations a bit.
2017-07-02 16:24:00 -05:00
Stephen Heumann
6532a3abc4
Add timing tests for AES CBC encryption and decryption.
2017-07-02 15:56:22 -05:00
Stephen Heumann
c8b0fb904b
Add .gitignore file.
2017-07-02 15:29:51 -05:00
Stephen Heumann
4e0903a708
Add simple toy program for encrypting/decrypting files with AES.
2017-07-02 15:24:49 -05:00
Stephen Heumann
60a7aec49c
Add functions for AES CBC mode encryption and decryption.
2017-07-01 23:29:17 -05:00
Stephen Heumann
0386f928ff
Add comments and copyright notices, and rename chunk to block.
2017-07-01 17:53:49 -05:00
Stephen Heumann
b2d3d3ffa8
Add sha1sum program as a test/application of the SHA-1 computation.
2017-07-01 15:11:13 -05:00
Stephen Heumann
0ad5d39f07
Tweaks to SHA-1 update and finalization code.
2017-07-01 14:27:25 -05:00
Stephen Heumann
8b17a15ada
Add implementations of the SHA-1 update and finalize operations.
...
The definition of the context structure is also cleaned up a bit.
2017-06-30 23:55:03 -05:00
Stephen Heumann
3aa0d1b89f
Update SHA-1 test program.
2017-06-30 13:35:33 -05:00
Stephen Heumann
97fc1ce981
Small cleanups in SHA-1.
2017-06-30 13:23:29 -05:00
Stephen Heumann
6c1d703b84
Don't duplicate identical code for the last three schedule computation phases.
...
This shrinks code size and is probably faster with accelerators due to caching.
2017-06-30 12:49:51 -05:00
Stephen Heumann
d97e0c0153
Don't update index value in each unrolled loop iteration.
2017-06-30 00:52:25 -05:00
Stephen Heumann
2d8c85bd98
Unroll SHA-1 loop with variables substituted to avoid cycling values around.
...
SHA-1 has five state variables (a,b,c,d,e), and each iteration of the core loop cycles their values around (e.g. a->b), in some cases with modifications. By unrolling the loop by a factor of five and appropriately substituting the values operated on in each iteration, we can avoid actually doing the copies implied by this cycling, which gives a fairly significant performance gain.
2017-06-30 00:33:16 -05:00