Skip to content

Commit 8d79b2c

Browse files
author
Markus Humm
committed
Implemented proposed fix for 3DES bug #57
#57 But unit tests showing it actually fixes something are still missing.
1 parent 97504cf commit 8d79b2c

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

Source/DECCiphers.pas

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4065,16 +4065,21 @@ procedure TCipher_3DES.DoEncode(Source, Dest: Pointer; Size: Integer);
40654065
begin
40664066
Assert(Size = Context.BlockSize);
40674067
DES_Func(Source, Dest, @PUInt32Array(FAdditionalBuffer)[ 0]);
4068-
DES_Func(Source, Dest, @PUInt32Array(FAdditionalBuffer)[32]);
4069-
DES_Func(Source, Dest, @PUInt32Array(FAdditionalBuffer)[64]);
4068+
DES_Func(Dest, Dest, @PUInt32Array(FAdditionalBuffer)[32]);
4069+
DES_Func(Dest, Dest, @PUInt32Array(FAdditionalBuffer)[64]);
4070+
4071+
// DES_Func(Source, Dest, @PUInt32Array(FAdditionalBuffer)[32]);
4072+
// DES_Func(Source, Dest, @PUInt32Array(FAdditionalBuffer)[64]);
40704073
end;
40714074

40724075
procedure TCipher_3DES.DoDecode(Source, Dest: Pointer; Size: Integer);
40734076
begin
40744077
Assert(Size = Context.BlockSize);
40754078
DES_Func(Source, Dest, @PUInt32Array(FAdditionalBuffer)[96]);
4076-
DES_Func(Source, Dest, @PUInt32Array(FAdditionalBuffer)[128]);
4077-
DES_Func(Source, Dest, @PUInt32Array(FAdditionalBuffer)[160]);
4079+
DES_Func(Dest, Dest, @PUInt32Array(FAdditionalBuffer)[128]);
4080+
DES_Func(Dest, Dest, @PUInt32Array(FAdditionalBuffer)[160]);
4081+
// DES_Func(Source, Dest, @PUInt32Array(FAdditionalBuffer)[128]);
4082+
// DES_Func(Source, Dest, @PUInt32Array(FAdditionalBuffer)[160]);
40784083
end;
40794084

40804085
{ TCipher_2DDES }

0 commit comments

Comments
 (0)