diff options
Diffstat (limited to 'src/add_felicsref/cipher.c')
| -rw-r--r-- | src/add_felicsref/cipher.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/add_felicsref/cipher.c b/src/add_felicsref/cipher.c index 87689df..916f0ab 100644 --- a/src/add_felicsref/cipher.c +++ b/src/add_felicsref/cipher.c @@ -168,18 +168,15 @@ void lilliput_tbc_decrypt( uint8_t message[BLOCK_BYTES] ) { - uint8_t X[BLOCK_BYTES]; - _state_init(X, ciphertext); + _state_init(message, ciphertext); uint8_t RTK[ROUNDS][ROUND_TWEAKEY_BYTES]; _compute_round_tweakeys(key, tweak, RTK); for (size_t i=0; i<ROUNDS-1; i++) { - _one_round_egfn(X, RTK[ROUNDS-1-i], PERMUTATION_DECRYPTION); + _one_round_egfn(message, RTK[ROUNDS-1-i], PERMUTATION_DECRYPTION); } - _one_round_egfn(X, RTK[0], PERMUTATION_NONE); - - memcpy(message, X, BLOCK_BYTES); + _one_round_egfn(message, RTK[0], PERMUTATION_NONE); } |
