Методы и задачи криптографической защиты информации. Мартынов А.И. - 58 стр.

UptoLike

Составители: 

procedure TForm1.unpack(cblock:block; var cbitblock:bitblock);
var
//  
i,j:integer;
begin
//    
for i:=1 to sblock do begin
//   2-  
for j:=8 downto 1 do begin
//      2   
cbitblock[(i-1)*8+j]:=ord(cblock[i]) mod 2;
//       2
cblock[i]:=chr(ord(cblock[i]) div 2);
end;
end;
end;
//       
// cblock -   
// cbitblock -   cblock
//  :   

//   ,      
pack
procedure TForm1.pack(var cblock:block; cbitblock:bitblock);
var
//  
i,j:integer;
begin
//    
for i:=1 to sblock do begin
cblock[i] := #0;
for j:=1 to 8 do
// ""    
cblock[i] := chr((ord(cblock[i]) shl 1) or cbitblock[(i-
1)*8+j]);
end;
end;
// ,      n  
 
// cbitblock -   
// n -  
// shift -  : sright -  , sleft -
 
// return -  ,   n   

//  :      ,  n
- 
//      
function TForm1.shiftblock(cbitblock:bitblock; n:integer;
shift:tshift):bitblock;
var
//     
i,k:integer;
//      
cshiftblock:bitblock;
begin