add crypto_cipher_rewind to reverse crypto_cipher_advance

svn:r957
This commit is contained in:
Roger Dingledine 2003-12-23 07:43:05 +00:00
parent 55a94cd497
commit bc8c6732cb
2 changed files with 9 additions and 2 deletions

View File

@ -807,6 +807,12 @@ int crypto_cipher_decrypt(crypto_cipher_env_t *env, unsigned char *from, unsigne
} }
} }
int
crypto_cipher_rewind(crypto_cipher_env_t *env, long delta)
{
return crypto_cipher_advance(env, -delta);
}
int int
crypto_cipher_advance(crypto_cipher_env_t *env, long delta) crypto_cipher_advance(crypto_cipher_env_t *env, long delta)
{ {
@ -841,8 +847,8 @@ crypto_new_digest_env(int type)
void void
crypto_free_digest_env(crypto_digest_env_t *digest) { crypto_free_digest_env(crypto_digest_env_t *digest) {
assert(digest); if(digest)
tor_free(digest); free(digest);
} }
void void

View File

@ -92,6 +92,7 @@ int crypto_cipher_encrypt(crypto_cipher_env_t *env, unsigned char *from, unsigne
int crypto_cipher_decrypt(crypto_cipher_env_t *env, unsigned char *from, unsigned int fromlen, unsigned char *to); int crypto_cipher_decrypt(crypto_cipher_env_t *env, unsigned char *from, unsigned int fromlen, unsigned char *to);
/* only implemented for CRYPTO_CIPHER_AES_CTR */ /* only implemented for CRYPTO_CIPHER_AES_CTR */
int crypto_cipher_rewind(crypto_cipher_env_t *env, long delta);
int crypto_cipher_advance(crypto_cipher_env_t *env, long delta); int crypto_cipher_advance(crypto_cipher_env_t *env, long delta);
/* convenience function: wraps crypto_create_crypto_env, set_key, set_iv, and init. */ /* convenience function: wraps crypto_create_crypto_env, set_key, set_iv, and init. */