Tài liệu Đồ án tốt nghiệp chữ ký điện tử RSA kết hợp hàm băm SHA, md5, code chữ ký điện tử

Thảo luận trong 'Lập Trình' 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:
    167
    Điểm thành tích:
    0
    Xu:
    0Xu
    Trong cuộc sống hàng ngày, ta cần dùng chữ ký để xác nhận các văn bản tài liệu nào đó và có thể dùng con dấu với giá trị pháp lý cao hơn đi kèm với chữ ký.
    Cùng với sự phát triển nhanh chóng của công nghệ thông tin, các văn bản tài liệu được lưu dưới dạng số, dễ dàng được sao chép, sửa đổi. Nếu ta sử dụng hình thức chữ ký truyền thống như trên sẽ rất dễ dàng bị giả mạo chữ ký. Vậy làm sao để có thể ký vào các văn bản, tài liệu số như vậy?
    Câu trả lời đó là sử dụng chữ ký điện tử! Chữ ký điện tử đi kèm với các thông tin chủ sở hữu và một số thông tin cần thiết khác sẽ trở thành Chứng chỉ điện tử.
    - Quy trình thực hiện ký và xác nhận văn bản.
    Dựa vào ưu điểm của hệ mã RSA, nếu thiết lập được sơ đồ chữ ký dựa trên bài toán phân tích ra thừa số nguyên tố thì độ an toàn của chữ ký sẽ rất cao.
    * Ký (Mã hóa).Giả sử có văn bản cần ký M. Đầu tiên chuyển M thành một số m<n theo một hàm có thể đảo ngược (từ m có thể xác định lại M) được thỏa thuận trước.
    Lúc này ta muốn ký lên văn bản M với số tương ứng là m. Ta sẽ tính c là bản ký của m theo công thức:
    C = Sig[SUB]K[/SUB](m) = m[SUP]d[/SUP] mod n. ( Trong đó d là khóa bí mật của người cần ký)
    Hàm trên có thể tính dễ dàng sử dụng phương pháp tính hàm mũ (theo môđun) bằng (thuật toán bình phương và nhân). Cuối cùng ta có bản ký c hay bản chữ ký điện tử và gửi cho đối tác.
    * Xác nhận (Giải mã).
    Sau khi nhận được bản chữ ký điện tử, người nhận cần phải xác nhận chữ ký trên văn bản là đúng người ký bằng cách xác nhận bản ký với khóa công khai của người ký với công thức sau.
    Ver[SUB]K[/SUB](m,c) = TRUE ó m ≡ c[SUP]e[/SUP] (mod n) với x, y € Zn.


    .
    IV. Cài đặt minh họa sơ đồ ký số RSA kết hợp băm SHA.
    + Các bước thực hiện của chương trình.

    a. Phát sinh khóa:
    Từ cặp số nguyên tố bất kỳ ban đầu, chương trình sẽ thực hiện tính toán để đưa ra cặp khóa công khai (e, n) và khóa bí mật (d, n). Sau đó khóa công khai được tiết lộ ra công cộng, khóa bí mật được giữ lại.
    b. Ký chữ ký điện tử:
    Khi một người muốn gửi cho ai đó một văn bản quan trọng, đòi hỏi văn bản phải được ký xác nhận chính danh người gửi văn bản, người gửi văn bản sẽ làm thực hiện quy trình ký chữ ký điện tử.
    Qui trình ký chữ ký điện tử sử dụng khoá công khai mô phỏng như ở hình 1.3, các bước thực hiện như sau:

    Bước 1: Dùng giải thuật băm để thay đổi thông điệp cần truyền đi. Kết quả ta được một bản tin tóm lược1 (Message Digest). Dùng giải thuật băm SHA để băm văn bản cần ký ta được bản mã có chiều dài cố định 160 bit.
    Bước 2: Sử dụng giải thuật RSA cho quy trình ký văn bản, sử dụng khóa bí mật (Private key) của người gửi để Ký trên bản tin tóm lược thu được ở bước 1. Kết quả thu được gọi là “chữ ký điện tử”.
    Bước 3: Gộp chữ ký điện tử vào bản tin điện tử ban đầu. Việc này gọi là “ký xác nhận” vào thông điệp. Sau khi đã ký xác nhận vào thông điệp, mọi sự thay đổi trên thông điệp sẽ bị phát hiện trong giai đoạn kiểm tra. Ngoài ra, việc ký xác nhận này đảm bảo người nhận tin tưởng thông điệp này xuất phát từ người gửi.
    c. Xác thực chứ ký điện tử.
    Sau khi nhận được một văn bản có đính kèm chữ ký của người gửi, người nhận văn bản phải giải mã trở lại văn bản trên và kiểm tra xem văn bản này đã bị thay đổi bởi một người thứ ba chưa, và chữ ký đính kèm trên văn bản có đúng của người gửi hay không (kiểm trachính danh”).
    Quy trình xác nhận và kiểm tra thể hiện với các bước thực hiện như sau:
    Bước 1: Bản tin điện tử có đính kèm chữ ký của người gửi, sau khi nhận sẽ được tách riêng phần chữ ký và phần văn bản nguyên vẹn. Sử dụng khóa công khai (Public key) của người gửi (khóa này được thông báo đến mọi người) để giải mã chữ ký điện tử của thông điệp, kết quả là “bản tin tóm lược”.
    Bước 2: Dùng giải thuật băm SHA để băm văn bản đã tách phần chữ ký điện tử, kết quả thu được là “bản tin tóm lược thứ 2”.
    Bước 3: Đầu vào kiểm tra chữ ký gồm bản tin tóm lược 2, chữ ký điện tử và khóa công khai của người gửi. Quá trình sẽ thực hiện dùng khóa công khai của người gửi giải mã chữ ký và so sánh với bản tin tóm lược 2, nếu hai kết quả này giống nhau ta kết luận được đúng người gửi, ngược lại văn bản không đúng người gửi hoặc văn bản đã bị sửa đổi.


    Bài khóa luận chữ ký điện tử RSA kết hợp hàm băm SHA, md5, code chữ ký điện tử :
    dowloand tại đây: http://www.mediafire.com/view/?w85sv8qeh10k4qh
     

    Các file đính kèm:

Đang tải...