Thanks to visit codestin.com
Credit goes to github.com

Skip to content

lunggtung/diffie_hellman_key_exchange

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Minh Họa Thuật Toán Trao Đổi Khóa Diffie-Hellman

Đây là dự án bài tập lớn cho môn học Mật Mã và Bảo Mật Thông Tin (Học kỳ 1, 2025-2026), thực hiện Đề tài 9: "Xây dựng chương trình phần mềm thực hiện thuật toán trao đổi khóa Diffie–Hellman giữa người gửi A và người nhận B".

Chương trình được viết bằng Python với giao diện đồ họa (GUI) để mô phỏng quá trình trao đổi khóa một cách trực quan, giúp người dùng dễ dàng hiểu được nguyên lý hoạt động của thuật toán.

🖼️ Ảnh chụp màn hình

image

✨ Tính năng chính

Chương trình đáp ứng đầy đủ các yêu cầu của đề tài:

  • Nhập tham số công khai: Cho phép người dùng nhập (hoặc chọn từ danh sách) số nguyên tố p và căn nguyên thủy g.
  • Tạo khóa bí mật: Cho phép người dùng tự nhập khóa bí mật a (Bên A) và b (Bên B), hoặc nhấn nút "Ngẫu nhiên" để tạo khóa an toàn.
  • Tính toán trung gian: Tự động tính toán và hiển thị các khóa công khai A = g^a mod pB = g^b mod p sau khi trao đổi.
  • Hiển thị kết quả: Tính toán và hiển thị khóa chung bí mật K_AB = B^a mod p (hoặc A^b mod p).
  • Làm lại: Có nút "Xóa & Làm Lại" để nhanh chóng thực hiện một phiên mô phỏng mới.

🛠️ Công nghệ sử dụng

  • Ngôn ngữ: Python 3
  • Giao diện (GUI): Tkinter & TTKBootstrap (để có giao diện hiện đại)
  • Đóng gói: PyInstaller (để tạo file .exe) và Inno Setup (để tạo file cài đặt).

🚀 Cài đặt & Chạy dự án (từ Mã nguồn)

Nếu bạn muốn chạy chương trình từ mã nguồn (.py) thay vì dùng file cài đặt, hãy làm theo các bước sau:

  1. Clone repository:

    git clone https://github.com/dunngxo6/diffie_hellman_key_exchange.git
    cd diffie_hellman_key_exchange
  2. (Khuyến nghị) Tạo môi trường ảo:

    python -m venv venv
    .\venv\Scripts\activate  # Trên Windows
    # source venv/bin/activate  # Trên macOS/Linux
  3. Cài đặt các thư viện cần thiết: (Hãy tạo một file requirements.txt với nội dung bên dưới, sau đó chạy lệnh pip)

    Nội dung file requirements.txt:

    ttkbootstrap
    

    Lệnh cài đặt:

    pip install -r requirements.txt
  4. Chạy chương trình:

    python diffie_hellman.py

📋 Hướng dẫn sử dụng

Bạn có thể sử dụng ví dụ minh họa trong báo cáo (mục 2.6) để kiểm tra:

  1. Mở chương trình lên.
  2. Tại mục Tham Số Công Khai:
    • Nhập p = 23
    • Nhập g = 5
  3. Tại mục Bên ABên B:
    • Nhập khóa bí mật a = 6
    • Nhập khóa bí mật b = 15
  4. Nhấn nút "Thực Hiện Trao Đổi & Tính Khóa Chung".
  5. Quan sát kết quả:
    • Khóa công khai A sẽ là: 8
    • Khóa công khai B sẽ là: 19
    • Khóa chung bí mật K sẽ là: 2

Điều này chứng minh chương trình đã tính toán chính xác.

📄 Giấy phép

Dự án này được cấp phép theo MIT License. Xem file LICENSE.txt để biết chi tiết.

About

trao đổi khóa với thuật toán diffie hellman

Resources

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE
MIT
LICENSE.txt

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages