1
0
mirror of synced 2025-01-19 08:07:56 +01:00

Added length check to Triple DES IVs

This commit is contained in:
n1474335 2019-10-16 15:50:37 +01:00
parent 011dc09d5e
commit be365f66ef
5 changed files with 18 additions and 4 deletions

View File

@ -76,7 +76,8 @@ Triple DES uses a key length of 24 bytes (192 bits).`);
if (iv.length !== 8) { if (iv.length !== 8) {
throw new OperationError(`Invalid IV length: ${iv.length} bytes throw new OperationError(`Invalid IV length: ${iv.length} bytes
DES uses an IV length of 8 bytes (64 bits).`); DES uses an IV length of 8 bytes (64 bits).
Make sure you have specified the type correctly (e.g. Hex vs UTF8).`);
} }
input = Utils.convertToByteString(input, inputType); input = Utils.convertToByteString(input, inputType);

View File

@ -76,7 +76,8 @@ Triple DES uses a key length of 24 bytes (192 bits).`);
if (iv.length !== 8) { if (iv.length !== 8) {
throw new OperationError(`Invalid IV length: ${iv.length} bytes throw new OperationError(`Invalid IV length: ${iv.length} bytes
DES uses an IV length of 8 bytes (64 bits).`); DES uses an IV length of 8 bytes (64 bits).
Make sure you have specified the type correctly (e.g. Hex vs UTF8).`);
} }
input = Utils.convertToByteString(input, inputType); input = Utils.convertToByteString(input, inputType);

View File

@ -75,6 +75,12 @@ class TripleDESDecrypt extends Operation {
Triple DES uses a key length of 24 bytes (192 bits). Triple DES uses a key length of 24 bytes (192 bits).
DES uses a key length of 8 bytes (64 bits).`); DES uses a key length of 8 bytes (64 bits).`);
} }
if (iv.length !== 8) {
throw new OperationError(`Invalid IV length: ${iv.length} bytes
Triple DES uses an IV length of 8 bytes (64 bits).
Make sure you have specified the type correctly (e.g. Hex vs UTF8).`);
}
input = Utils.convertToByteString(input, inputType); input = Utils.convertToByteString(input, inputType);

View File

@ -75,6 +75,12 @@ class TripleDESEncrypt extends Operation {
Triple DES uses a key length of 24 bytes (192 bits). Triple DES uses a key length of 24 bytes (192 bits).
DES uses a key length of 8 bytes (64 bits).`); DES uses a key length of 8 bytes (64 bits).`);
} }
if (iv.length !== 8) {
throw new OperationError(`Invalid IV length: ${iv.length} bytes
Triple DES uses an IV length of 8 bytes (64 bits).
Make sure you have specified the type correctly (e.g. Hex vs UTF8).`);
}
input = Utils.convertToByteString(input, inputType); input = Utils.convertToByteString(input, inputType);

View File

@ -943,10 +943,10 @@ smothering ampersand abreast
chef.tripleDESDecrypt( chef.tripleDESDecrypt(
chef.tripleDESEncrypt("Destroy Money", { chef.tripleDESEncrypt("Destroy Money", {
key: {string: "30 31 2f 30 34 2f 31 39 39 39 20 32 32 3a 33 33 3a 30 3130 31 2f 30 34", option: "Hex"}, key: {string: "30 31 2f 30 34 2f 31 39 39 39 20 32 32 3a 33 33 3a 30 3130 31 2f 30 34", option: "Hex"},
iv: {string: "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000 00 00 00 00", option: "Hex"}}), iv: {string: "00 00 00 00 00 00 00 00", option: "Hex"}}),
{ {
key: {string: "30 31 2f 30 34 2f 31 39 39 39 20 32 32 3a 33 33 3a 30 3130 31 2f 30 34", option: "Hex"}, key: {string: "30 31 2f 30 34 2f 31 39 39 39 20 32 32 3a 33 33 3a 30 3130 31 2f 30 34", option: "Hex"},
iv: {string: "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000 00 00 00 00", option: "Hex"} iv: {string: "00 00 00 00 00 00 00 00", option: "Hex"}
}).toString(), }).toString(),
"Destroy Money"); "Destroy Money");
}), }),