Stephen Heumann
|
aab47e38e7
|
Compute SHA-1 message schedule 20 elements at a time, reusing storage.
The reduces the storage needed and boosts performance, since the whole schedule is contained in the direct page.
|
2017-06-29 22:22:06 -05:00 |
|
Stephen Heumann
|
7182fc5817
|
Use separate loops for the four parts of the SHA-1 computation.
|
2017-06-29 20:51:36 -05:00 |
|
Stephen Heumann
|
dfdb3186fd
|
Add macros for rotates.
|
2017-06-29 20:41:49 -05:00 |
|
Stephen Heumann
|
ad4e0a0dd5
|
More SHA-1 optimizations.
|
2017-06-29 20:16:22 -05:00 |
|
Stephen Heumann
|
13654c0888
|
Small optimizations in SHA-1 computation.
|
2017-06-29 19:52:52 -05:00 |
|
Stephen Heumann
|
a519776847
|
Add implementation of the basic block-processing function for SHA-1.
|
2017-06-29 16:54:49 -05:00 |
|
Stephen Heumann
|
1cb8841a46
|
state -> context
|
2017-06-29 16:52:34 -05:00 |
|
Stephen Heumann
|
f60585cc3e
|
Add note about context size.
|
2017-06-28 01:26:24 -05:00 |
|
Stephen Heumann
|
d4baf7dbe4
|
Usage message and indentation cleanups in test program.
|
2017-06-27 23:42:20 -05:00 |
|
Stephen Heumann
|
4ffd064204
|
Add comments and copyright notices.
|
2017-06-27 23:30:58 -05:00 |
|
Stephen Heumann
|
e46264f0c4
|
Small decryption optimization, saving a value in a register between rounds.
|
2017-06-27 22:35:57 -05:00 |
|
Stephen Heumann
|
634ff1e865
|
Optimize decryption code.
AddRoundKey is integrated into InvMixColumn and InvFinalRoundStep, rather than being done separately.
|
2017-06-27 20:44:14 -05:00 |
|
Stephen Heumann
|
18dabeb621
|
Allow number of test iters to be given on command line.
|
2017-06-27 20:07:07 -05:00 |
|
Stephen Heumann
|
d9b8467bb7
|
Rename some interfaces.
|
2017-06-27 19:42:53 -05:00 |
|
Stephen Heumann
|
14fe68de79
|
Time decryption as well as encryption.
|
2017-06-27 19:35:38 -05:00 |
|
Stephen Heumann
|
a522ab6d88
|
Optimize decryption a bit.
|
2017-06-27 19:24:06 -05:00 |
|
Stephen Heumann
|
46fcb3badc
|
Add support for AES-256 decryption.
|
2017-06-27 18:35:04 -05:00 |
|
Stephen Heumann
|
0e3e511ba8
|
Add basic decryption implementation for AES-128 and AES-192.
|
2017-06-27 18:17:00 -05:00 |
|
Stephen Heumann
|
9d9f62444d
|
Add timing test.
|
2017-06-27 12:45:58 -05:00 |
|
Stephen Heumann
|
4314644e75
|
Update to also support AES-192 and AES-256.
|
2017-06-27 01:36:56 -05:00 |
|
Stephen Heumann
|
293828584f
|
Optimize key expansion a bit, removing unnecessary loads.
|
2017-06-26 22:22:55 -05:00 |
|
Stephen Heumann
|
f04000c83d
|
Save a few cycles by not reloading the last written byte between rounds.
|
2017-06-26 21:49:16 -05:00 |
|
Stephen Heumann
|
75aac0daa9
|
Save a couple values on the stack rather than looking them up again.
This is cycle-neutral (assuming a page-aligned DP), but it reduces instruction bytes and therefore may give a speedup on accelerators with caches.
|
2017-06-26 21:13:25 -05:00 |
|
Stephen Heumann
|
301021e75e
|
Cut out a few instructions by reusing subexpressions in registers.
|
2017-06-26 20:53:17 -05:00 |
|
Stephen Heumann
|
3df0080371
|
Initial working implementation of AES-128 encryption.
|
2017-06-26 20:41:44 -05:00 |
|