Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 131 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
131
Dung lượng
1,32 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA ************ *********** NGUYỄN DUY DŨNG Đề tài: THỰC HIỆN DES TRÊN DSK TMS320006711 CHUYÊN NGÀNH: KỸ THUẬT VÔ TUYẾN – ĐIỆN TỬ MÃ SỐ NGÀNH: 2.07.01 LUẬN ÁN CAO HỌC TP HỒ CHÍ MINH, tháng 06 năm 2002 CÔNG TRÌNH ĐƯC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CÁN BỘ HƯỚNG DẪN KHOA HỌC: THẠC SĨ TRẦN VĂN SƯ PHÓ BỘ MÔN VIỄN THÔNG TRƯỜNG ĐẠI HỌC BÁCH KHOA TP HỒ CHÍ MINH CÁN BỘ CHẤM NHẬN XÉT 1: TIẾN SĨ LÊ TIẾN THƯỜNG CÁN BỘ CHẤM NHẬN XÉT 2: THẠC SĨ TỐNG VĂN ON Luận án Cao Học bảo vệ HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN CAO HỌC TRƯỜNG ĐẠI HỌC BÁCH KHOA ngày 01 tháng 07 năm 2002 BỘ GIÁO DỤC VÀ ĐÀO TẠO CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH Độc Lập – Tự Do – Hạnh Phúc TRƯỜNG ĐẠI HỌC BÁCH KHOA -oOo - NHIỆM VỤ LUẬN ÁN CAO HỌC Họ tên học viên: NGUYỄN DUY DŨNG Ngày sinh: 26/11/1976 Nơi sinh Quảng Ngãi Chuyên ngành: Kỹ Thuật Điện Tử – Vô Tuyến I TÊN ĐỀ TÀI: THỰC HIỆN DES TRÊN DSKTMS320006711 II NHIỆM VỤ VÀ NỘI DUNG ĐỀ TÀI NGHIÊN CỨU THUẬT TOÁN DES THỰC HIỆN GIẢI THUẬT DES TRÊN MATLAB • File text • File hình ảnh (.jpg hay bmp) NGHIÊN CỨU DSK THỰC HIỆN GIẢI THUẬT DES TRÊN DSK • Tín hiệu audio III NGÀY GIAO NHIỆM VỤ: 6/11/2001 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 01/07/2002 V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: Thạc Só Trần Văn Sư VI HỌ VÀ TÊN CÁN BỘ CHẤM NHẬN XÉT 1: Tiến Só Lê Tiến Thường VII HỌ VÀ TÊN CÁN BỘ CHẤM NHẬN XÉT 2: Thạc Só Tống Văn On CÁN BỘ HƯỚNG DẪN THẠC SĨ TRẦN VĂN SƯ CÁN BỘ NHẬN XÉT CÁN BỘ NHẬN XÉT TIẾN SĨ LÊ TIẾN THƯỜNG THẠC SĨ TỐNG VĂN ON Nội dung đề cương Luận án Cao Học thông qua Hội Đồng Chuyên Ngành Ngày 15 tháng 07 năm 2002 PHÒNG QLKH-SĐH TIẾN SĨ VŨ ĐÌNH THÀNH CHỦ NHIỆM NGÀNH MỤC LỤC I Giới thiệu chung bảo mật Giới thiệu chung bảo mật ………………………………………………………………………… Sự phát triển tiêu chuẩn mã hoá II …………………………………………………… 10 Lịch sử phát triển Sơ lược mã hoá thông thường ………………………………………… …………….…………………… 12 Cách viết mã ………………………………………………………………………………… ………………………………… 14 Phân tích mã ………………………………………………………………………………… ………………………………… 14 Một số kỹ thuật mã hóa thông thường ………………………………….………………………………… 15 4.1 Kỹ thuật thay thế…………………………………………………………………………………………… 15 4.2 Mã hoá Caesar ………………………………… ……………………………………………………… 15 4.3 Mã hoá ký tự đơn (monoalphabetic) …………………………………………………………… 16 4.4 Mật mã Palyfair …………………………………………………………….…………………………… 18 4.5 Mã hoá Hill ………………………………………………………………… …………………………… 19 4.6 Kỹ thuật chuyển vị ……………………………………………………………………………………… 20 4.7 Máy Quay ………………………………………………………………………………………… ……… 22 III Mã hoá thông thường – Kỹ thuật đại DES đơn giản (S-DES) …………………………………………………………………………………………………… 24 Phát từ khoá k S-DES ……………………………………………………………………………………… 26 Mã hoá S-DES ………………………………………………………………………………………………………………… 27 3.1 Hàm hóa vị hoán vị cuối ……………………………………………… 27 3.2 Hàm fK ………………………………………………………………………………………………………… 29 3.3 Hàm chuyển ………………………………………………………………………………………………… 30 3.4 Phân tích S-DES ………………………………………………………………………………………… 30 Mối liên hệ với DES ……………………………………………………………………………………………………… 31 Các nguyên lý mã hoá khối …………………………………………………………………………………………… 32 5.1 Mã hoá dòng mã hoá khối ……………………………………………………………………… 32 5.2 Cơ sở cấu trúc mã hoá Feistel ……………………………………………………………… 32 Mã hoá Feistel ……………………………………………………………………………………………………………… 34 6.1 Xáo trộn khuếch tán ……………………………………………………………………………… 34 6.2 Cấu trúc mã hoá Feistel ……………………………………………………………………………… 36 6.3 Thuật toán giải mã Feistel ………………………………………………………………………… 36 IV DES – Data Encryption Standard Lịch sử phát triển ……………………………………………………………………………………………………………… 40 Mô tả thuật toán DES ……………………………………………………………………………………………………… 41 2.1 Hàm hoá vị …………………………………………………………………………………… 43 2.2 Biến đổi từ khoá ……………………………………………………………………………………… 44 2.3 Hoán vị mở rộng ……………………………………………………………………………………… 45 2.4 Hàm thay S-box ……………………………………………………………………………………… 46 2.5 Hàm hoán đổi P-box …………………………………………………………………………………… 48 2.6 Hoán đổi sau IP-1 ……………………………………………………………………………… 48 2.7 Giải mã thuật toán DES ……………………………………………………………………………… 49 2.8 Hiệu ứng thác lũ thuật toán DES ……………………………………………………… 49 2.9 Sức mạnh thuật toán DES …………………………………………………………………… 49 Các mode hoạt động DES ………………………………………………………………………………… 50 3.1 Mode Electronic Codebook ECB ……………………………….……………………………… 50 3.2 Mode Cipher Block Chaining CBC ……………………………………………………………… 51 3.3 Mode Cipher FeedBack CFB ……………………………………………………………………… 53 3.4 Output Feedback mode OFB ………………………………………………………………………… 54 3.5 Chọn lựa mode mã hoá ………………………………………………………………………… 55 Các nguyên lý thiết kế mã hoá …………………………………………………………………………………… 57 4.1 Tiêu chuẩn thiết kế DES …………………………………………………………………………… 57 4.2 Thiết kế hàm F …………………………………………………………………………………………… 58 4.3 Thuật toán biểu khoá key …………………………………………………………………… 60 4.4 Key bù …………………………………………………………………………………………………………… 61 4.5 Một số ví dụ phương pháp phá mã DES ………………………………………………… 62 Một số phương pháp phân tích mã biết ………………………………………………………… 63 5.1 Phương pháp sai phân ………………………………………………………………………………… 63 5.2 Phân tích mã tuyến tính ………………………………………………………………………………… 66 V Giới thiệu C6711 DSP Starter Kit (DSK) Khái niệm xử lý số tính hiệu …………… ………………………………………………………………… 68 Các kỹ thuật sử dụng xử lý tín hiệu số ………………………………………………………… 69 Bộ xử lý số tín hiệu DSP Texas Instrument …………………………………………………… 69 Giới thiệu DSP 6711 ………………………………………………………………………………………………… 70 Cấu hình DSK (Digital Signal Processing Starter Kit) TMDS320006711 … 71 5.1 Phaàn cứng …………………………………………………………………………………………………… 71 5.2 Phần mềm …………………………………………………………………………………………………… 73 Một số công cụ tiện ích phần mềm Code Composer Studio …………………… 77 6.1 Công cụ DSP/BIOS ……………………………………………………………………………………… 77 6.2 Kiểm tra thuật toán liệu từ file …………………………………………… 78 VI Kết thực DES DSK TMDS320006711 Kết trình mô DSK TMDS320006711 ………………………… 83 Thí nghiệm kết luận mã hóa tín hiệu audio DSK ……………………………… 88 Mô tả thành phần thống kê ………………………………………………………………………………… 92 Mô tả từ khoá ……………………………………………………………………………………………………………………… 92 Mô hình khối thuật toán DES thực DSP …………………… 94 Dừng chương trình …………………………………………………………………………………………………………… 95 Kết mô thuật toán DES Matlab …………………………………………………… 95 7.1 Thực thuật toán DES với liệu text ………………………………………………… 95 7.2 Thực thuật toán DES với file hình ảnh ……………………………………………… 96 Các kiện giới xảy xung quanh thuật toán DES …………………… 97 8.1 Giới thiệu khung cảnh chung …….………… ………………………………………………………………… 97 8.2 Các thông tin chung thuật toán DES …………………………………………………………………… 98 VII Kết luận hướng phát triển đề tài Kết luận ……………………………………………………………………………………………………………………………… 106 Hướng mở rộng đề tài ……………………………………………………………………………………………………… 107 PHỤ LỤC A1 ……………………………………………………………………………………………………………………………………… 109 PHUÏ LUÏC A2 ……………………………………………………………………………………………………………………………………… 114 PHUÏ LUÏC A3 ……………………………………………………………………………………………………………………………………… 116 TÀI LIỆU THAM KHẢO …………………………………………………………………………………………………………… 118 CHỮ VIẾT TẮT ………………………………………………………………………………………………………………………………… 122 TÓM TẮT LÝ LỊCH TRÍCH NGANG ………………………………………………………………………………… 124 MÃ NGUỒN ……………………………………………………………………………………………………………………………………… 125 THỰC HIỆN DES TRÊN DSK TMS320006711 I GIỚI THIỆU CHUNG VỀ BẢO MẬT Giới thiệu chung bảo mật Các yêu cầu bảo mật thông tin tổ chức có nhiều thay đổi lớn vài thập kỷ gần Trước bùng nổ việc sử dụng thiết bị sử lý thông tin nay, vấn đề bảo mật thông tin sở chủ yếu dựa vào hai phương tiện: Bảo mật theo chế vật lý quản lý Các kỹ thuật cổ điển bảo mật tìm thấy qua kho đầy tài liệu quan trọng bảo vệ cẩn thận Gần thông tin quan trọng lưu giữ cuộn phim tư liệu Với đời máy tính, nhu cầu công cụ bảo vệ tự động tài liệu quan trọng thông tin lưu trữ máy tính trở nên cấp thiết Hơn nữa, tính bảo mật đặc biệt quan trọng hệ thống cho nhiều người sử dụng liệu truyền qua mạng điện thoại hay mạng liệu công cộng Công cụ dùng để bảo vệ liệu ngăn hacker phá hoại gọi là: Bảo mật thông tin Sự thay đổi thứ hai ảnh hưởng đến tính bảo mật đời hệ thống phân phối việc sử dụng phương tiện mạng thiết bị thông tin liên lạc để chuyển tải liệu đầu cuối người sử dụng với máy tính máy tính với Các biện pháp bảo mật mạng cần thiết để bảo vệ liệu truyền dẫn Một ví dụ vi phạm tính bảo mật thông tin: Giả sử người sử dụng A truyền mộât file đến người sử dụng B File chứa số thông tin quan trọng mà người gởi không muốn bị phát Người sử dụng C quyền truy cập file cách bí mật giám sát việc truyền dẫn đánh cắp copy file truyền Tóm lại, bảo mật khái niệm phổ biến thông tin hệ thống liệu Trong khứ, nhu cầu bảo mật thông tin phát triển để bảo vệ an toàn cho quốc gia quân Ngày nay, vấn đề bảo mật vấn đề cấp thiết công ty Thương mại điện tử làm bùng nổ nhu cầu bảo mật thông tin internet Nhiều tổ chức quan trọng có tường lửa (firewall) để bảo vệ thông tin tập quan trọng bên ngăn chặn xâm nhập từ đối thủ từ bên vào 06/2002 LUẬN VĂN TỐT NGHIỆP THẠC SĨ THỰC HIỆN DES TRÊN DSK TMS320006711 Một phương pháp tạo an toàn cho thông tin mã hoá Với mã hoá, liệu truyền theo phương cách mà làm cho “đối thủ” nhận biết Người nhận giải mã để khôi phục lại liệu trình thực cách xác người nhận mong đợi Ý nghóa kỹ thuật đánh giá dựa “sức mạnh” hay “bảo mật” sơ đồ mã hoá Sự phát triển tiêu chuẩn mã hoá Vào năm 1972, Bộ Quốc Gia Hoa Kỳ Tiêu Chuẩn Viện Quốc Gia Hoa Kỳ Tiêu Chuẩn Kỹ Thuật chấp thuận thuật toán DES (Data Encryption Standard) thuật toán mã hoá chuẩn DEA (Data Encryption Algorithm) để bảo vệ máy tính liệu thông tin Mặc dù DES thuật toán đời lâu đứng vững cách kinh ngạc trước bẻ khoá thuật toán giải mã khác có lẽ trì sức mạnh nhiều năm tới DES mã khối, mã hoá liệu thành nhiều khối khối gồm có 64 bit DES thuật toán đối xứng nghóa sử dụng thuật toán từ khoá giống cho hai phía mã hoá giải mã Từ khoá k thuật toán DES có chiều dài 56 bit Thực khoá DES gồm 64 bit bit sử dụng cho kiểm tra parity nên bit không tính Khoá số tuỳ định có 56 bit Thuật toán DES kết hợp đơn giản hai kỹ thuật mã hoá thông thường là: xáo trộn (confusion) khuếch tán (diffusion) đồng thời tạo tượng thác lũ Các khối thuật toán DES xây dựng dựa kết hợp hai kỹ thuật đồng thời khối thuật toán DES dựa từ khoá Trong thuật toán DES có 16 vòng nghóa thuật toán DES áp dụng 16 lần kỹ thuật giống khối văn gốc HọTMS320C6000 hãng Texas Instruments hệ đầu thuộc tính DSP Họ TMS320C6000 không thực thuật toán DES cách có hiệu mà giải tốt thuật toán khác mà đòi hỏi tính toán phức tạp DES phần sơ đồ thuật toán Do đó, họ TMS320C6000 tạo sở vững cho mã hoá Các khái niệm sở ứng dụng mã hoá lãnh vực thay đổi không ngừng bề sâu lẫn bề rộng Với khả lập trình được, TMS320C6000 tạo lưu trữ thư viện mã hoá chuẩn Trong trường hợp mã hoá chưa biết, đề cập đến tiêu chuẩn download cộng vào thư viện riêng Hơn nữa, công cụ biên dịch họ C6000 làm tăng thêm tính lập trình lại Do đó, việc tổng hợp tiêu chuẩn mã hoá trở nên dễ dàng Việc source code C thuật toán mã hoá thông thường công bố rộng rãi giúp việc tối ưu hoá thuật toán chạy họ TMS320C6000 nhanh chóng tiện lợi nhiều Đối với ưu điểm đặc biệt họ TMS320C6000 C6201 (200 MHz), C6711 (150 MHz) đạt tốc độ truyền liệu mã hoá thuật toán DES ấn tượng (khoảng 53 Mbits C6201 39 Mbits trường hợp C6711) 06/2002 LUẬN VĂN TỐT NGHIỆP THẠC SĨ 10 THỰC HIỆN DES TRÊN DSK TMS320006711 Với đặc tính bật vậy, việc lựa chọn họ TMS320C6000 để thực DES giải pháp thích hợp hoàn chỉnh Điều tiết kiệm không gian board mạch, tiền bạc, tiêu thụ công suất thời gian thiết kế Hơn nữa, khả lập trình giúp họ TMS320C6000 dễ dàng cải tiến thuật toán để bắt kịp thay đổi mã hoá giai đoạn 06/2002 LUẬN VĂN TỐT NGHIỆP THẠC SĨ 11 TÀI LIỆU THAM KHẢO [1] William Stalling, “ Cryptography And Network Security - Principles and Practice,” Second Edition, , Prentice Hall, 1998, ISBN 0-13-869017-0 [2] Bruce Schneider, “Applied Cryptography,” Second Edtion, Fohn Wiley & Sons, Inc., New York, NY, 1996, ISBN 0-471-12845-7 [3] Man Young Rhee, “Crytography and Secure Communications,” McGraw-Hill Book, Co 1994, ISBN 0-07-112502-7 [4] D Coppersmith, “The Data Encryption Standard (DES) and Its Strength against Attacks,” IBM Journal of Research and Development, V 38, N 3, May 1994, pp 243-250 [5] “TMS320C6000 Compiler Optimization Tutorial,” Literature Number SPRH046, Texas Instruments [6] “TMS320C6000 Optimizing C Compiler User’s Guide,” Literature Number SPRU187E, Texas Instruments [7] “TMS320C6000 Peripherals Reference Guide,” Literature Number SPRU190C, Texas Instruments s, Tarrant Dallas Printing, Dallas, Texas, 1999 [8] “TMS320C62x/C67x CPU and Instruction Set Reference Guide,” Literature Number SPRU189C, Texas Instruments s, Tarrant Dallas Printing, Dallas, Texas, 1998 [9] “Code Composer Studio User’s Guide,” Literature Number SPRU328A, Texas Instruments s, Tarrant Dallas Printing, Dallas Texas, 1999 [10] “TMS320C6000 DSP/BIOS User’s Guide,” Literature Number SPRU303, Texas Instruments s, Tarrant Dallas Printing, Inc.O!Dallas, Texas, 1999s 118 [11] R Stephen Preissig, “Data Encryption Standard DES Implementation on the TMS320C6000,” Literature Number SPRA702, Texas Instruments s, Tarrant Dallas Printing, Inc.O!Dallas, TAO!000 [12] Webster, A., and Tavares, S, “On the Design of S-Boxes.” Procedings, Crypto ’85, 1985; published by Springer – Verlag [13] Mister, S., and Adams, C “Practice S-Box Design.” Proceeding, Workshop in Selected Areas of Cryptography, SAC’96, 1996 [14] Adams, C and Tavares, S “Generating and Counting Binary Bent Sequences.” IEEE Transactions on Information Theory, 1990 [15] Robshaw, M ”Block Cipher.” RSA Laboratories Technical Report TR-60, August 1995 [16] Murphy, S “The Cryptanalysis of FEAL-4 with 20 Chosen Plaintexts.” Journal of Cryptology, No 3, 1990 [17] Biham, E., and Shamir, A “Differential Cryptanalysis of the Data Encryption Standard.” New York: Springer-Verlag, 1993 [18] Lai, X., and Massey, J “A Proposal for a New Block Encryption Standard.” Proceedings, EUROCRYPT ’90, 1990; published by Springer-Verlag [19] Lai, X., and Massey, J “Markov Cipher and Differential Cryptanalysis.” Proceedings, EUROCRYPT ’91, 1991; published by Springer-Verlag [20] Matsui, M “Linear Cryptanalysis Method for DES Cipher.” Proceedings, UEROCRYPT ’93, 1993; published by Springer-Verlag [21] M E Hellman, R Merkle, R Schroeppel, L Washington, W Diffie, S Pohlig, and P Schweitzer, “Results of an Initial Attempt to Cryptanalyze the NBS Data Encryption Standard,” Technical Report SEL 67-042, Information Lab, Department of Electrical Engineering Standford University, 1976 [22] D W Davies, “Some Regular Properties of the DES,” Advances in Cryptology: Proceeding of Crypto 82, Plennum Press, 1985, pp 89-96 [23] J H Moore and G J Simmons, “Cycle Structure of the DES with Weak and Semiweak Keys,” Advances in Cryptology – CRYPTO ’86 Proceeding, Springer – Verlag, 1987, pp 3-32 119 [24] C H Meyer and S M Matyas, Cryptography: “A New Dimemsion in Computer Data Security,” New York: John Wiley & Sons, 1982 [25] E Biham and A Shamir, “Differential Cryptanalysis of the Data Encryption Standard,” Springer-Verlag, 1993 [26] W Diffie and M E Hellman, “Exhaustive Cryptanalysis of the NBS Data Encryption Standard,” Computer, v 10, n 6, June 1977, pp 74-84 [27] M J Wiener, “Efficient DES Key Search,” presented at the rump session of CRYPTO ’93, Aug 1993 [28] M J Wiener, “Efficient DES Key Search,” TR-244, School of Computer Science, Carleton University, May 1994 [29] Feistel, H “Cryptography and Computer Privacy.” Scientific American, May 1973 [30] Shannon, C “Communication Theory of Secrecy Systems.” Bell Systems Technical Journal, No 4, 1949 [31] Robshaw, M “Block Cipher” RSA Laboratories Technical Report TR-601, August 1995 [32] D.E Denning, “Digital Signature with RSA and Other Public-Key Cryptosystems,” Communications of the ACM, v 27, n 4, Apr 1984, pp 388392 [33] US Senate Select Committee of Intelligence, “Unclassified Summary: Involvement of NSA in the Development of the Data Encryption Standard,” IEEE Communications Magazine, v 16, n 6, Nov 1978, pp 53-55 [34] D.W Davies and W.L Price, Security for Computer Networks, second edition John Wile & Sons, 1989 [35] P Kinnucan, “Data Encryption Gurus: Tuchman and Meyer,” Cryptologia, v 2, n 4, Oct 1978 [36] D Coppersmith, “The Data Encryption Standard [DES] and Its Strength against Attacks,” Technical Report RC 18613, IBM T.J.Watson Center, Dec 1992 [37] D Coppersmith, “The Data Encryption Standard [DES] and Its Strength against Attacks,” IBM Journal of Research and Development, v 38, n 3, May1994, pp 243-250 120 [38] M.S Conn, letter to Joe Abernathy, National Security Agency, Ser: Q43-111-92, 10 Jun 1992 121 CHỮ VIẾT TẮT ANSI American National Standard Institute BIC Bit Independence Criterion CBC Cipher Block Chaining CCEP Commercial COMSEC Endorsement Program CFB Cipher Feedback DEA Data Encryption Algorithm DES Data Encryption Standard EDMA Enhanced Direct Memory Access ECB Electronic Code Book EFF Electronic Frontier Foundation FIPS Federal Information Processing Standard GA Guaranteed Avalanche GEL General Extension Language IDE Integrated Development Environment IDEA International Data Encryption Algorithm IV Initialization Vector NBS National Bureau of Standard NSA National Security Agency NIST National Institute of Standard & Technology MFLOPS Million Function Logic Operation Per Second OFB Output Feed Back PES Proposed Encryption Standard 122 PUB Publish House RSA Rivest – Shamir - Adelman SAC Strict Avalanche Criterion S-DES Simplified Data Encryption Standard SPN Substitution Permutation Network VLIW Very long Instruction Word 123 TÓM TẮT LÝ LỊCH TRÍCH NGANG Họ tên: Nguyễn Duy Dũng Sinh ngày: 26 – 11 – 1976 Nơi sinh: Thị Xã Quảng Ngãi, Tỉnh Quảng Ngãi Địa liên lạc: 329 Lê Đại Hành, Phường 13, Quận 11, Thành Phố Hồ Chí Minh Quá trình đào tạo: 1994 - 1999: Học Trường Đại Học Bách Khoa Thành Phố Hồ Chí Minh Chuyên ngành: Điện Tử Viễn Thông 1999 - 2002: Học Cao Học Trường Đại Học Bách Khoa Thành Phố Hồ Chí Minh Chuyên ngành: Điện Tử Vô Tuyến Quá trình công tác: Từ tháng năm 2001: kỹ sư Viễn Thông Công Ty Trách Nhiệm Hữu Hạn Fujitsu 124 MÃ NGUỒN #include #include #include #include #include #include #include "c6211dsk.h" #include "codec_edma.h" #include "des.h" #define DATA_SIZE #define BLOCK_SIZE 512 #define NUM_OF_BLOCKS #define DELAY DESmain() int pcm_out,pcm_in,dma_index; int src,dst; short *in_ptr,*out_ptr; short in[NUM_OF_BLOCKS*BLOCK_SIZE], out[NUM_OF_BLOCKS*BLOCK_SIZE]; extern SWI_Obj keySWI; extern SWI_Obj edmaSWI; extern LOG_Obj errors; extern int num_channels; extern int pseudochan; int main() { int i; /* emif initialization */ #if #define EMIF_GCTL 0x01800000 #define EMIF_CE2 0x01800010 #define EMIF_CE3 0x01800014 125 #define EMIF_SDRAMCTL 0x01800018 #define EMIF_SDRAMTIMING 0x0180001C *(int *)EMIF_GCTL = 0x00003040;/* EMIF global control register */ *(int *)EMIF_CE1 = 0xFFFFFF23; /* CE1 - 32-bit asynch access after boot*/ *(int *)EMIF_CE0 = 0xFFFFFF30; /* CE0 - SDRAM */ *(int *)EMIF_CE2 = 0xFFFFFF23; /* CE2 - 32-bit asynch on daughterboard */ *(int *)EMIF_CE3 = 0xFFFFFF23; /* CE3 - 32-bit asynch on daughterboard */ *(int *)EMIF_SDRAMCTL = 0x07117000; /* SDRAM control register (100 MHz)*/ *(int *)EMIF_SDRAMTIMING = 0x0000061A; /* SDRAM Timing register */ #endif for (i=0; i= 0) { in_ptr = (short *)pcm_in; } temp = (int)out_ptr - pcm_out - NUM_OF_BLOCKS*BLOCK_SIZE*DATA_SIZE; if (temp >= 0) { 128 } out_ptr = (short *)pcm_out; if(pseudochan != 0) LOG_printf(&errors,"Real Time Failure: Completed %d of %d channels",num_channels pseudochan, num_channels); pseudochan = num_channels ; } SWI_post(&keySWI); DES_IRS() #include "c6211dsk.h" #include "des.h" #include #include #include #include #include #include void enableGlobalINT(void); void enableNMI(void); void enableSpecificINT(int INTnumber); /* make sure the below matches what is in "DESmain.c" */ #define BUFSIZE ((int)(BLOCK_SIZE * DATA_SIZE)) #define DATA_SIZE #define BLOCK_SIZE 512 #define NUM_OF_BLOCKS #define NUM_PSEUDO_CHANNELS 10 extern int pcm_out,pcm_in; int num_errors = 0; extern far STS_Obj set_key; extern far STS_Obj encrypt; extern far STS_Obj decrypt; extern far SWI_Obj keySWI; extern far SWI_Obj encryptSWI; extern far SWI_Obj decryptSWI; extern far SWI_Obj verifySWI; extern far LOG_Obj errors; 129 extern short *out_ptr, *in_ptr; unsigned char encbuf[BUFSIZE+7]; unsigned char decbuf[BUFSIZE+7]; volatile des_cblock enc_key1={0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0}; volatile des_cblock enc_key2={0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12}; volatile des_cblock enc_key3={0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,0x34}; volatile des_cblock dec_key1={0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0}; volatile des_cblock dec_key2={0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12}; volatile des_cblock dec_key3={0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,0x34}; unsigned char ivec[8] ={0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0}; unsigned char ivec_copy[8] ={0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0}; des_key_schedule sch[3]; des_key_schedule dec_sch[3]; int pseudochan = ; int num_channels = NUM_PSEUDO_CHANNELS ; int des_select = 1; void key_isr(void){ /* set key schedule */ STS_set(&set_key, CLK_gethtime()); des_set_key((des_cblock *)enc_key1,sch[0]); STS_delta(&set_key, CLK_gethtime()); des_set_key((des_cblock *)enc_key2,sch[1]); des_set_key((des_cblock *)enc_key3,sch[2]); des_set_key((des_cblock *)dec_key1,dec_sch[0]); des_set_key((des_cblock *)dec_key2,dec_sch[1]); des_set_key((des_cblock *)dec_key3,dec_sch[2]); } SWI_post(&encryptSWI); void encrypt_isr(){ unsigned char *key_ptr_char = (unsigned char *)enc_key1; int i; for(i=0;i