unit Trip;
-{
- \83g\83\8a\83b\83v\82Ì\90¶\90¬
+{!
+\file Trip.pas
+\brief \83g\83\8a\83b\83v\82Ì\90¶\90¬
http://ghanyan.monazilla.org/trip.html
\82ð\8c³\82É\83M\83R\83i\83r\97p\82É\88Ú\90A\82³\82¹\82Ä\82¢\82½\82¾\82«\82Ü\82µ\82½\81B
EP : ^CryptOrdering;
end;
-// \83g\83\8a\83b\83v\82Ì\90¶\90¬
+{!
+\brief \83g\83\8a\83b\83v\82Ì\90¶\90¬
+\param pw \8c³\82É\82È\82é\83p\83X\83\8f\81[\83h
+\return \90¶\90¬\82³\82ê\82½\83g\83\8a\83b\83v
+}
function get_2ch_trip(
- const pw : PChar // \8c³\82É\82È\82é\83p\83X\83\8f\81[\83h
-) : string; // \90¶\90¬\82³\82ê\82½\83g\83\8a\83b\83v
+ const pw : PChar
+) : string;
const
kCryptInitialTr : CryptOrdering = ( o_data: (
implementation
-procedure memcpy(
- dst : PChar;
- src : PChar;
- size : Integer
-);
-begin
-
- while size > 0 do
- begin
- dst^ := src^;
- Inc( dst );
- Inc( src );
- Dec( size );
- end;
-
-end;
-
procedure transpose(
var data : CryptBlock;
var t : CryptOrdering;
temp : CryptOrdering;
begin
- memcpy( data.Key.b_data, k, sizeof(CryptBlock) );
+ Move( Pointer( k )^, data.Key.b_data, SizeOf(CryptBlock) );
temp := kCryptKeyTr1; transpose( data.Key, temp, 56 );
end;