Skip to content

Commit e1fd339

Browse files
committed
Shared HMAC-SHA1 / HMAC-SHA2 CPU code: Support 64-bit data length
This was the only thing needed to get the ZIP CPU format to crack huge archives - the format code was already correct. Closes #5728
1 parent 1c52aa6 commit e1fd339

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

src/hmac_sha.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,19 @@
1616

1717
#ifndef _JTR_HMAC_SHA_H
1818

19-
extern void JTR_hmac_sha1(const unsigned char *key, int key_len, const unsigned char *data, int data_len, unsigned char *digest, int digest_len);
19+
extern void JTR_hmac_sha1(const unsigned char *key, int key_len, const unsigned char *data, uint64_t data_len, unsigned char *digest, int digest_len);
2020
#define hmac_sha1(key,keylen,data,datalen,dgst,dgstlen) JTR_hmac_sha1(key,keylen,data,datalen,dgst,dgstlen)
2121

22-
extern void JTR_hmac_sha256(const unsigned char *key, int key_len, const unsigned char *data, int data_len, unsigned char *digest, int digest_len);
22+
extern void JTR_hmac_sha256(const unsigned char *key, int key_len, const unsigned char *data, uint64_t data_len, unsigned char *digest, int digest_len);
2323
#define hmac_sha256(key,keylen,data,datalen,dgst,dgstlen) JTR_hmac_sha256(key,keylen,data,datalen,dgst,dgstlen)
2424

25-
extern void JTR_hmac_sha512(const unsigned char *key, int key_len, const unsigned char *data, int data_len, unsigned char *digest, int digest_len);
25+
extern void JTR_hmac_sha512(const unsigned char *key, int key_len, const unsigned char *data, uint64_t data_len, unsigned char *digest, int digest_len);
2626
#define hmac_sha512(key,keylen,data,datalen,dgst,dgstlen) JTR_hmac_sha512(key,keylen,data,datalen,dgst,dgstlen)
2727

28-
extern void JTR_hmac_sha224(const unsigned char *key, int key_len, const unsigned char *data, int data_len, unsigned char *digest, int digest_len);
28+
extern void JTR_hmac_sha224(const unsigned char *key, int key_len, const unsigned char *data, uint64_t data_len, unsigned char *digest, int digest_len);
2929
#define hmac_sha224(key,keylen,data,datalen,dgst,dgstlen) JTR_hmac_sha224(key,keylen,data,datalen,dgst,dgstlen)
3030

31-
extern void JTR_hmac_sha384(const unsigned char *key, int key_len, const unsigned char *data, int data_len, unsigned char *digest, int digest_len);
31+
extern void JTR_hmac_sha384(const unsigned char *key, int key_len, const unsigned char *data, uint64_t data_len, unsigned char *digest, int digest_len);
3232
#define hmac_sha384(key,keylen,data,datalen,dgst,dgstlen) JTR_hmac_sha384(key,keylen,data,datalen,dgst,dgstlen)
3333

3434
#endif /* _JTR_HMAC_SHA_H */

src/hmac_sha_plug.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
#define HMAC_SHA_OPAD_XOR (0x36363636^0x5c5c5c5c)
3535
#endif
3636

37-
void JTR_hmac_sha1(const unsigned char *key, int key_len, const unsigned char *data, int data_len, unsigned char *digest, int digest_len) {
37+
void JTR_hmac_sha1(const unsigned char *key, int key_len, const unsigned char *data, uint64_t data_len, unsigned char *digest, int digest_len) {
3838
JTR_ALIGN(8) unsigned char buf[64];
3939
unsigned char local_digest[20];
4040
ARCH_WORD *pW = (ARCH_WORD *)buf;
@@ -72,7 +72,7 @@ void JTR_hmac_sha1(const unsigned char *key, int key_len, const unsigned char *d
7272
}
7373
}
7474

75-
void JTR_hmac_sha256(const unsigned char *key, int key_len, const unsigned char *data, int data_len, unsigned char *digest, int digest_len) {
75+
void JTR_hmac_sha256(const unsigned char *key, int key_len, const unsigned char *data, uint64_t data_len, unsigned char *digest, int digest_len) {
7676
JTR_ALIGN(8) unsigned char buf[64];
7777
unsigned char local_digest[32];
7878
ARCH_WORD *pW = (ARCH_WORD *)buf;
@@ -111,7 +111,7 @@ void JTR_hmac_sha256(const unsigned char *key, int key_len, const unsigned char
111111
}
112112
}
113113

114-
void JTR_hmac_sha224(const unsigned char *key, int key_len, const unsigned char *data, int data_len, unsigned char *digest, int digest_len) {
114+
void JTR_hmac_sha224(const unsigned char *key, int key_len, const unsigned char *data, uint64_t data_len, unsigned char *digest, int digest_len) {
115115
JTR_ALIGN(8) unsigned char buf[64];
116116
unsigned char local_digest[28];
117117
ARCH_WORD *pW = (ARCH_WORD *)buf;
@@ -151,7 +151,7 @@ void JTR_hmac_sha224(const unsigned char *key, int key_len, const unsigned char
151151
}
152152
}
153153

154-
void JTR_hmac_sha512(const unsigned char *key, int key_len, const unsigned char *data, int data_len, unsigned char *digest, int digest_len) {
154+
void JTR_hmac_sha512(const unsigned char *key, int key_len, const unsigned char *data, uint64_t data_len, unsigned char *digest, int digest_len) {
155155
JTR_ALIGN(8) unsigned char buf[128];
156156
unsigned char local_digest[64];
157157
ARCH_WORD *pW = (ARCH_WORD *)buf;
@@ -190,7 +190,7 @@ void JTR_hmac_sha512(const unsigned char *key, int key_len, const unsigned char
190190
}
191191
}
192192

193-
void JTR_hmac_sha384(const unsigned char *key, int key_len, const unsigned char *data, int data_len, unsigned char *digest, int digest_len) {
193+
void JTR_hmac_sha384(const unsigned char *key, int key_len, const unsigned char *data, uint64_t data_len, unsigned char *digest, int digest_len) {
194194
JTR_ALIGN(8) unsigned char buf[128];
195195
unsigned char local_digest[48];
196196
ARCH_WORD *pW = (ARCH_WORD *)buf;

0 commit comments

Comments
 (0)