@@ -170,37 +170,37 @@ TDECCipherModes = class(TDECCipher, IDECAuthenticatedCipher)
170170 // / This mode should not be used in practice, as it makes the encrypted
171171 // / message vulnerable to certain attacks without knowing the encryption key
172172 // / </remarks>
173- procedure EncodeECBx (Source, Dest: PByteArray ; Size: Integer); virtual ;
173+ procedure EncodeECBx (Source, Dest: PUInt8Array ; Size: Integer); virtual ;
174174 // / <summary>
175175 // / 8bit Output Feedback mode, needs no padding
176176 // / </summary>
177- procedure EncodeOFB8 (Source, Dest: PByteArray ; Size: Integer); virtual ;
177+ procedure EncodeOFB8 (Source, Dest: PUInt8Array ; Size: Integer); virtual ;
178178 // / <summary>
179179 // / 8 bit Cipher Feedback mode, needs no padding and works on 8 bit
180180 // / Feedback Shift Registers.
181181 // / </summary>
182- procedure EncodeCFB8 (Source, Dest: PByteArray ; Size: Integer); virtual ;
182+ procedure EncodeCFB8 (Source, Dest: PUInt8Array ; Size: Integer); virtual ;
183183 // / <summary>
184184 // / 8Bit CFS, double Cipher Feedback mode (CFB), needs no padding and
185185 // / works on 8 bit Feedback Shift Registers.
186186 // / This one is a proprietary mode developed by Hagen Reddmann. This mode
187187 // / works as cmCBCx, cmCFBx, cmCFB8 but with double XOR'ing of the
188188 // / inputstream into Feedback register.
189189 // / </summary>
190- procedure EncodeCFS8 (Source, Dest: PByteArray ; Size: Integer); virtual ;
190+ procedure EncodeCFS8 (Source, Dest: PUInt8Array ; Size: Integer); virtual ;
191191 // / <summary>
192192 // / Cipher Feedback mode (CFB) on Blocksize of Cipher, needs no padding
193193 // / This one works on Blocks of Cipher.BufferSize bytes, when using a
194194 // / Blockcipher that's equal to Cipher.BlockSize.
195195 // / </summary>
196- procedure EncodeCFBx (Source, Dest: PByteArray ; Size: Integer); virtual ;
196+ procedure EncodeCFBx (Source, Dest: PUInt8Array ; Size: Integer); virtual ;
197197 // / <summary>
198198 // / Output Feedback mode on Blocksize of Cipher, needs no padding and
199199 // / works on 8 bit Feedback Shift Registers.
200200 // / This one works on Blocks of Cipher.BufferSize bytes, when using a
201201 // / Blockcipher that's equal to Cipher.BlockSize.
202202 // / </summary>
203- procedure EncodeOFBx (Source, Dest: PByteArray ; Size: Integer); virtual ;
203+ procedure EncodeOFBx (Source, Dest: PUInt8Array ; Size: Integer); virtual ;
204204 // / <summary>
205205 // / double Cipher Feedback mode (CFB) on Blocksize of Cipher, needs no padding.
206206 // / This one works on Blocks of Cipher.BufferSize bytes, when using a
@@ -209,7 +209,7 @@ TDECCipherModes = class(TDECCipher, IDECAuthenticatedCipher)
209209 // / works as cmCBCx, cmCFBx, cmCFB8 but with double XOR'ing of the
210210 // / inputstream into Feedback register.
211211 // / </summary>
212- procedure EncodeCFSx (Source, Dest: PByteArray ; Size: Integer); virtual ;
212+ procedure EncodeCFSx (Source, Dest: PUInt8Array ; Size: Integer); virtual ;
213213 // / <summary>
214214 // / Cipher Block Chaining, with CFB8 padding of truncated final block
215215 // / It needs no external padding, because internally the last
@@ -219,7 +219,7 @@ TDECCipherModes = class(TDECCipher, IDECAuthenticatedCipher)
219219 // / This one works on Blocks of Cipher.BufferSize bytes, when using a
220220 // / Blockcipher that's equal to Cipher.BlockSize.
221221 // / </summary>
222- procedure EncodeCBCx (Source, Dest: PByteArray ; Size: Integer); virtual ;
222+ procedure EncodeCBCx (Source, Dest: PUInt8Array ; Size: Integer); virtual ;
223223 // / <summary>
224224 // / double CBC, with CFS8 padding of truncated final block
225225 // / It needs no external padding, because internally the last
@@ -232,13 +232,13 @@ TDECCipherModes = class(TDECCipher, IDECAuthenticatedCipher)
232232 // / works as cmCBCx, cmCFBx, cmCFB8 but with double XOR'ing of the
233233 // / inputstream into Feedback register.
234234 // / </summary>
235- procedure EncodeCTSx (Source, Dest: PByteArray ; Size: Integer); virtual ;
235+ procedure EncodeCTSx (Source, Dest: PUInt8Array ; Size: Integer); virtual ;
236236 // / <summary>
237237 // / Galois Counter Mode: encryption with addtional optional authentication.
238238 // / Implemented in its own unit, but needed here to be callable even if
239239 // / source length is 0.
240240 // / </summary>
241- procedure EncodeGCM (Source, Dest: PByteArray ; Size: Integer); virtual ;
241+ procedure EncodeGCM (Source, Dest: PUInt8Array ; Size: Integer); virtual ;
242242 { $IFDEF DEC3_CMCTS}
243243 // / <summary>
244244 // / double CBC, with
@@ -250,7 +250,7 @@ TDECCipherModes = class(TDECCipher, IDECAuthenticatedCipher)
250250 // / cmCTSx has. It has a less secure padding of the truncated final block.
251251 // / (to enable it see DECOptions.inc)
252252 // / </summary>
253- procedure EncodeCTS3 (Source, Dest: PByteArray ; Size: Integer); virtual ;
253+ procedure EncodeCTS3 (Source, Dest: PUInt8Array ; Size: Integer); virtual ;
254254 { $ENDIF}
255255 // / <summary>
256256 // / Electronic Code Book
@@ -259,37 +259,37 @@ TDECCipherModes = class(TDECCipher, IDECAuthenticatedCipher)
259259 // / This one works on blocks of Cipher.BufferSize bytes, when using a
260260 // / blockcipher that's equal to Cipher.BlockSize.
261261 // / </summary>
262- procedure DecodeECBx (Source, Dest: PByteArray ; Size: Integer); virtual ;
262+ procedure DecodeECBx (Source, Dest: PUInt8Array ; Size: Integer); virtual ;
263263 // / <summary>
264264 // / 8 bit Output Feedback mode, needs no padding
265265 // / </summary>
266- procedure DecodeOFB8 (Source, Dest: PByteArray ; Size: Integer); virtual ;
266+ procedure DecodeOFB8 (Source, Dest: PUInt8Array ; Size: Integer); virtual ;
267267 // / <summary>
268268 // / 8 bit Cipher Feedback mode, needs no padding and works on 8 bit
269269 // / Feedback Shift Registers.
270270 // / </summary>
271- procedure DecodeCFB8 (Source, Dest: PByteArray ; Size: Integer); virtual ;
271+ procedure DecodeCFB8 (Source, Dest: PUInt8Array ; Size: Integer); virtual ;
272272 // / <summary>
273273 // / 8 Bit CFS, double Cipher Feedback mode (CFB), needs no padding and
274274 // / works on 8 bit Feedback Shift Registers.
275275 // / This one is a proprietary mode developed by Hagen Reddmann. This mode
276276 // / works as cmCBCx, cmCFBx, cmCFB8 but with double XOR'ing of the
277277 // / inputstream into Feedback register.
278278 // / </summary>
279- procedure DecodeCFS8 (Source, Dest: PByteArray ; Size: Integer); virtual ;
279+ procedure DecodeCFS8 (Source, Dest: PUInt8Array ; Size: Integer); virtual ;
280280 // / <summary>
281281 // / Cipher Feedback mode (CFB) on Blocksize of Cipher, needs no padding
282282 // / This one works on blocks of Cipher.BufferSize bytes, when using a
283283 // / blockcipher that's equal to Cipher.BlockSize.
284284 // / </summary>
285- procedure DecodeCFBx (Source, Dest: PByteArray ; Size: Integer); virtual ;
285+ procedure DecodeCFBx (Source, Dest: PUInt8Array ; Size: Integer); virtual ;
286286 // / <summary>
287287 // / Output Feedback mode on Blocksize of Cipher, needs no padding and
288288 // / works on 8 bit Feedback Shift Registers.
289289 // / This one works on blocks of Cipher.BufferSize bytes, when using a
290290 // / blockcipher that's equal to Cipher.BlockSize.
291291 // / </summary>
292- procedure DecodeOFBx (Source, Dest: PByteArray ; Size: Integer); virtual ;
292+ procedure DecodeOFBx (Source, Dest: PUInt8Array ; Size: Integer); virtual ;
293293 // / <summary>
294294 // / double Cipher Feedback mode (CFB) on Blocksize of Cipher, needs no padding.
295295 // / This one works on blocks of Cipher.BufferSize bytes, when using a
@@ -298,7 +298,7 @@ TDECCipherModes = class(TDECCipher, IDECAuthenticatedCipher)
298298 // / works as cmCBCx, cmCFBx, cmCFB8 but with double XOR'ing of the
299299 // / inputstream into Feedback register.
300300 // / </summary>
301- procedure DecodeCFSx (Source, Dest: PByteArray ; Size: Integer); virtual ;
301+ procedure DecodeCFSx (Source, Dest: PUInt8Array ; Size: Integer); virtual ;
302302 // / <summary>
303303 // / Cipher Block Chaining, with CFB8 padding of truncated final block.
304304 // / It needs no external padding, because internally the last
@@ -308,7 +308,7 @@ TDECCipherModes = class(TDECCipher, IDECAuthenticatedCipher)
308308 // / This one works on blocks of Cipher.BufferSize bytes, when using a
309309 // / blockcipher that's equal to Cipher.BlockSize.
310310 // / </summary>
311- procedure DecodeCBCx (Source, Dest: PByteArray ; Size: Integer); virtual ;
311+ procedure DecodeCBCx (Source, Dest: PUInt8Array ; Size: Integer); virtual ;
312312 // / <summary>
313313 // / double CBC, with CFS8 padding of truncated final block
314314 // / It needs no external padding, because internally the last
@@ -321,11 +321,11 @@ TDECCipherModes = class(TDECCipher, IDECAuthenticatedCipher)
321321 // / works as cmCBCx, cmCFBx, cmCFB8 but with double XOR'ing of the
322322 // / inputstream into feedback register.
323323 // / </summary>
324- procedure DecodeCTSx (Source, Dest: PByteArray ; Size: Integer); virtual ;
324+ procedure DecodeCTSx (Source, Dest: PUInt8Array ; Size: Integer); virtual ;
325325 // / <summary>
326326 // / Galois Counter Mode, details are implemented in DECCipherModesGCM
327327 // / </summary>
328- procedure DecodeGCM (Source, Dest: PByteArray ; Size: Integer); virtual ;
328+ procedure DecodeGCM (Source, Dest: PUInt8Array ; Size: Integer); virtual ;
329329 { $IFDEF DEC3_CMCTS}
330330 // / <summary>
331331 // / double CBC
@@ -339,7 +339,7 @@ TDECCipherModes = class(TDECCipher, IDECAuthenticatedCipher)
339339 // / <remarks>
340340 // / For DEC 3.0 compatibility only
341341 // / </remarks>
342- procedure DecodeCTS3 (Source, Dest: PByteArray ; Size: Integer); virtual ;
342+ procedure DecodeCTS3 (Source, Dest: PUInt8Array ; Size: Integer); virtual ;
343343 { $ENDIF}
344344 // / <summary>
345345 // / When setting mode to GCM the GCM implementing class instance needs to
@@ -521,7 +521,7 @@ procedure TDECCipherModes.Encode(const Source; var Dest; DataSize: Integer);
521521 end ;
522522end ;
523523
524- procedure TDECCipherModes.EncodeECBx (Source, Dest: PByteArray ; Size: Integer);
524+ procedure TDECCipherModes.EncodeECBx (Source, Dest: PUInt8Array ; Size: Integer);
525525var
526526 I: Integer;
527527begin
@@ -556,7 +556,7 @@ procedure TDECCipherModes.EncodeECBx(Source, Dest: PByteArray; Size: Integer);
556556 end ;
557557end ;
558558
559- procedure TDECCipherModes.EncodeOFB8 (Source, Dest: PByteArray ; Size: Integer);
559+ procedure TDECCipherModes.EncodeOFB8 (Source, Dest: PUInt8Array ; Size: Integer);
560560var
561561 I: Integer;
562562begin
@@ -572,7 +572,7 @@ procedure TDECCipherModes.EncodeOFB8(Source, Dest: PByteArray; Size: Integer);
572572 FState := csEncode;
573573end ;
574574
575- procedure TDECCipherModes.EncodeCFB8 (Source, Dest: PByteArray ; Size: Integer);
575+ procedure TDECCipherModes.EncodeCFB8 (Source, Dest: PUInt8Array ; Size: Integer);
576576// CFB-8
577577var
578578 I: Integer;
@@ -589,7 +589,7 @@ procedure TDECCipherModes.EncodeCFB8(Source, Dest: PByteArray; Size: Integer);
589589 FState := csEncode;
590590end ;
591591
592- procedure TDECCipherModes.EncodeCFS8 (Source, Dest: PByteArray ; Size: Integer);
592+ procedure TDECCipherModes.EncodeCFS8 (Source, Dest: PUInt8Array ; Size: Integer);
593593// CFS-8, CTS as CFB
594594var
595595 I: Integer;
@@ -606,7 +606,7 @@ procedure TDECCipherModes.EncodeCFS8(Source, Dest: PByteArray; Size: Integer);
606606 FState := csEncode;
607607end ;
608608
609- procedure TDECCipherModes.EncodeCFBx (Source, Dest: PByteArray ; Size: Integer);
609+ procedure TDECCipherModes.EncodeCFBx (Source, Dest: PUInt8Array ; Size: Integer);
610610// CFB-BlockSize
611611var
612612 I: Integer;
@@ -650,7 +650,7 @@ procedure TDECCipherModes.EncodeCFBx(Source, Dest: PByteArray; Size: Integer);
650650 end ;
651651end ;
652652
653- procedure TDECCipherModes.EncodeOFBx (Source, Dest: PByteArray ; Size: Integer);
653+ procedure TDECCipherModes.EncodeOFBx (Source, Dest: PUInt8Array ; Size: Integer);
654654// OFB-BlockSize
655655var
656656 I: Integer;
@@ -748,7 +748,7 @@ procedure TDECCipherModes.InitMode;
748748 FreeAndNil(FGCM);
749749end ;
750750
751- procedure TDECCipherModes.EncodeCFSx (Source, Dest: PByteArray ; Size: Integer);
751+ procedure TDECCipherModes.EncodeCFSx (Source, Dest: PUInt8Array ; Size: Integer);
752752// CFS-BlockSize
753753var
754754 I: Integer;
@@ -788,7 +788,7 @@ procedure TDECCipherModes.EncodeCFSx(Source, Dest: PByteArray; Size: Integer);
788788 end ;
789789end ;
790790
791- procedure TDECCipherModes.EncodeCBCx (Source, Dest: PByteArray ; Size: Integer);
791+ procedure TDECCipherModes.EncodeCBCx (Source, Dest: PUInt8Array ; Size: Integer);
792792var
793793 F: PUInt8Array;
794794 I: Integer;
@@ -815,7 +815,7 @@ procedure TDECCipherModes.EncodeCBCx(Source, Dest: PByteArray; Size: Integer);
815815 FState := csEncode;
816816end ;
817817
818- procedure TDECCipherModes.EncodeCTSx (Source, Dest: PByteArray ; Size: Integer);
818+ procedure TDECCipherModes.EncodeCTSx (Source, Dest: PUInt8Array ; Size: Integer);
819819var
820820 I: Integer;
821821begin
@@ -838,7 +838,7 @@ procedure TDECCipherModes.EncodeCTSx(Source, Dest: PByteArray; Size: Integer);
838838 FState := csEncode;
839839end ;
840840
841- procedure TDECCipherModes.EncodeGCM (Source, Dest: PByteArray ; Size: Integer);
841+ procedure TDECCipherModes.EncodeGCM (Source, Dest: PUInt8Array ; Size: Integer);
842842var
843843 PlainText,
844844 CipherText : TBytes;
@@ -858,7 +858,7 @@ procedure TDECCipherModes.EncodeGCM(Source, Dest: PByteArray; Size: Integer);
858858end ;
859859
860860{ $IFDEF DEC3_CMCTS}
861- procedure TDECCipherModes.EncodeCTS3 (Source, Dest: PByteArray ; Size: Integer);
861+ procedure TDECCipherModes.EncodeCTS3 (Source, Dest: PUInt8Array ; Size: Integer);
862862var
863863 I: Integer;
864864begin
@@ -903,7 +903,7 @@ procedure TDECCipherModes.Decode(const Source; var Dest; DataSize: Integer);
903903 end ;
904904end ;
905905
906- procedure TDECCipherModes.DecodeECBx (Source, Dest: PByteArray ; Size: Integer);
906+ procedure TDECCipherModes.DecodeECBx (Source, Dest: PUInt8Array ; Size: Integer);
907907var
908908 I: Integer;
909909begin
@@ -938,7 +938,7 @@ procedure TDECCipherModes.DecodeECBx(Source, Dest: PByteArray; Size: Integer);
938938 end ;
939939end ;
940940
941- procedure TDECCipherModes.DecodeGCM (Source, Dest: PByteArray ; Size: Integer);
941+ procedure TDECCipherModes.DecodeGCM (Source, Dest: PUInt8Array ; Size: Integer);
942942var
943943 PlainText,
944944 CipherText : TBytes;
@@ -957,7 +957,7 @@ procedure TDECCipherModes.DecodeGCM(Source, Dest: PByteArray; Size: Integer);
957957 FGCM.DecodeGCM(PlainText, CipherText, Size);
958958end ;
959959
960- procedure TDECCipherModes.DecodeCFB8 (Source, Dest: PByteArray ; Size: Integer);
960+ procedure TDECCipherModes.DecodeCFB8 (Source, Dest: PUInt8Array ; Size: Integer);
961961// CFB-8
962962var
963963 I: Integer;
@@ -974,7 +974,7 @@ procedure TDECCipherModes.DecodeCFB8(Source, Dest: PByteArray; Size: Integer);
974974 FState := csDecode;
975975end ;
976976
977- procedure TDECCipherModes.DecodeOFB8 (Source, Dest: PByteArray ; Size: Integer);
977+ procedure TDECCipherModes.DecodeOFB8 (Source, Dest: PUInt8Array ; Size: Integer);
978978// same as EncodeOFB
979979var
980980 I: Integer;
@@ -991,7 +991,7 @@ procedure TDECCipherModes.DecodeOFB8(Source, Dest: PByteArray; Size: Integer);
991991 FState := csDecode;
992992end ;
993993
994- procedure TDECCipherModes.DecodeCFS8 (Source, Dest: PByteArray ; Size: Integer);
994+ procedure TDECCipherModes.DecodeCFS8 (Source, Dest: PUInt8Array ; Size: Integer);
995995var
996996 I: Integer;
997997begin
@@ -1007,7 +1007,7 @@ procedure TDECCipherModes.DecodeCFS8(Source, Dest: PByteArray; Size: Integer);
10071007 FState := csDecode;
10081008end ;
10091009
1010- procedure TDECCipherModes.DecodeCFBx (Source, Dest: PByteArray ; Size: Integer);
1010+ procedure TDECCipherModes.DecodeCFBx (Source, Dest: PUInt8Array ; Size: Integer);
10111011// CFB-BlockSize
10121012var
10131013 I: Integer;
@@ -1063,7 +1063,7 @@ procedure TDECCipherModes.DecodeCFBx(Source, Dest: PByteArray; Size: Integer);
10631063 end ;
10641064end ;
10651065
1066- procedure TDECCipherModes.DecodeOFBx (Source, Dest: PByteArray ; Size: Integer);
1066+ procedure TDECCipherModes.DecodeOFBx (Source, Dest: PUInt8Array ; Size: Integer);
10671067// OFB-BlockSize, same as EncodeOFBx
10681068var
10691069 I: Integer;
@@ -1127,7 +1127,7 @@ procedure TDECCipherModes.OnAfterInitVectorInitialization(const OriginalInitVect
11271127 FGCM.Init(self.DoEncode, OriginalInitVector);
11281128end ;
11291129
1130- procedure TDECCipherModes.DecodeCFSx (Source, Dest: PByteArray ; Size: Integer);
1130+ procedure TDECCipherModes.DecodeCFSx (Source, Dest: PUInt8Array ; Size: Integer);
11311131// CFS-BlockSize
11321132var
11331133 I: Integer;
@@ -1168,7 +1168,7 @@ procedure TDECCipherModes.DecodeCFSx(Source, Dest: PByteArray; Size: Integer);
11681168 end ;
11691169end ;
11701170
1171- procedure TDECCipherModes.DecodeCBCx (Source, Dest: PByteArray ; Size: Integer);
1171+ procedure TDECCipherModes.DecodeCBCx (Source, Dest: PUInt8Array ; Size: Integer);
11721172var
11731173 I: Integer;
11741174 F, B, T: PUInt8Array;
@@ -1212,7 +1212,7 @@ procedure TDECCipherModes.DecodeCBCx(Source, Dest: PByteArray; Size: Integer);
12121212 FState := csDecode;
12131213end ;
12141214
1215- procedure TDECCipherModes.DecodeCTSx (Source, Dest: PByteArray ; Size: Integer);
1215+ procedure TDECCipherModes.DecodeCTSx (Source, Dest: PUInt8Array ; Size: Integer);
12161216var
12171217 I: Integer;
12181218 F, B, T: PUInt8Array;
@@ -1244,10 +1244,10 @@ procedure TDECCipherModes.DecodeCTSx(Source, Dest: PByteArray; Size: Integer);
12441244end ;
12451245
12461246{ $IFDEF DEC3_CMCTS}
1247- procedure DecodeCTS3 (Source, Dest: PByteArray ; Size: Integer);
1247+ procedure DecodeCTS3 (Source, Dest: PUInt8Array ; Size: Integer);
12481248var
12491249 I: Integer;
1250- F, B, T: PByteArray ;
1250+ F, B, T: PUInt8Array ;
12511251begin
12521252 Dec(Size, FBufferSize);
12531253 F := FFeedback;
0 commit comments