Báo Cáo ứ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

Thảo luận trong 'Công Nghệ Thông Tin' bắt đầu bởi Thúy Viết Bài, 5/12/13.

  1. Thúy Viết Bài

    Thành viên vàng

    Bài viết:
    198,891
    Được thích:
    170
    Điểm thành tích:
    0
    Xu:
    0Xu
    Ứ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






    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




    1. Đặt vấn đề
    Trên thực tế, Chat là một ứng dụng trên mạng đã được phổ biến rộng rãi. Một số ứng dụng về Chat phổ biến hiện nay như Yahoo, Skype, Zing Chat Người ta sử dụng các chương trình Chat với mục đích trao đổi thông tin như trò chuyện, làm quen bạn bè, bàn bạc công việc gián tiếp qua môi trường Internet - một cách đơn giản để kết nối mọi người lại với nhau. Khi xây dựng một chương trình Chat cần phải đảm bảo các yêu cầu về kết nối, dữ liệu trong quá trình truyền đi phải đảm bảo toàn vẹn và an toàn.
    Là một ứng dụng mạng nên các chương trình Chat hoạt động dựa trên mô hình Client – Server hoặc Point to Point và kết nối bằng một trong 2 giao thức TCP hoặc UDP. Trên cơ sở đó, tôi đã xây dựng chương trình Chat hoạt động theo mô hình Client – Server và sử dụng giao thức kết nối TCP.
    Khi xây dựng một chương trình Chat một vấn đề cũng rất quan tâm đó là vấn đề bảo mật thông tin truyền đi. Do đó mã hóa thông tin trước khi truyền đi là việc làm hoàn toàn cần thiết. Ở đây, tôi đã chọn thuật toán RSA để mã hóa dữ liệu trong quá trình truyền tin.
    Trong phạm vi đề tài này sẽ giới thiệu về phương thức hoạt động, ứng dụng lập trình Socket để xây dựng một chương trình Chat và giới thiệu về thuật toán mã hóa RSA vào quá trình mã hóa dữ liệu trước khi dữ liệu được truyền đi.
    2. Một số vấn đề về lập trình Socket và thuật toán mã hóa RSA



    2.1. Lập trình socket
    Trong lập trình mạng dùng Socket, chúng ta không trực tiếp truy cập vào các thiết bị mạng để gởi và nhận dữ liệu. Thay vào đó, một chương trình trung gian được tạo ra để điều khiển việc gởi và nhận dữ liệu. Các chương trình mô tả dùng để tham chiếu đến các kết nối mạng được gọi là các Socket. Socker định nghĩa những đặt trưng sau.
    ã Một kết nối mạng hay một đường ống dẩn để truyền tải dữ liệu
    ã Một kiểu truyền thông như stream hay datagram
    ã Một giao thức như TCP hay UDP.
    Sau khi một Socket được tạo ra nó phải được gán vào một địa chỉ mạng và một port 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

    Hình 1. Sơ đồ lập trình socket hướng kết nối

    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 = Me mod n và M = Cd 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}
     

    Các file đính kèm:

Đang tải...