Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(718)

Side by Side Diff: core/fdrm/crypto/fx_crypt.h

Issue 2577223002: Better tests for password protected documents. (Closed)
Patch Set: revert pdfium_test Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | core/fdrm/crypto/fx_crypt_sha.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #ifndef CORE_FDRM_CRYPTO_FX_CRYPT_H_ 7 #ifndef CORE_FDRM_CRYPTO_FX_CRYPT_H_
8 #define CORE_FDRM_CRYPTO_FX_CRYPT_H_ 8 #define CORE_FDRM_CRYPTO_FX_CRYPT_H_
9 9
10 #include "core/fxcrt/fx_system.h" 10 #include "core/fxcrt/fx_system.h"
11 11
12 #ifdef __cplusplus 12 #ifdef __cplusplus
13 extern "C" { 13 extern "C" {
14 #endif 14 #endif
15 15
16 struct CRYPT_rc4_context { 16 typedef struct {
17 int32_t x; 17 int32_t x;
18 int32_t y; 18 int32_t y;
19 int32_t m[256]; 19 int32_t m[256];
20 }; 20 } CRYPT_rc4_context;
21 21
22 struct CRYPT_md5_context { 22 typedef struct {
23 uint32_t total[2]; 23 uint32_t total[2];
24 uint32_t state[4]; 24 uint32_t state[4];
25 uint8_t buffer[64]; 25 uint8_t buffer[64];
26 }; 26 } CRYPT_md5_context;
27
28 typedef struct {
29 unsigned int h[5];
30 unsigned char block[64];
31 int blkused;
32 unsigned int lenhi;
33 unsigned int lenlo;
34 } CRYPT_sha1_context;
35
36 typedef struct {
37 uint32_t total[2];
38 uint32_t state[8];
39 uint8_t buffer[64];
40 } CRYPT_sha256_context;
41
42 typedef struct {
43 uint64_t total[2];
44 uint64_t state[8];
45 uint8_t buffer[128];
46 } CRYPT_sha384_context;
27 47
28 void CRYPT_ArcFourCryptBlock(uint8_t* data, 48 void CRYPT_ArcFourCryptBlock(uint8_t* data,
29 uint32_t size, 49 uint32_t size,
30 const uint8_t* key, 50 const uint8_t* key,
31 uint32_t keylen); 51 uint32_t keylen);
32 void CRYPT_ArcFourSetup(CRYPT_rc4_context* context, 52 void CRYPT_ArcFourSetup(CRYPT_rc4_context* context,
33 const uint8_t* key, 53 const uint8_t* key,
34 uint32_t length); 54 uint32_t length);
35 void CRYPT_ArcFourCrypt(CRYPT_rc4_context* context, 55 void CRYPT_ArcFourCrypt(CRYPT_rc4_context* context,
36 uint8_t* data, 56 uint8_t* data,
37 uint32_t size); 57 uint32_t size);
58
38 void CRYPT_AESSetKey(void* context, 59 void CRYPT_AESSetKey(void* context,
39 uint32_t blocklen, 60 uint32_t blocklen,
40 const uint8_t* key, 61 const uint8_t* key,
41 uint32_t keylen, 62 uint32_t keylen,
42 bool bEncrypt); 63 bool bEncrypt);
43 void CRYPT_AESSetIV(void* context, const uint8_t* iv); 64 void CRYPT_AESSetIV(void* context, const uint8_t* iv);
44 void CRYPT_AESDecrypt(void* context, 65 void CRYPT_AESDecrypt(void* context,
45 uint8_t* dest, 66 uint8_t* dest,
46 const uint8_t* src, 67 const uint8_t* src,
47 uint32_t size); 68 uint32_t size);
48 void CRYPT_AESEncrypt(void* context, 69 void CRYPT_AESEncrypt(void* context,
49 uint8_t* dest, 70 uint8_t* dest,
50 const uint8_t* src, 71 const uint8_t* src,
51 uint32_t size); 72 uint32_t size);
52 void CRYPT_MD5Generate(const uint8_t* data, uint32_t size, uint8_t digest[16]); 73
53 void CRYPT_MD5Start(CRYPT_md5_context* context); 74 void CRYPT_MD5Start(CRYPT_md5_context* context);
54 void CRYPT_MD5Update(CRYPT_md5_context* context, 75 void CRYPT_MD5Update(CRYPT_md5_context* context,
55 const uint8_t* data, 76 const uint8_t* data,
56 uint32_t size); 77 uint32_t size);
57 void CRYPT_MD5Finish(CRYPT_md5_context* context, uint8_t digest[16]); 78 void CRYPT_MD5Finish(CRYPT_md5_context* context, uint8_t digest[16]);
79 void CRYPT_MD5Generate(const uint8_t* data, uint32_t size, uint8_t digest[16]);
80
81 void CRYPT_SHA1Start(CRYPT_sha1_context* context);
82 void CRYPT_SHA1Update(CRYPT_sha1_context* context,
83 const uint8_t* data,
84 uint32_t size);
85 void CRYPT_SHA1Finish(CRYPT_sha1_context* context, uint8_t digest[20]);
58 void CRYPT_SHA1Generate(const uint8_t* data, uint32_t size, uint8_t digest[20]); 86 void CRYPT_SHA1Generate(const uint8_t* data, uint32_t size, uint8_t digest[20]);
59 void CRYPT_SHA1Start(void* context); 87
60 void CRYPT_SHA1Update(void* context, const uint8_t* data, uint32_t size); 88 void CRYPT_SHA256Start(CRYPT_sha256_context* context);
61 void CRYPT_SHA1Finish(void* context, uint8_t digest[20]); 89 void CRYPT_SHA256Update(CRYPT_sha256_context* context,
90 const uint8_t* data,
91 uint32_t size);
92 void CRYPT_SHA256Finish(CRYPT_sha256_context* context, uint8_t digest[32]);
62 void CRYPT_SHA256Generate(const uint8_t* data, 93 void CRYPT_SHA256Generate(const uint8_t* data,
63 uint32_t size, 94 uint32_t size,
64 uint8_t digest[32]); 95 uint8_t digest[32]);
65 void CRYPT_SHA256Start(void* context); 96
66 void CRYPT_SHA256Update(void* context, const uint8_t* data, uint32_t size); 97 void CRYPT_SHA384Start(CRYPT_sha384_context* context);
67 void CRYPT_SHA256Finish(void* context, uint8_t digest[32]); 98 void CRYPT_SHA384Update(CRYPT_sha384_context* context,
68 void CRYPT_SHA384Start(void* context); 99 const uint8_t* data,
69 void CRYPT_SHA384Update(void* context, const uint8_t* data, uint32_t size); 100 uint32_t size);
70 void CRYPT_SHA384Finish(void* context, uint8_t digest[48]); 101 void CRYPT_SHA384Finish(CRYPT_sha384_context* context, uint8_t digest[48]);
71 void CRYPT_SHA384Generate(const uint8_t* data, 102 void CRYPT_SHA384Generate(const uint8_t* data,
72 uint32_t size, 103 uint32_t size,
73 uint8_t digest[48]); 104 uint8_t digest[48]);
105
74 void CRYPT_SHA512Start(void* context); 106 void CRYPT_SHA512Start(void* context);
75 void CRYPT_SHA512Update(void* context, const uint8_t* data, uint32_t size); 107 void CRYPT_SHA512Update(void* context, const uint8_t* data, uint32_t size);
76 void CRYPT_SHA512Finish(void* context, uint8_t digest[64]); 108 void CRYPT_SHA512Finish(void* context, uint8_t digest[64]);
77 void CRYPT_SHA512Generate(const uint8_t* data, 109 void CRYPT_SHA512Generate(const uint8_t* data,
78 uint32_t size, 110 uint32_t size,
79 uint8_t digest[64]); 111 uint8_t digest[64]);
80 #ifdef __cplusplus 112 #ifdef __cplusplus
81 }; 113 };
82 #endif 114 #endif
83 115
84 #endif // CORE_FDRM_CRYPTO_FX_CRYPT_H_ 116 #endif // CORE_FDRM_CRYPTO_FX_CRYPT_H_
OLDNEW
« no previous file with comments | « no previous file | core/fdrm/crypto/fx_crypt_sha.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698