summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/mupdf/fitz/crypt.h10
-rw-r--r--source/fitz/crypt-aes.c28
-rw-r--r--source/fitz/filter-basic.c4
-rw-r--r--source/pdf/pdf-crypt.c17
4 files changed, 29 insertions, 30 deletions
diff --git a/include/mupdf/fitz/crypt.h b/include/mupdf/fitz/crypt.h
index bce16a90..96be7375 100644
--- a/include/mupdf/fitz/crypt.h
+++ b/include/mupdf/fitz/crypt.h
@@ -102,8 +102,8 @@ void fz_arc4_encrypt(fz_arc4 *state, unsigned char *dest, const unsigned char *s
typedef struct fz_aes_s fz_aes;
-#define AES_DECRYPT 0
-#define AES_ENCRYPT 1
+#define FZ_AES_DECRYPT 0
+#define FZ_AES_ENCRYPT 1
/*
Structure definition is public to enable stack
@@ -116,9 +116,9 @@ struct fz_aes_s
unsigned long buf[68]; /* unaligned data */
};
-int aes_setkey_enc( fz_aes *ctx, const unsigned char *key, int keysize );
-int aes_setkey_dec( fz_aes *ctx, const unsigned char *key, int keysize );
-void aes_crypt_cbc( fz_aes *ctx, int mode, size_t length,
+int fz_aes_setkey_enc( fz_aes *ctx, const unsigned char *key, int keysize );
+int fz_aes_setkey_dec( fz_aes *ctx, const unsigned char *key, int keysize );
+void fz_aes_crypt_cbc( fz_aes *ctx, int mode, size_t length,
unsigned char iv[16],
const unsigned char *input,
unsigned char *output );
diff --git a/source/fitz/crypt-aes.c b/source/fitz/crypt-aes.c
index cc298731..87af5626 100644
--- a/source/fitz/crypt-aes.c
+++ b/source/fitz/crypt-aes.c
@@ -176,7 +176,7 @@ static void aes_gen_tables( void )
/*
* AES key schedule (encryption)
*/
-int aes_setkey_enc( aes_context *ctx, const unsigned char *key, int keysize )
+int fz_aes_setkey_enc( aes_context *ctx, const unsigned char *key, int keysize )
{
int i;
unsigned long *RK;
@@ -280,7 +280,7 @@ int aes_setkey_enc( aes_context *ctx, const unsigned char *key, int keysize )
/*
* AES key schedule (decryption)
*/
-int aes_setkey_dec(aes_context *ctx, const unsigned char *key, int keysize)
+int fz_aes_setkey_dec(aes_context *ctx, const unsigned char *key, int keysize)
{
int i, j;
aes_context cty;
@@ -301,7 +301,7 @@ int aes_setkey_dec(aes_context *ctx, const unsigned char *key, int keysize)
ctx->rk = RK = ctx->buf;
#endif
- i = aes_setkey_enc( &cty, key, keysize );
+ i = fz_aes_setkey_enc( &cty, key, keysize );
if (i)
return i;
SK = cty.rk + cty.nr * 4;
@@ -380,7 +380,7 @@ int aes_setkey_dec(aes_context *ctx, const unsigned char *key, int keysize)
/*
* AES-ECB block encryption/decryption
*/
-void aes_crypt_ecb( aes_context *ctx,
+void fz_aes_crypt_ecb( aes_context *ctx,
int mode,
const unsigned char input[16],
unsigned char output[16] )
@@ -403,7 +403,7 @@ void aes_crypt_ecb( aes_context *ctx,
GET_ULONG_LE( X2, input, 8 ); X2 ^= *RK++;
GET_ULONG_LE( X3, input, 12 ); X3 ^= *RK++;
- if( mode == AES_DECRYPT )
+ if( mode == FZ_AES_DECRYPT )
{
for( i = (ctx->nr >> 1) - 1; i > 0; i-- )
{
@@ -433,7 +433,7 @@ void aes_crypt_ecb( aes_context *ctx,
( RSb[ ( Y1 >> 16 ) & 0xFF ] << 16 ) ^
( RSb[ ( Y0 >> 24 ) & 0xFF ] << 24 );
}
- else /* AES_ENCRYPT */
+ else /* FZ_AES_ENCRYPT */
{
for( i = (ctx->nr >> 1) - 1; i > 0; i-- )
{
@@ -473,7 +473,7 @@ void aes_crypt_ecb( aes_context *ctx,
/*
* AES-CBC buffer encryption/decryption
*/
-void aes_crypt_cbc( aes_context *ctx,
+void fz_aes_crypt_cbc( aes_context *ctx,
int mode,
size_t length,
unsigned char iv[16],
@@ -491,12 +491,12 @@ void aes_crypt_cbc( aes_context *ctx,
}
#endif
- if( mode == AES_DECRYPT )
+ if( mode == FZ_AES_DECRYPT )
{
while( length > 0 )
{
memcpy( temp, input, 16 );
- aes_crypt_ecb( ctx, mode, input, output );
+ fz_aes_crypt_ecb( ctx, mode, input, output );
for( i = 0; i < 16; i++ )
output[i] = (unsigned char)( output[i] ^ iv[i] );
@@ -515,7 +515,7 @@ void aes_crypt_cbc( aes_context *ctx,
for( i = 0; i < 16; i++ )
output[i] = (unsigned char)( input[i] ^ iv[i] );
- aes_crypt_ecb( ctx, mode, output, output );
+ fz_aes_crypt_ecb( ctx, mode, output, output );
memcpy( iv, output, 16 );
input += 16;
@@ -528,7 +528,7 @@ void aes_crypt_cbc( aes_context *ctx,
/*
* AES-CFB buffer encryption/decryption
*/
-void aes_crypt_cfb( aes_context *ctx,
+void fz_aes_crypt_cfb( aes_context *ctx,
int mode,
int length,
int *iv_off,
@@ -538,12 +538,12 @@ void aes_crypt_cfb( aes_context *ctx,
{
int c, n = *iv_off;
- if( mode == AES_DECRYPT )
+ if( mode == FZ_AES_DECRYPT )
{
while( length-- )
{
if( n == 0 )
- aes_crypt_ecb( ctx, AES_ENCRYPT, iv, iv );
+ fz_aes_crypt_ecb( ctx, FZ_AES_ENCRYPT, iv, iv );
c = *input++;
*output++ = (unsigned char)( c ^ iv[n] );
@@ -557,7 +557,7 @@ void aes_crypt_cfb( aes_context *ctx,
while( length-- )
{
if( n == 0 )
- aes_crypt_ecb( ctx, AES_ENCRYPT, iv, iv );
+ fz_aes_crypt_ecb( ctx, FZ_AES_ENCRYPT, iv, iv );
iv[n] = *output++ = (unsigned char)( iv[n] ^ *input++ );
diff --git a/source/fitz/filter-basic.c b/source/fitz/filter-basic.c
index 0bc5525a..e3fa1ffa 100644
--- a/source/fitz/filter-basic.c
+++ b/source/fitz/filter-basic.c
@@ -656,7 +656,7 @@ next_aesd(fz_context *ctx, fz_stream *stm, size_t max)
else if (n < 16)
fz_throw(ctx, FZ_ERROR_GENERIC, "partial block in aes filter");
- aes_crypt_cbc(&state->aes, AES_DECRYPT, 16, state->iv, state->bp, state->bp);
+ fz_aes_crypt_cbc(&state->aes, FZ_AES_DECRYPT, 16, state->iv, state->bp, state->bp);
state->rp = state->bp;
state->wp = state->bp + 16;
@@ -704,7 +704,7 @@ fz_open_aesd(fz_context *ctx, fz_stream *chain, unsigned char *key, unsigned key
{
state = fz_malloc_struct(ctx, fz_aesd);
state->chain = chain;
- if (aes_setkey_dec(&state->aes, key, keylen * 8))
+ if (fz_aes_setkey_dec(&state->aes, key, keylen * 8))
fz_throw(ctx, FZ_ERROR_GENERIC, "AES key init failed (keylen=%d)", keylen * 8);
state->ivcount = 0;
state->rp = state->bp;
diff --git a/source/pdf/pdf-crypt.c b/source/pdf/pdf-crypt.c
index 8dfeb9ad..0d78844b 100644
--- a/source/pdf/pdf-crypt.c
+++ b/source/pdf/pdf-crypt.c
@@ -467,9 +467,9 @@ pdf_compute_encryption_key_r5(fz_context *ctx, pdf_crypt *crypt, unsigned char *
/* clear password buffer and use it as iv */
memset(buffer + 32, 0, sizeof(buffer) - 32);
- if (aes_setkey_dec(&aes, buffer, crypt->length))
+ if (fz_aes_setkey_dec(&aes, buffer, crypt->length))
fz_throw(ctx, FZ_ERROR_GENERIC, "AES key init failed (keylen=%d)", crypt->length);
- aes_crypt_cbc(&aes, AES_DECRYPT, 32, buffer + 32, ownerkey ? crypt->oe : crypt->ue, crypt->key);
+ fz_aes_crypt_cbc(&aes, FZ_AES_DECRYPT, 32, buffer + 32, ownerkey ? crypt->oe : crypt->ue, crypt->key);
}
/*
@@ -513,9 +513,9 @@ pdf_compute_hardened_hash_r6(fz_context *ctx, unsigned char *password, size_t pw
memcpy(data + j * data_len, data, data_len);
/* Step 3: encrypt data using data block as key and iv */
- if (aes_setkey_enc(&aes, block, 128))
+ if (fz_aes_setkey_enc(&aes, block, 128))
fz_throw(ctx, FZ_ERROR_GENERIC, "AES key init failed (keylen=%d)", 128);
- aes_crypt_cbc(&aes, AES_ENCRYPT, data_len * 64, block + 16, data, data);
+ fz_aes_crypt_cbc(&aes, FZ_AES_ENCRYPT, data_len * 64, block + 16, data, data);
/* Step 4: determine SHA-2 hash size for this round */
for (j = 0, sum = 0; j < 16; j++)
@@ -566,10 +566,9 @@ pdf_compute_encryption_key_r6(fz_context *ctx, pdf_crypt *crypt, unsigned char *
hash);
memset(iv, 0, sizeof(iv));
- if (aes_setkey_dec(&aes, hash, 256))
+ if (fz_aes_setkey_dec(&aes, hash, 256))
fz_throw(ctx, FZ_ERROR_GENERIC, "AES key init failed (keylen=256)");
- aes_crypt_cbc(&aes, AES_DECRYPT, 32, iv,
- ownerkey ? crypt->oe : crypt->ue, crypt->key);
+ fz_aes_crypt_cbc(&aes, FZ_AES_DECRYPT, 32, iv, ownerkey ? crypt->oe : crypt->ue, crypt->key);
}
/*
@@ -948,9 +947,9 @@ pdf_crypt_obj_imp(fz_context *ctx, pdf_crypt *crypt, pdf_obj *obj, unsigned char
unsigned char iv[16];
fz_aes aes;
memcpy(iv, s, 16);
- if (aes_setkey_dec(&aes, key, keylen * 8))
+ if (fz_aes_setkey_dec(&aes, key, keylen * 8))
fz_throw(ctx, FZ_ERROR_GENERIC, "AES key init failed (keylen=%d)", keylen * 8);
- aes_crypt_cbc(&aes, AES_DECRYPT, n - 16, iv, s + 16, s);
+ fz_aes_crypt_cbc(&aes, FZ_AES_DECRYPT, n - 16, iv, s + 16, s);
/* delete space used for iv and padding bytes at end */
if (s[n - 17] < 1 || s[n - 17] > 16)
fz_warn(ctx, "aes padding out of range");