Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 8 Đại học Đà Nẵng năm 2012
1
ỨNG DỤNG LẬP TRÌNH SOCKET VÀ HỆ MÃ HÓA CÔNG KHAI RSA ĐỂ
XÂY DỰNG CHƯƠNG TRÌNH CHAT TRÊN MẠNG LAN
APPLICATION SOCKET PROGRAMMING AND RSA PUBLIC ENCRYPTION
SYSTEM FOR BUILDING CHAT PROGRAMS
SVTH: Huỳnh Quang Hiếu
Lớp 09N, Khoa Công nghệ Thông tin, Trường CĐ Công nghệ Thông tin, Đại học Đà Nẵng
GVHD: Trần Thu Thủy
Khoa Công nghệ Thông tin, Trường CĐ Công nghệ Thông tin, Đại học Đà Nẵng
TÓM TẮT
Hiện nay, các chương trình Chat đã trở thành một chương trình phổ biến của một đại bộ
phận người sử dụng Internet. Nó như một phương tiện hiệu quả để kết nối, giúp chia sẻ, trao đổi
thông tin giữa mọi người với nhau. Trong báo cáo này, tôi xin trình bày những vấn đề cơ bản liên
quan phương thức kết nối và hoạt động của một chương trình Chat. Từ đó, vận dụng lý thuyết về
lập trình socket và thuật toán mã hóa RSA để phân tích quá trình hoạt động của một chương trình
Chat cơ bản. Trên cơ sở đó, đề ra giải pháp để xây dựng nên một chương trình Chat đảm bảo các
tính năng cần thiết từ việc ứng dụng lập trình socket và thuật toán mã hóa RSA.
Từ khóa: Chat; Internet; kết nối; chia sẻ; lập trình Socket; thuật toán mã hóa RSA
ABSTRACT
Currently, the Chat programs has become popular programs of Internet users. It’s such an
effective means to connect, to help share and exchange information between people together. In
this report, I would like to present the basics issues related to method of connection and operation
of a Chat program. Since then, apply the theory of socket programming and RSA encryption
algorithms to analyze the operation of a basic Chat program. On that basics, a solution for building
Chat programs to ensure the essential functions from the application socket programming and RSA
encryption algorithm.
Key words: Chat; Internet; connect; share; Socket programing; RSA encryption algorithm
trên hệ thống cục bộ hay ở xa. Khi đó nó có thể được dùng để gởi hay nhận dữ liệu trong
mạng 2.2. Thuật toán mã hóa RSA
Phương pháp sử dụng thuật toán mã hóa công khai RSA (được đặt tên từ ba nhà
phát minh là Ron Rivest, Adi Shamir và Leonard Adleman), được sử dụng nhiều nhất,
thuật toán sử dụng biểu thức với hàm mũ để mã hóa bản gốc thành các khối, mỗi khối có
một giá trị nhị phân nhỏ hơn n.
Giả sử khối bản gốc của người gửi là M và khối bản mã của người nhận là C, quá
trình mã hóa và giải mã RSA là: C = M
e
mod n và M = C
d
mod n
Cả người gửi và người nhận phải biết giá trị n. Người gửi biết giá trị e và chỉ người
nhận biết giá trị d. Đây là một thuật toán mã hóa khóa công khai với khóa công khai KU =
{e,n} và khóa riêng KR = {d,n}
Hình 1. Sơ đồ lập trình socket hướng kết nối
Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 8 Đại học Đà Nẵng năm 2012
3
3. Xây dựng chương trình
3.1. Xây dựng Server
Server đảm nhận vai trò tạo ra các kết nối trung gian giữa các client, quản lý các
Users kết nối đến, chuyển tiếp thông tin giữa các Users và đảm bảo rằng tất cả thông tin,
trạng thái của các Users phải được cập nhật đến các Users còn lại.
tốc độ truyền dữ liệu còn chậm, các ký tự đều chuyển về mã ASCII để mã hóa nên không
hổ trợ chat bằng tiếng Việt, tại Client chưa quản lý được danh sách bạn bè. Chương trình
còn đơn giản chưa có nhiều chức năng của các chương trình Chat hiện nay.
4. Kết luận
Với kết quả thu được trong quá trình thử nghiệm ta thấy chương trình hoạt động
khá ổn định, đã mô phỏng một cách tổng quát, cơ bản nhất hoạt động một chương trình
Chat từ kết nối, nhận - truyền dữ liệu và đảm bảo tính bảo mật dữ liệu truyền đi bằng mã
hóa. Hình 4. Giao diện Client
Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 8 Đại học Đà Nẵng năm 2012
5
TÀI LIỆU THAM KHẢO
[1] Richard Blum (2003), C# Network Programming, SYBEX Inc.
[2] Fiach Reid (2004), Network Programming in.NET With C# and Visual Basic.Net,
Elsevier Inc.
[3] Nguyễn Ngọc Bình Phương, Thái Thanh Phong (2005), Các giải pháp lập trình C#,
Nhà sách Đất Việt.
[4] Mai Lam (2010), Giáo trình lập trình ứng dụng mạng, Trường CĐ Công nghệ thông
tin Đà Nẵng.
THÔNG TIN TÁC GIẢ
Họ và tên : Huỳnh Quang Hiếu
Địa chỉ : Tiên Thọ - Tiên Phước – Quảng Nam
Số điện thoại : 0906090598
Email :