. , , , . , . , , , . , .
? , , , , , . , .
1) , , 2) , , , ( - - ). , , .
:
- (. Huffman), , ,
- - (. Lempel, Ziv), , "" .
(ARJ, RAR, ZIP ..) LZH.
, 256- , , , . , , 8, , .
, , ( ). , , . (. 1). ( , ). , (.2). ( ), , . , (.2 2). : , . , , 0 1 , 0, 1. , . 4.5 "" "000", "" "01", "" "001", "" "1".
|
|
, , - . . , , . , - . , "0100010100001" "": "01-00010100001", "" "01-000-10100001", "01-000-1-01-000-01" "".
-
- LZ77, , . : " , , (, ), ". "__" "(-4,3)_(-5,4)_(-14,7)".
RLE (. Run Length Encoding), , . , , "". RLE "(,7)", LZ77: "(-1,6)". , ( 30-40%), LZ77 , RLE.
, , , 128 , 256 , , , . , , , . , , 128- (32 ). 8-12 , , , , - , , . , , .
|
|
, , , . - ( . hashing ). - , :
- - ,
- - ,
- ,
- , -.
- , , 0..2N-1, N , .
, , 3 4 -, . - -. . - , . .
-.
, . - H0 0, - , , :
Hj=Hj-1 XOR EnCrypt(Hj-1,PSWj),
EnCrypt(X,Key) (.1).
Hk .
.1.
, , , , . , -, , . , , 128 16 -, 32 . , - 2 "" .
: 1) "" -, , , , 256 ; 2) , - "" .
|
|
, , - . , . "Tandem DM" (.2):
G0=0; H0=0;
FOR J = 1 TO N DO
BEGIN
TMP=EnCrypt(H,[G,PSWj]); H'=H XOR TMP;
TMP=EnCrypt(G,[PSWj,TMP]); G'=G XOR TMP;
END;
Key=[Gk,Hk]
(X16=[A8,B8]) () . EnCrypt(X,Key) . , , . , , - . , 20 128 - 3 .
: , , , , , ( !) .
, 256 , . , : , , , , . 32 ASCII . , .
-. 252 'FC'; 26, CTRL-Z, '1A'. : 4 .
68 ( , ). , 6 (26<68), 3 4- ( ) . Base64 ( RFC1251).
4 24- , . 4 6- , base64. base64 .
|
|
6- 64- . , , . , , (".", CR, LF).
Base64
0 A 17 R 34 i 51 z
1 B 18 S 35 j 52 0
2 C 19 T 36 k 53 1
3 D 20 U 37 l 54 2
4 E 21 V 38 m 55 3
5 F 22 W 39 n 56 4
6 G 23 X 40 o 57 5
7 H 24 Y 41 p 58 6
8 I 25 Z 42 q 59 7
9 J 26 a 43 r 60 8
10 K 27 b 44 s 61 9
11 L 28 c 45 t 62 +
12 M 29 d 46 u 63 /
13 N 30 e 47 v =
14 O 31 f 48 w
15 P 32 g 49 x
16 Q 33 h 50 y
( ) 76 . , 1, base64. Base64 , . 1, .. , , , - .
, 24 , 6- . 24- 0 3- 6- , - "=". 8- (.., ), :
- 24- ( 3). Base64 .
- "" 8 . Base64, "=".
- "" 16 . Base64 "=".
"=" , , . "=" , , 24, "="