Luận Văn Các chữ ký không chối bỏ được và ứng dụng

Thảo luận trong 'Công Nghệ Thông Tin' bắt đầu bởi Mai Kul, 4/12/13.

  1. Mai Kul

    Mai Kul New Member

    Bài viết:
    1,299
    Được thích:
    0
    Điểm thành tích:
    0
    Xu:
    0Xu
    Đồ án tốt nghiệp năm 2012
    Đề tài: Các chữ ký không chối bỏ được và ứng dụng


    MỤC LỤC
    MỞ ĐẦU . 4
    Chương 1. CƠ SỞ MẬT MÃ VÀ CHỮ KÝ SỐ . 6
    1.1. CƠ SỞ TOÁN HỌC 7
    1.1.1. Phép chia hết 7
    1.1.2. Không chia hết . 7
    1.1.3. Ước số . 7
    1.1.4. Nguyên tố cùng nhau 7
    1.1.5. Số nguyên tố . 7
    1.1.6. Định nghĩa hàm phi Euler 7
    1.1.7. Định nghĩa thặng dư bậc 2 . 8
    1.1.8. Số Blum . 8
    1.2. TÌM HIỂU MẬT MÃ . 8
    1.2.1. Giới thiệu . 8
    1.2.2. Sơ đồ hệ thống mật mã . 8
    1.2.3. Mật mã khóa đối xứng 8
    1.2.3.1 Mã thay thế . 9
    1.2.3.2 Mã Anffine: 10
    1.2.3.3. Mã Hill: . 12
    1.2.3.4. Mã hoán vị: . 13
    1.2.3.5. Mã khóa công khai: 15
    1.2.3.6. Mã RSA: . 15
    1.2.3.7. Mã Elgamal: 16
    1.3. CHỮ KÝ SỐ 17
    1.3.1. Giới thiệu chung về chữ ký số: . 17
    1.3.2. Định nghĩa lược đồ chữ ký: . 18
    2
    1.4.Hàm Hash . 21
    1.4.1. Giới thiệu: . 21
    1.4.2. Định nghĩa: . 21
    Chương2 CHỮ KÝ SỐ CHỐNG CHỐI BỎ 24
    2.1. Giới thiệu: 25
    2.2. Lược đồ chống chối bỏ: . 25
    2.2.1. Thuật toán ký: 25
    2.2.2 Giao thức kiểm tra : . 25
    2.2.3. Giao thức chối bỏ 26
    2.3. Các định lý: 27
    2.3.1. Định lý 1: 27
    2.3.2. Định lý 2: 29
    2.3.3. Định lý 3: 29
    2.3.4. Định lý 3: 30
    2.3.5. Vấn đề cần giải quyết: 30
    Chương 3 Ứng dụng mô phỏng 32
    3.1. GIỚI THIÊU SƠ BỘ .NET . 32
    3.2. Giới thiệu chung về nền .NET (.NET platform) . 32
    3.3. Kiến trúc phân lớp nền .NET 32
    3.4. Những đặc trưng của nền .NET 33
    3.4.1. Phát triển đa ngôn ngữ 33
    3.4.2. Chương trình ứng dụng độc lập với hệ điều hành và bộ vi xử lí . 34
    3.4.3. Quản lí bộ nhớ tự động . 34
    3.4.4. Hỗ trợ phiên bản 34
    3.4.5. Những thành phần của nền .NET . 35
    3.5. CLR 35
    3.5.1. Mã quản lí và mã không quản lí ( Managed/Unmanaged Code ) 36
    3.5.3. Thư viện lớp cơ sở của .NET . 36
    3
    3.5.4. Assembly và metadata . 37
    3.5.5. Chương trình dịch Just in time . 37
    3.5.6. Quản lí bộ nhớ ( Garbage Collection ) . 38
    3.5.7. Vòng đời của mã . 38
    3.5. MÔ PHỎNG 39
    3.5.1. Yêu cầu hệ thống . 39
    3.5.2. Giao diện chương trình 39
    KẾT LUẬN . 41
    TÀI LIỆU THAM KHẢO 42


    MỞ ĐẦU
    Năm 1946 chiếc máy tính đầu tiên được khai sinh tại Hoa kỳ từ đó đã phát triển
    rất mạnh cho đến nay. Trải qua nhiều thế hệ máy tính đã có đã có những cải tiến vượt
    bậc, đã và đang thâm nhập sâu rộng vào hầu hết các lĩnh vực. Nhờ sự tiện lợi, tốc độ
    xử lý cao, khả năng lưu trữ lớn nó đã đang dần thay thế các phương thức lưu trữ, xử lý
    dữ liễu xưa thủ công. Vào khoảng cuối thập niên 80 đầu thập niên 90. Sự bùng nổ của
    mạng Internet một lần nữa đưa máy tính bước sang một trang sử mới. Dữ liệu được
    lưu thông một cách nhang chóng, thuận tiện. Ứng dụng máy mạng máy tính giúp dễ
    dàng trong việc trao đổi dữ liệu đã ra đời và ngày một phổ biến. Các phương thức
    thanh toán, trao đổi thông dữ liệu qua mạng thay thế hầu hết những phương thức thủ
    công.
    Trong một môi trường dữ liệu “mở” như vậy, dữ liệu có thể được nhiều người
    khai thác và xử dụng vào nhiều mục đích khác nhau bên cạnh đó việc lưu trữ và trao
    đổi thông tin kém an toàn sẽ là một cơ hội cho những kẻ xấu muốn phá hoại thông tin
    hoặc xử dụng dữ liệu sai mục đích hoành hành. Vì để đảm bảo rằng dữ liệu lưu trữ
    không bị thay đổi hay truy cập trái phép, tin tứ truyền trên mạng đến đúng đích cần
    đến mà không bị bên thứ ba can thiêp, việc tạo ra các cơ chế bảo mật, xác thức thông
    tin là rất cần thiết.
    Trong đề tài này em xin chỉ đề cập đến các vấn đề liên quan mã hóa và xác thực
    khi truyền tin và bỏ qua phần lưu trữ.
    Mục tiêu cơ bản của mật mã là cho phép hai người, giả sử A và B liên lạc với
    nhau qua kênh không an toàn theo cách mà người thứ ba O (được nói đến như người
    thám mã) khó có thể hiểu đươc hai người đang liên lạc gì với nhau. Kênh này có thể là
    đường điện thoại, mạng máy tính hay đơn thuần là thư tay. Thông tin mà A gửi cho B
    được gọi là “bản rõ” (plaintext), có thể là bất kỳ văn bản tài liệu nào. A sẽ mã hóa“ bản
    rõ “ với 1 hoặc nhiều khóa bằng một thuật toán mã hóa cho trước. Sau khi mã hóa dữ
    liệu A gửi cho B “bản mã” thông qua kênh truyền tin công cộng hoặc bí mật. B nhận
    “bản mã” sẽ dùng nó kết hợp với 1 hoặc nhiều khóa có sãn cùng với thuật toán giải mã
    đúng. Sẽ cho ra kết quả là gói dữ liệu ban đầu trước khi A mã hóa. Nếu trên đường
    truyền tin, O đánh cắp bản mã. O không có trong tay “khóa” và thuật toán giải mã.
    Trong tay O chỉ là 1 gói dữ liệu hỗn độn và không có giá trị.
    5
    Có hai loại hệ mật gồm hệ mật mã khóa bí mật và hệ mật mã khóa công khai.
    Trong hệ mật mã khóa công khai, hai người muốn trao đổi thông tin với nhau phải
    thỏa thuận với nhau một cách bí mật khóa k. Trong hệ mật mã này có hai hàm lập mã
    ek và hàm giải mã dk. Nếu tiết lộ khóa k sẽ làm cho hệ thống không an toàn. Trong
    thực tế, Độ an toàn hệ thống chính là độ an toàn tính toán. Một hệ mật là “an toàn tính
    toán” nếu phương pháp tốt nhất đã biết để phá nó yêu cầu một số lớn không hợp lý
    thời gian tính toán, nghĩa là quá trình thực hiện tính toán cực kỳ ph ức tạp, phức tạp
    đến mức ta coi “không thể được”. Hệ mã khóa công khai đã đáp ứng được yêu cầu đó.
    Ý tưởng của hệ mã khóa công khai là ở chỗ nó có thể tìm ra một hệ mã khó có thể tính
    toán xác định dk khi biết ek. quy tắc mã ek có thể công khai. Hàm mã hóa công khai
    ek phải dễ dàng tính toán nhưng việc giải mã phải khó đối với bất kì người nào ngoài
    người lập mã. Tính chất dễ tính toán và khó đảo ngược này thường được gọi là tính
    chất một chiều. Điều này bảo đảm tính bí mật cao.
    Như chúng ta đã biết, trong cách thức giao dịch truyền thống, thông báo được
    truyền đi trong giao dịch thường dưới dạng viết tay hoặc đánh máy kèm theo chữ
    ký(viết tay) của người gửi ở bên dưới văn bản. Chữ ký đó là bằng chứng xác nhận
    thông báo đúng là của người ký, tức là chủ thể giao dịch. Chữ ký viết tay có nhiều ưu
    điểm đó là dễ kiểm thử, không sao chép được chữ ký của một người là giống nhau trên
    nhiều văn bản
    Ngày nay, cùng với sự phát triển của khoa học và công nghệ thông tin đặc biệt
    là sự bùng nổ của mạng máy tính thì nhu cầu trao đổi thông tin trên mạng ngày càng
    phổ biến. Khi chúng ta chuyển sang cách thức truyền tin bằng các phương tiện hiện
    đại, các thông báo được truyền đi trên các mạng truyền tin số hóa, bản thân các thông
    báo cũng biểu diễn duới dạng số hóa tức là dưới dạng bít nhị phân, “chữ ký” nếu có
    cũng ở dưới dạng các dãy bit, thì các mối quan hệ tự nhiên kể trên không còn giữ được
    nữa. Chẳng hạn, “chữ ký” của một người gửi trên những văn bản khác nhau phải thể
    hiện được sự gắn kết trách nhiệm của người gửi đối với từng văn bản đó thì tất yếu
    phải khác nhau chứ không thể là những đoạn bit giống nhau như các chữ ký giống
    nhau trên các văn bản thông thường. Chữ ký viết tay có thể được kiểm thử bằng cách
    so sánh với nguyên mẫu, nhưng “chữ ký” điện tử thì không thể có “nguyên mẫu” để
    mà so sánh, việc kiểm thử phải được thực hiện bằng những thuật toán đặc biệt. Một
    vấn đề nữa đó là chữ ký điện tử có thể sao chép tùy ý khó có thể phân biệt được bản
    sao và bản gốc nên có thể có nguy cơ dùng lại nhiều lần. Vậy làm thế nào để ngăn
    chặn nguy cơ đó và làm thế nào để có thể ngăn cản được người ký chối bỏ chữ ký của
    mình hoặc người kiểm tra chối bỏ việc mình đã nhận đọc thông báo.
    6
    Trước những yêu cầu đó, để nâng cao tính an toàn của chữ ký điện tử và để
    nâng cao trách nhiệm của người ký và người kiểm tra, đòi hỏi người ta phải đưa ra một
    lược đồ chữ ký sử dụng các giao thức để có thể khắc phục được những nhược điểm
    của chữ ký số.
    Đó là lý do em chọn đề tài “Các Chữ ký không chối bỏ được và ứng dụng”làm
    đề tài nghiên cứu của mình.
    Trong đồ án này em đi sâu tìm hiểu về lược đồ chữ chống chối bỏ và ứng dụng.


    CHƯƠNG i. CƠ SỞ MẬT MÃ VÀ CHỮ KÝ SỐ
    7
    1.1. CƠ SỞ TOÁN HỌC
    1.1.1. Phép chia hết
    - Định nghĩa: cho a,b ∈ Z a. Ta nói a chia hết cho b nếu ∃ số c sao cho a = b.c ; Ký
    hiệu: b|a
    - Tính chất: a,b,c ∈ Z
    ã a|a
    ã a|b , b|c → a|c
    ã a|b , a|c → a|(x.b+y.c) ∀ x,y ∈ Z
    ã a|b , b|a → a ≡ ±b
    1.1.2. Không chia hết
    - Định nghĩa: Phép chia gọi là không chia hết nếu tồn tại số r (0 < r < b) sao cho:
    a = b.q + r
    Với: q là phần nguyên
    r là phần dư
    1.1.3. Ước số
    - Định nghĩa: Ước số của a và b là c nếu c|a và c|b
    - Ước số chung lớn nhất : Là số lớn nhất mà a và b chia hết
    Ký hiệu : c = gcd(a,b) ; (great common d4.11sor)
    - Bội số chung nhỏ nhất : d là BSCNN của a và b nếu ∀ c mà a|c , b|c → d|c
    Ký hiệu: d = lcm(a,b) ; (least common multiple)
    - Tính chất: lcm(a,b) = a.b/gcd(a,b)
    1.1.4. Nguyên tố cùng nhau
    - Định nghĩa: a,b gọi là hai nguyên tố cùng nhau khi gcd(a,b) = 1 đơn giản (a,b) = 1
    1.1.5. Số nguyên tố
    - Định nghĩa: Số nguyên tố là số chỉ chia hết cho 1 và chính nó
    - Tính chất:
    ãGiả sử p là số nguyên tố và p|a.b thì p|a hoặc p|b hoặc cả hai đều chia hết cho
    p.
    ãCó vô số số nguyên tố.
    1.1.6. Định nghĩa hàm phi Euler
    - Định nghĩa: Với n≥1 chúng ta gọi φ (n) là tập các số nguyên tố cùng nhau với n nằm
    trong khoảng [1,n]
    - Tính chất :
    ã Nếu p là số nguyên tố → φ (p) = p-1
    8
    1.1.7. Định nghĩa thặng dư bậc 2
    - Định nghĩa: Cho a ∈ Z*n gọi a là thặng dư bậc 2 theo modulo n nếu tồn tại x Z*n
    sao cho x2≡a(modn) và nếu không tồn tại thì gọi a là bất thặng dư bậc 2 theo modulo
    n. Tập các thặng dư bậc 2 ký hiệu là Qn và các tập bất thặng dư bậc 2 ký hiệu là Qn .
    1.1.8. Số Blum
    - Định nghĩa: Số Blum là một hợp tử n=p.q nếu p,q là hai số nguyên tố khác nhau và
    đồng dư với 3mod4.11
    i.2. TÌM HIỂU MẬT MÃ
    i.2.1. Giới thiệu
    Mật mã đã được sử dụng từ rất sớm, khi con người biết trao đổi thông tin cho
    nhau và trải qua bao nhiêu năm nó đã được phát triển từ những hình thức sơ khai cho
    đến hiện đại và tinh vi. Mật mã được sử dụng trong rất nhiều lĩnh vực của con người
    và các quốc gia, đặc biệt trong các lĩnh vực quân sự, chính trị, ngoại giao và thương
    mại. Mục đích của mật mã là tạo ra khả năng trao đổi thông tin trên một kênh thông tin
    chung cho những đối tượng cùng tham gia trao đổi thông tin và không muốn một đối
    tượng thứ ba khác biết được những thông tin mà họ trao đổi.
    Khi một đối tượng A muốn gửi một thông điệp cho những người nhận, A sẽ
    phải mã hóa thông điệp và gửi đi, những người nhận được thông điệp mã hóa muốn
    biết được nội dung thì phải giải mã thông điệp mã hóa. Các đối tượng trao đổi thông
    tin cho nhau phải thỏa thuận với nhau về cách thức mã hóa và giải mã, quan trọng hơn
    là khóa mật mã đã sử dụng trong quá trình mã hóa và giải mã, nó phải tuyệt đối được
    giữ bí mật. Một đối tượng thứ ba mặc dù có biết được nhưng sẽ không biết được nội
    dung thông điệp đã mã hóa.
    Có hai phương pháp mã hóa dữ liệu là Mã hóa khóa đối xứng và Mã hóa khóa
    công khai.
    i.2.2. Sơ đồ hệ thống mật mã
    Là một bộ năm (P, C, K, E, D) trong đó:
    + P là một tập hữu hạn các bản rõ.
    + C là một tập hữu hạn các bản mã.
    + K là một tập hữu hạn các khoá.
    + Với mỗi k є K, có một hàm lập mã e
    k
    є E


    TÀI LIỆU THAM KHẢO
    i. Lý thuy ết mật mã và an toàn thông tin – Phan Đình Diệu(NXB ĐHQGHN).
    2. TS. Nguyễn Ngọc Cương – “Bài giảng An toàn thông tin”.
    3. Nguyễn thị Mười Phượng – “Luận văn thạc sĩ”.
    4.11 D.R Stinson – “Cryptography Theory and Practice”, CRC press – 1995.
    5. http://google.com , http://vi.wikipedia.org/
    Nguồn internet :
    43
    (*1) : http://www.vatgia.com/hoidap/4115/77237/lich-su-phat-trien-may-tinh.html
     

    Các file đính kèm:

Đang tải...