Giáo trình Mật mã học (Phần 2)

Tóm tắt Giáo trình Mật mã học (Phần 2): ...ã gửi thì R đã đ−ợc xác thực đối với S .S gửi trả ( )NEX cho R . 7. Nếu R thu đ−ợc N đã gửi ở b−ớc 4 thì S đã đ−ợc xác thực đối với R . Sau khi Clipper đã hoμn thμnh việc trao đổi khóa, nó bắt đầu l−u chuyển thông báo với bên thu (mỗi thông báo có kèm Giáo trình Mật mã học 218 theo LEA...o ra một đầu ra có kích th−ớc đúng bằng kích th−ớc đầu vμo hoặc hơi lớn hơn một chút. (Một vector khởi tạo hoặc các bit độn lμm đầy đủ cho khối cuối cùng sẽ lμm tăng tối đa lμ một hoặc hai khối). Trong các thuật toán công khai, đầu ra có quan hệ với kích th−ớc đầu vμo nh−ng không nhất thiế...máy chủ. CSDL Máy chủ xác thực (AS) Máy chủ cấp thẻ (TGS) Cơ sở dữ liệu (3) Trạm làm việc nhắc nhở ng−ời dùng đ−a vào mật khẩu để giải mã thông tin tới rồi gửi thẻ và chứng chỉ xác thực có chứa tên ng−ời sử dụng, địa chỉ mạng và thời gian tới TGS Một lần với mỗi phiên đă...

pdf168 trang | Chia sẻ: havih72 | Lượt xem: 103 | Lượt tải: 0download
Nội dung tài liệu Giáo trình Mật mã học (Phần 2), để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
0400L, 
 0#00000404L, 0#01000400L, 0#01000400L, 0#00000000L, 
 0#00010004L, 0#00010400L, 0#00000000L, 0#01010004L }; 
static unsigned long SP2[64] = { 
 0x80108020L, 0x80008000L, 0#00008000L, 0#00108020L, 
 0#00100000L, 0#00000020L, 0x80100020L, 0x80008020L, 
 0x80000020L, 0x80108020L, 0x80108000L, 0x80000000L, 
Phần Phụ lục 
321
 0x80008000L, 0#00100000L, 0#00000020L, 0x80100020L, 
 0#00108000L, 0#00100020L, 0x80008020L, 0#00000000L, 
 0x80000000L, 0#00008000L, 0#00108020L, 0x80100000L, 
 0#00100020L, 0x80000020L, 0#00000000L, 0#00108000L, 
 0#00008020L, 0x80108000L, 0x80100000L, 0#00008020L, 
 0#00000000L, 0#00108020L, 0x80100020L, 0#00100000L, 
 0x80008020L, 0x80100000L, 0x80108000L, 0#00008000L, 
 0x80100000L, 0x80008000L, 0#00000020L, 0x80108020L, 
 0#00108020L, 0#00000020L, 0#00008000L, 0x80000000L, 
 0#00008020L, 0x80108000L, 0#00100000L, 0x80000020L, 
 0#00100020L, 0x80008020L, 0x80000020L, 0#00100020L, 
 0#00108000L, 0#00000000L, 0x80008000L, 0#00008020L, 
 0x80000000L, 0x80100020L, 0x80108020L, 0#00108000L }; 
static unsigned long SP3[64] = { 
 0#00000208L, 0#08020200L, 0#00000000L, 0#08020008L, 
 0#08000200L, 0#00000000L, 0#00020208L, 0#08000200L, 
 0#00020008L, 0#08000008L, 0#08000008L, 0#00020000L, 
 0#08020208L, 0#00020008L, 0#08020000L, 0#00000208L, 
 0#08000000L, 0#00000008L, 0#08020200L, 0#00000200L, 
 0#00020200L, 0#08020000L, 0#08020008L, 0#00020208L, 
 0#08000208L, 0#00020200L, 0#00020000L, 0#08000208L, 
 0#00000008L, 0#08020208L, 0#00000200L, 0#08000000L, 
 0#08020200L, 0#08000000L, 0#00020008L, 0#00000208L, 
 0#00020000L, 0#08020200L, 0#08000200L, 0#00000000L, 
 0#00000200L, 0#00020008L, 0#08020208L, 0#08000200L, 
 0#08000008L, 0#00000200L, 0#00000000L, 0#08020008L, 
 0#08000208L, 0#00020000L, 0#08000000L, 0#08020208L, 
 0#00000008L, 0#00020208L, 0#00020200L, 0#08000008L, 
 0#08020000L, 0#08000208L, 0#00000208L, 0#08020000L, 
 0#00020208L, 0#00000008L, 0#08020008L, 0#00020200L }; 
static unsigned long SP4[64] = { 
 0#00802001L, 0#00002081L, 0#00002081L, 0#00000080L, 
 0#00802080L, 0#00800081L, 0#00800001L, 0#00002001L, 
 0#00000000L, 0#00802000L, 0#00802000L, 0#00802081L, 
 0#00000081L, 0#00000000L, 0#00800080L, 0#00800001L, 
 0#00000001L, 0#00002000L, 0#00800000L, 0#00802001L, 
 0#00000080L, 0#00800000L, 0#00002001L, 0#00002080L, 
 0#00800081L, 0#00000001L, 0#00002080L, 0#00800080L, 
 0#00002000L, 0#00802080L, 0#00802081L, 0#00000081L, 
 0#00800080L, 0#00800001L, 0#00802000L, 0#00802081L, 
 0#00000081L, 0#00000000L, 0#00000000L, 0#00802000L, 
Giáo trình Mật mã học 
322 
 0#00002080L, 0#00800080L, 0#00800081L, 0#00000001L, 
 0#00802001L, 0#00002081L, 0#00002081L, 0#00000080L, 
 0#00802081L, 0#00000081L, 0#00000001L, 0#00002000L, 
 0#00800001L, 0#00002001L, 0#00802080L, 0#00800081L, 
 0#00002001L, 0#00002080L, 0#00800000L, 0#00802001L, 
 0#00000080L, 0#00800000L, 0#00002000L, 0#00802080L }; 
static unsigned long SP5[64] = { 
 0#00000100L, 0#02080100L, 0#02080000L, 0x42000100L, 
 0#00080000L, 0#00000100L, 0x40000000L, 0#02080000L, 
 0x40080100L, 0#00080000L, 0#02000100L, 0x40080100L, 
 0x42000100L, 0x42080000L, 0#00080100L, 0x40000000L, 
 0#02000000L, 0x40080000L, 0x40080000L, 0#00000000L, 
 0x40000100L, 0x42080100L, 0x42080100L, 0#02000100L, 
 0x42080000L, 0x40000100L, 0#00000000L, 0x42000000L, 
 0#02080100L, 0#02000000L, 0x42000000L, 0#00080100L, 
 0#00080000L, 0x42000100L, 0#00000100L, 0#02000000L, 
 0x40000000L, 0#02080000L, 0x42000100L, 0x40080100L, 
 0#02000100L, 0x40000000L, 0x42080000L, 0#02080100L, 
 0x40080100L, 0#00000100L, 0#02000000L, 0x42080000L, 
 0x42080100L, 0#00080100L, 0x42000000L, 0x42080100L, 
 0#02080000L, 0#00000000L, 0x40080000L, 0x42000000L, 
 0#00080100L, 0#02000100L, 0x40000100L, 0#00080000L, 
 0#00000000L, 0x40080000L, 0#02080100L, 0x40000100L }; 
static unsigned long SP6[64] = { 
 0x20000010L, 0x20400000L, 0#00004000L, 0x20404010L, 
 0x20400000L, 0#00000010L, 0x20404010L, 0#00400000L, 
 0x20004000L, 0#00404010L, 0#00400000L, 0x20000010L, 
 0#00400010L, 0x20004000L, 0x20000000L, 0#00004010L, 
 0#00000000L, 0#00400010L, 0x20004010L, 0#00004000L, 
 0#00404000L, 0x20004010L, 0#00000010L, 0x20400010L, 
 0x20400010L, 0#00000000L, 0#00404010L, 0x20404000L, 
 0#00004010L, 0#00404000L, 0x20404000L, 0x20000000L, 
 0x20004000L, 0#00000010L, 0x20400010L, 0#00404000L, 
 0x20404010L, 0#00400000L, 0#00004010L, 0x20000010L, 
 0#00400000L, 0x20004000L, 0x20000000L, 0#00004010L, 
 0x20000010L, 0x20404010L, 0#00404000L, 0x20400000L, 
 0#00404010L, 0x20404000L, 0#00000000L, 0x20400010L, 
 0#00000010L, 0#00004000L, 0x20400000L, 0#00404010L, 
 0#00004000L, 0#00400010L, 0x20004010L, 0#00000000L, 
 0x20404000L, 0x20000000L, 0#00400010L, 0x20004010L }; 
Phần Phụ lục 
323
static unsigned long SP7[64] = { 
 0#00200000L, 0#04200002L, 0#04000802L, 0#00000000L, 
 0#00000800L, 0#04000802L, 0#00200802L, 0#04200800L, 
 0#04200802L, 0#00200000L, 0#00000000L, 0#04000002L, 
 0#00000002L, 0#04000000L, 0#04200002L, 0#00000802L, 
 0#04000800L, 0#00200802L, 0#00200002L, 0#04000800L, 
 0#04000002L, 0#04200000L, 0#04200800L, 0#00200002L, 
 0#04200000L, 0#00000800L, 0#00000802L, 0#04200802L, 
 0#00200800L, 0#00000002L, 0#04000000L, 0#00200800L, 
 0#04000000L, 0#00200800L, 0#00200000L, 0#04000802L, 
 0#04000802L, 0#04200002L, 0#04200002L, 0#00000002L, 
 0#00200002L, 0#04000000L, 0#04000800L, 0#00200000L, 
 0#04200800L, 0#00000802L, 0#00200802L, 0#04200800L, 
 0#00000802L, 0#04000002L, 0#04200802L, 0#04200000L, 
 0#00200800L, 0#00000000L, 0#00000002L, 0#04200802L, 
 0#00000000L, 0#00200802L, 0#04200000L, 0#00000800L, 
 0#04000002L, 0#04000800L, 0#00000800L, 0#00200002L }; 
static unsigned long SP8[64] = { 
 0x10001040L, 0#00001000L, 0#00040000L, 0x10041040L, 
 0x10000000L, 0x10001040L, 0#00000040L, 0x10000000L, 
 0#00040040L, 0x10040000L, 0x10041040L, 0#00041000L, 
 0x10041000L, 0#00041040L, 0#00001000L, 0#00000040L, 
 0x10040000L, 0x10000040L, 0x10001000L, 0#00001040L, 
 0#00041000L, 0#00040040L, 0x10040040L, 0x10041000L, 
 0#00001040L, 0#00000000L, 0#00000000L, 0x10040040L, 
 0x10000040L, 0x10001000L, 0#00041040L, 0#00040000L, 
 0#00041040L, 0#00040000L, 0x10041000L, 0#00001000L, 
 0#00000040L, 0x10040040L, 0#00001000L, 0#00041040L, 
 0x10001000L, 0#00000040L, 0x10000040L, 0x10040000L, 
 0x10040040L, 0x10000000L, 0#00040000L, 0x10001040L, 
 0#00000000L, 0x10041040L, 0#00040040L, 0x10000040L, 
 0x10040000L, 0x10001000L, 0x10001040L, 0#00000000L, 
 0x10041040L, 0#00041000L, 0#00041000L, 0#00001040L, 
 0#00001040L, 0#00040040L, 0x10000000L, 0x10041000L }; 
static void desfunc(block, keys) 
register unsigned long *block, *keys; 
{ 
 register unsigned long fval, work, right, leftt; 
 register int round; 
 leftt = block[0]; 
 right = block[1]; 
 work = ((leftt >> 4) ^ right) & 0#0f0f0f0fL; 
 right ^= work; 
 leftt ^= (work << 4); 
Giáo trình Mật mã học 
324 
 work = ((leftt >> 16) ^ right) & 0#0000ffffL; 
 right ^= work; 
 leftt ^= (work << 16); 
 work = ((right >> 2) ^ leftt) & 0x33333333L; 
 leftt ^= work; 
 right ^= (work << 2); 
 work = ((right >> 8) ^ leftt) & 0#00ff00ffL; 
 leftt ^= work; 
 right ^= (work << 8); 
 right = ((right > 31) & 1L)) & 0xffffffffL; 
 work = (leftt ^ right) & 0xaaaaaaaaL; 
 leftt ^= work; 
 right ^= work; 
 leftt = ((leftt > 31) & 1L)) & 0xffffffffL; 
 for( round = 0; round < 8; round++ ) { 
 work = (right > 4); 
 work ^= *keys++; 
 fval = SP7[ work & 0x3fL]; 
 fval |= SP5[(work >> 8) & 0x3fL]; 
 fval |= SP3[(work >> 16) & 0x3fL]; 
 fval |= SP1[(work >> 24) & 0x3fL]; 
 work = right ^ *keys++; 
 fval |= SP8[ work & 0x3fL]; 
 fval |= SP6[(work >> 8) & 0x3fL]; 
 fval |= SP4[(work >> 16) & 0x3fL]; 
 fval |= SP2[(work >> 24) & 0x3fL]; 
 leftt ^= fval; 
 work = (leftt > 4); 
 work ^= *keys++; 
 fval = SP7[ work & 0x3fL]; 
 fval |= SP5[(work >> 8) & 0x3fL]; 
 fval |= SP3[(work >> 16) & 0x3fL]; 
 fval |= SP1[(work >> 24) & 0x3fL]; 
 work = leftt ^ *keys++; 
 fval |= SP8[ work & 0x3fL]; 
 fval |= SP6[(work >> 8) & 0x3fL]; 
 fval |= SP4[(work >> 16) & 0x3fL]; 
 fval |= SP2[(work >> 24) & 0x3fL]; 
 right ^= fval; 
 } 
 right = (right > 1); 
 work = (leftt ^ right) & 0xaaaaaaaaL; 
 leftt ^= work; 
 right ^= work; 
 leftt = (leftt > 1); 
Phần Phụ lục 
325
 work = ((leftt >> 8) ^ right) & 0#00ff00ffL; 
 right ^= work; 
 leftt ^= (work << 8); 
 work = ((leftt >> 2) ^ right) & 0x33333333L; 
 right ^= work; 
 leftt ^= (work << 2); 
 work = ((right >> 16) ^ leftt) & 0#0000ffffL; 
 leftt ^= work; 
 right ^= (work << 16); 
 work = ((right >> 4) ^ leftt) & 0#0f0f0f0fL; 
 leftt ^= work; 
 right ^= (work << 4); 
 *block++ = right; 
 *block = leftt; 
 return; 
} 
/* Validation sets: 
 * 
 * Single-length key, single-length plaintext - 
 * Key : 0123 4567 89ab cdef 
 * Plain : 0123 4567 89ab cde7 
 * Cipher : c957 4425 6a5e d31d 
 * 
 **********************************************************************/ 
void des_key(des_ctx *dc, unsigned char *key){ 
 deskey(key,EN0); 
 cpkey(dc->ek); 
 deskey(key,DE1); 
 cpkey(dc->dk); 
} 
/* Encrypt several blocks in ECB mode. Caller is responsible for 
 short blocks. */ 
void des_enc(des_ctx *dc, unsigned char *data, int blocks){ 
 unsigned long work[2]; 
 int i; 
 unsigned char *cp; 
 cp = data; 
 for(i=0;iek); 
 unscrun(work,cp); 
 cp+=8; 
 } 
} 
void des_dec(des_ctx *dc, unsigned char *data, int blocks){ 
 unsigned long work[2]; 
 int i; 
Giáo trình Mật mã học 
326 
 unsigned char *cp; 
 cp = data; 
 for(i=0;idk); 
 unscrun(work,cp); 
 cp+=8; 
 } 
} 
void main(void){ 
 des_ctx dc; 
 int i; 
 unsigned long data[10]; 
 char *cp,key[8] = {0#01,0x23,0x45,0x67,0x89,0xab,0xcd,0xef}; 
 char x[8] = {0#01,0x23,0x45,0x67,0x89,0xab,0xcd,0xe7}; 
 cp = x; 
 des_key(&dc,key); 
 des_enc(&dc,cp,1); 
 printf("Enc(0..7,0..7) = "); 
 for(i=0;i<8;i++) printf("%02x ", ((unsigned int) cp[i])&0#00ff); 
 printf("\n"); 
 des_dec(&dc,cp,1); 
 printf("Dec(above,0..7) = "); 
 for(i=0;i<8;i++) printf("%02x ",((unsigned int)cp[i])&0#00ff); 
 printf("\n"); 
 cp = (char *) data; 
 for(i=0;i<10;i++)data[i]=i; 
 des_enc(&dc,cp,5); /* Enc 5 blocks. */ 
 for(i=0;i<10;i+=2) printf("Block %01d = %08lx %08lx.\n", 
 i/2,data[i],data[i+1]); 
 des_dec(&dc,cp,1); 
 des_dec(&dc,cp+8,4); 
 for(i=0;i<10;i+=2) printf("Block %01d = %08lx %08lx.\n", 
 i/2,data[i],data[i+1]); 
} 
thuật ngữ viết tắt 
DES Data Encryption Standard Chuẩn mã dữ liệu 
LAN Local Area Network Mạng cục bộ 
MDV Mã dịch vòng 
MTT Mã thay thế 
MHV Mã hoán vị 
ECB Electronic Code Book Chế độ quyển mã điện tử 
CFB Cripher Feedback Chế độ phản hồi mã 
CBC Cripher Block Chaining Chế độ liên kết khối mã 
RSA Rivest - Shamir - Adleman 
MAC Message Authentication Code Mã xác thực thông báo 
OWHF Oneway Hash Funtion Hàm băm một chiều 
CRHF Collision Resistant hash function Hàm băm khó va chạm 
MDC Manipulation Detection Code Mã phát hiện sự sửa đổi 
LSB Least Signification Bit Bit thấp nhất (có giá trị nhỏ 
nhất 
Header Tiêu đề 
IDEA International Data Encryption 
Algorithm 
Thuật toán mã hóa dữ liệu 
quốc tế 
PGP Pretty Good Privacy Thuật toán mã hóa PGP 
SET Secure Electronic Transaction Giao dịch điện tử an toàn 
LFSR Linear Feedback Sequence 
Register 
Thanh ghi hồi tiếp tuyến tính 
Firewall Bức t−ờng lửa 
Server Máy chủ 
Router Bộ định tuyến 
tμi liệu tham khảo 
[1] A. J. Menezes, P. C. Van Oorschot, S. A. Vanstone. 
Handbook of applied cryptography. CRC Press 1998. 
[2] B. Schneier. Applied Cryptography. John Wiley Press 1996. 
[3] D. R. Stinson. Cryptography. Theory and Practice. CRC Press 
1995. 
[4] Nguyen Binh. Crypto-system based on Cyclic Goemetric 
Progresssions over polynomial ring (Part 1). Circulant crypto-
system over polynomial ring (Part 2) 8th VietNam Conference on 
Radio and Electronics, 11-2002 
[5] M. R. A. Huth. Secure Communicating Systems. Cambridge 
University Press 2001. 
[6] W. Stallings. Network Security Essentials. Applications and 
Standards. Prentice Hall. 2000. 
[7] C. Pfleeger. Security in Computing. Prentice Hall. 1997. 
[8] R. Needham, M. Schroeder. Using Encryption for 
Authentication in large Networks of Computers. Comm ACM, 
v21 n12, Dec 1978. 
[9] G. Simmons. Contemporary Cryptology. IEEE Press 1992. 
[10] S. Bellovir, M. Merritt. Encrypted Key Exchange. 
Proc. IEEE Symp. Security and Privacy 
 IEEE Comp Soc Press 1992. 
[11] D. Denning, D. Branstad. A Taxonomy of Key Escrow 
Encryption Systems. Comm ACM, v39 n3, Mar 1996. 
[12] M. Blum. Coin flipping by Telephone. SIGACT News, 1981. 
[13] S. Even. A Randomizing Protocol for Signing Contracts. Comm 
ACM, v28 n6, Jun 1985. 
[14] R. Merkle, M. Hellman. On the security of Multiple Encryption. 
Comm ACM, v24 n7, July 1981. 
[15] W. Tuchman, Hellman Presents No Shortcut Solutions to the 
DES. 
IEEE Spectrum, v16 n7, Jun 1979. 
[16] A.Shamir. Identity-based cryptorytions and signature schemes. 
 Advanced in Cryptology - CRYPTO'84, LNCS196 
Springer_Verlag, pp.47-53, 1985 
[17] E.Okamoto, K.Tanaka. Key distribution system based on 
identification information. 
 IEEE J.Selected Areas in communications, Vol.7,pp.481-485, 
1989. 
Mục lục 
Lời nói đầu ................................................................................................ 5 
Phần I. Các kiến thức toán học phụ trợ 
Ch−ơng 1: Bổ túc về lý thuyết số .......................................................... 9 
1.1. Số nguyên ....................................................................................... 9 
1.2. Các thuật toán trong Z ................................................................. 12 
1.3. Các số nguyên modulo n .............................................................. 15 
1.4. Các thuật toán trong Zn ............................................................... 22 
1.5. Các ký hiệu Legendre vμ Jacobi .................................................. 24 
1.6. Các số nguyên Blum ..................................................................... 30 
Bμi tập ................................................................................................. 31 
Ch−ơng 2: Đại số trừu t−ợng ............................................................... 35 
2.1. Nhóm .............................................................................................. 35 
2.2. Vμnh ............................................................................................... 38 
2.3. Tr−ờng ............................................................................................ 39 
2.4. Vμnh đa thức .................................................................................. 41 
Bμi tập ................................................................................................... 53 
Phần II. Các thuật toán mật mã 
Ch−ơng 3: Mật mã cổ điển .................................................................. 57 
3.1. Sơ đồ khối một hệ truyền tin mật ................................................. 57 
3.2. Mật mã thay thế ............................................................................ 58 
3.3. Mật mã hoán vị .............................................................................. 62 
3.4. Mật mã Hill .................................................................................... 64 
3.5. Hệ mật xây dựng trên các cấp số nhân xyclic 
trên vμnh đa thức .......................................................................... 70 
3.6. Mã Affine ........................................................................................ 81 
3.7. Các hệ mật mã tích ........................................................................ 88 
3.8. Các hệ mã dòng .............................................................................. 92 
3.9. Chuẩn mã dữ liệu .......................................................................... 98 
Bμi tập ................................................................................................ 120 
Ch−ơng 4: Mật mã khoá công khai .................................................. 127 
4.1. Giới thiệu về mật mã khoá công khai ......................................... 127 
4.2. Hệ mật RSA ................................................................................. 130 
4.3. Hệ mật Rabin .............................................................................. 133 
4.4. Hệ mật El Gamal ......................................................................... 136 
4.5. Hệ mật Merkle - Hellman ........................................................... 138 
4.6. Hệ mật Chor - Rivest................................................................... 141 
4.7. Hệ mật Mc Elice .......................................................................... 147 
4.8. Các hμm băm vμ tính toμn vẹn của dữ liệu ................................ 153 
Bμi tập ................................................................................................. 172 
Phần III. Các thủ tục vμ ứng dụng 
Ch−ơng 5: Các thủ tục vμ các chú ý trong thực tế 
khi sử dụng mã hoá ....................................................... 177 
5.1. Các thủ tục: hμnh vi vμ thứ tự ................................................... 177 
5.2. Các thủ tục để giải quyết vấn đề ................................................ 184 
5.3. Sử dụng mã hoá nh− thế nμo...................................................... 242 
5.4. Cải thiện độ mật của hệ mật ...................................................... 249 
5.5. Các chế độ mã hoá ....................................................................... 259 
5.6. Tóm l−ợc về các thủ tục vμ các ứng dụng thực tế ...................... 263 
Bμi tập ................................................................................................. 265 
Ch−ơng 6: Các chuẩn vμ áp dụng ..................................................... 267 
6.1. Bảo mật th− điện tử sử dụng PGP ............................................. 267 
6.2. Giao dịch điện tử an toμn (set) ................................................... 273 
6.3. ứng dụng xác thực - Kerberos .................................................... 279 
Bμi tập ................................................................................................. 286 
Phần phụ lục 
Phụ lục 1: Lý thuyết thông tin trong các hệ mật .......................... 289 
Phụ lục 2: Tạo số giả ngẫu nhiên ................................................... 311 
Phụ lục 3: Mã nguồn DES .............................................................. 316 
Thuật ngữ viết tắt ................................................................................ 327 
Tμi liệu tham khảo .............................................................................. 329 
giáo trình 
mật mã học 
Chịu trách nhiệm xuất bản 
L−u Đức Văn 
Chịu trách nhiệm bản thảo 
học viện công nghệ b−u chính viễn thông 
Biên tập : Đμo thị minh - bùi đức khánh 
Chế bản : Vũ Hồng Nhung 
Sửa bản in : bùi đức khánh 
Trình bày bìa : Bùi ngọc khoa 
(Giáo trình này đ−ợc ban hành theo Quyết định số 219/QĐ-QLNCKH 
ngày 29/4/2003 của Giám đốc Học viện Công nghệ B−u chính Viễn thông) 
nhμ xuất bản b−u điện 
Trụ sở : 18 Nguyễn Du, TP. Hà Nội 
Điện thoại : 04-9431283, 04-9432438 Fax: 04-9431285 
E-mail : bientap@hn.vnn.vn 
Chi nhánh : 27 Nguyễn Bỉnh Khiêm, Quận I, TP. Hồ Chí Minh 
Điện thoại : 08-9100925 Fax: 08-9100924 
E-mail : chinhanh-nxbbd@hcm.vnn.vn 
M∙ số: HV 01 HM 04 
M∙ số: HV 01 HM 04 
M∙ số: HV 01 HM 04 
In 700 cuốn, khổ 16 x 24 cm tại Công ty In Khoa học kỹ thuật 
Số xuất bản: 1783/521/XB-QLXB do Cục Xuất bản cấp ngày 19/12/2003 
In xong và nộp l−u chiểu tháng 02 năm 2004. 

File đính kèm:

  • pdfgiao_trinh_mat_ma_hoc_phan_2.pdf