intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

PHÁT TRIỂN MỘT SỐ THUẬT TOÁN MẬT MÃ KHÓA CÔNG KHAI

Chia sẻ: | Ngày: | Loại File: PDF | Số trang:7

1.234
lượt xem
1.161
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài báo đề xuất một số thuật toán mật mã khóa công khai được phát triển từ hệ mật ElGamal. Ưu điểm của các thuật toán mới đề xuất là cho phép bảo mật và xác thực thông tin một cách đồng thời. Hơn nữa, mức độ an toàn của các thuật toán mới đề xuất không nhỏ hơn mức độ an toàn của thuật toán ElGamal.

Chủ đề:
Lưu

Nội dung Text: PHÁT TRIỂN MỘT SỐ THUẬT TOÁN MẬT MÃ KHÓA CÔNG KHAI

  1. Hội thảo quốc gia lần thứ XV: Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thông- Hà Nội, 03-04/12/2012 Phát triển một số thuật toán mật mã khóa công khai Development of some public key cryptographic algorithms Lưu Hồng Dũng1, Ngô Đăng Tiến2, Trần Trung Dũng3, Vũ Tất Thắng4 luuhongdung@gmail.com, ndtien@gmail.com, ttdung@ictu.edu.vn, vtthang@ioit.ac.vn 1 Khoa Công nghệ Thông tin – Học viện Kỹ thuật Quân sự 2 Cục Công nghệ Thông tin – Bộ Giáo dục và Đào tạo 3 Đại học CNTT và Truyền thông – Đại học Thái Nguyên 4 Viện Công nghệ Thông tin – Viện Khoa học và Công nghệ Việt nam Tóm tắt—Bài báo đề xuất một số thuật toán mật mã khóa công bảo đảm khả năng xác thực về nguồn gốc nhưng không xác khai được phát triển từ hệ mật ElGamal. Ưu điểm của các thuật thực về tính toàn vẹn của bản tin cũng được đề xuất ở đây. toán mới đề xuất là cho phép bảo mật và xác thực thông tin một cách đồng thời. Hơn nữa, mức độ an toàn của các thuật toán II. PHÁT TRIỂN MỘT SỐ THUẬT TOÁN MẬT MÃ mới đề xuất không nhỏ hơn mức độ an toàn của thuật toán KHÓA CÔNG KHAI ElGamal. A. Các thuật toán cơ sở Từ khoáa: Public Key Cryptosystem, SignCryption Algorithm, Digital Signature, Hash Function. Các thuật toán cơ sở ở đây bao gồm thuật toán mật mã khóa công khai El Gamal và thuật toán chữ ký‎ số DSA. I. ĐẶT VẤN ĐỀ Thuật toán mật mã Elgama được đề xuất vào năm 1985, thuật toán này được xây dựng trên cơ sở bài toán logarith Thuật toán mật mã RSA [1] và ElGamal [2] là những rời rạc và được sử dụng bởi Cơ quan An ninh Quốc gia Mỹ thuật toán mật mã khóa công khai được biết đến và sử dụng - NSA (National Security Agency). Thuật toán chữ ký‎ số phổ biến nhất trong thực tế. Nhược điểm cơ bản của các thuật toán này là không có cơ chế xác thực thông tin được DSA (Digital Signature Algorithm) được phát triển từ thuật bảo mật (nguồn gốc, tính toàn vẹn), vì thế nó không có khả toán chữ ký‎ số ElGamal. DSA được NSA đề xuất và NIST năng chống lại một số dạng tấn công giả mạo trong thực tế. (National Institute of Standards and Technology) công nhận Đã có một số kết quả đạt được từ việc phát triển các thuật làm chuẩn chữ ký‎ số của Mỹ từ năm 1994 [4]. Các thuật toán này nhằm khắc phục yếu điểm nói trên của nó. Trong toán trên được sử dụng để phát triển một số thuật toán mật [3] đề xuất một thuật toán cải tiển từ ElGamal bằng việc sử mã có khả năng bảo mật và xác thực thông tin một cách dụng chữ ký‎ số để tạo cơ chế xác thực về nguồn gốc và tính đồng thời. toàn vẹn cho thông tin (bản tin, thông điệp dữ liệu, ...) được 1) Thuật toán mật mã ElGamal bảo mật. Đặc điểm của thuật toán này là chữ ký‎số được hình Các thành viên trong hệ thống muốn trao đổi thông tin thành trực tiếp từ bản rõ nên chỉ phù hợp với các ứng dụng mật với nhau bằng thuật toán mật mã Elgamal thì trước tiên mà ở đó bản tin được truyền trực tiếp giữa 2 đối tượng thực hiện quá trình hình thành khóa như sau: gửi/mã hóa và nhận/giải mã. Do đặc điểm trên, nó bị hạn chế  Chọn số nguyên tố đủ lớn p sao cho bài toán logarit trong một số tình huống ứng dụng khi bản tin mật được truyền từ người gửi/mã hóa đến người nhận/giải mã phải trong Z p là khó giải. chuyển tiếp qua một số khâu trung gian, mà ở đó nó cần phải  Chọn phần tử sinh g của nhóm Z . được xác thực về nguồn gốc cũng như tính toàn vẹn trước p khi gửi đến các khâu trung gian khác hay đến đối tượng  Chọn khóa mật x là số nguyên thỏa mãn: nhận. Vấn đề là ở chỗ, các khâu trung gian không được phép 1  x   p  1 . Tính khóa công khai y theo công biết nội dung bản tin, nhưng để xác thực được nguồn gốc và thức: y  g mod p . x tính toàn vẹn của nó thì bản tin cần phải được giải mã, nghĩa là thông tin sẽ bị lộ ở các khâu trung gian mà lẽ ra là không Giả sử người gửi/mã hóa là A, người nhận/giải mã là B. được phép. Thuật toán thứ nhất được đề xuất ở đây cho phép Người A có khóa bí mật là xA và khóa công khai là yA. Người khắc phục nhược điểm nói trên của thuật toán trong [3] nhờ B có khóa bí mật là xB và khóa công khai là yB. Khi đó, để việc hình thành chữ ký‎ số từ bản mã chứ không phải từ bản gửi bản tin M cho B, với: 0  M  p , người gửi A sẽ thực rõ. Do đó, với thuật toán mới đề xuất việc giải mã bản tin hiện các bước như sau: được bảo mật là không cần thiết khi phải xác thực nguồn gốc và tính toàn vẹn của nó ở các khâu trung gian. Bốn thuật toán  Chọn số ngẫu nhiên k thỏa mãn: 1  k  ( p  1) ; tiếp theo cũng được phát triển từ thuật toán ElGamal nhằm  Tính giá trị R theo công thức: 367
  2. Hội thảo quốc gia lần thứ XV: Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thông- Hà Nội, 03-04/12/2012 R  g k mod p  Thủ tục kiểm tra tính hợp lệ của chữ ký‎bao gồm các bước như sau:  Sử dụng khóa công khai của B để tính:  Tính giá trị: W  S 1 mod q : C  M  ( y B ) k mod p   Tính giá trị: U  W .H M  mod q  Tính giá trị: V  W .R mod q  C, R đến người nhận B. Kiểm tra nếu R  g  y mod p  mod q thì U V Gửi bản mã  Để khôi phục bản tin ban đầu (M) từ bản mã C, R   chữ ký‎ (R,S) hợp lệ, do đó nguồn gốc và tính toàn vẹn của bản tin M được công nhận. nhận được, người nhận B thực hiện các bước như sau:  Tính giá trị Z theo công thức: B. Thuật toán mật mã khóa công khai phát triển dựa trên hệ mật ElGamal và DSA Z  R 1 mod p  1) Thuật toán thứ nhất Thuật toán thứ nhất đề xuất ở đây được phát triển từ  Khôi phục bản tin ban đầu (M): việc kết hợp thuật toán mật mã El Gamal và thuật toán chữ sô DSA nhằm bảo đảm các khả năng về bảo mật và xác thực thông tin. Ở đây thông tin được xác thực đồng thời về nguồn M  C  Z  B mod p  x gốc cũng như tính toàn vẹn. a) Thủ tục hình thành tham số và khóa 2) Thuật toán chữ ký‎số DSA Thủ tục hình thành tham số và khóa ở đây hoàn toàn Thủ tục hình thành tham số và khóa bao gồm các bước tương tự như ở thuật toán DSA, bao gồm các bước như sau: thực hiện như sau:  Chọn cặp số nguyên tố p và q sao cho bài toán  Chọn cặp số nguyên tố p và q sao cho bài toán logarit trong Z p là khó giải và thỏa mãn: logarit trong Z p là khó giải và thỏa mãn: q | ( p  1) ; q | ( p  1) ; ( p 1) / q ( p 1) / q  Chọn g  h mod p là phần tử sinh có bậc q  Chọn g  h mod p là phần tử sinh có bậc q   của nhóm Z p , với h là một số nguyên thỏa mãn: của nhóm Z p , nghĩa là: 1  g  p và: 1 h  p; g q  1 mod p . Ở đây: h là một số nguyên thỏa  Khóa bí mật x là một giá trị được chọn trong mãn: 1  h  p ; khoảng: 1  x  q . Khóa công khai y được tính  Khóa bí mật x là một giá trị được chọn trong theo công thức: y  g mod p ; x khoảng: 1  x  q .  Giữ bí mật: x; công khai: p, q, g, y. Khóa công khai  Khóa công khai y được tính theo công thức: y cần phải được chứng thực bởi một CA (Certificate y  g x mod p . Authority) đáng tin cậy. Thủ tục hình thành chữ ký‎ lên bản tin M bao gồm các b) Thủ tục mã hóa bước như sau: Giả sử người gửi/mã hóa là A, người nhận/giải mã là B.  Chọn một giá trị k thỏa mãn: 1  k  q . Người gửi A có khóa bí mật là xA và khóa công khai là yA.  Tính thành phần thứ nhất R của chữ ký‎ theo công Người nhận B có khóa bí mật là xB và khóa công khai là yB. thức: Để gửi bản tin M cho B, với: 0  M  p , A thực hiện các bước như sau:  R  ( g k mod p ) mod q   Chọn giá trị kA thỏa mãn: 1  k A  q và không lặp lại.  Thành phần thứ hai S của chữ ký‎ được tính theo  Sử dụng khóa công khai của B để mã hóa M theo công thức: công thức: S  k 1  H ( M )  x  R  mod q  C  M   y B  A mod p , k Với: |q| = 160 bit, hàm băm H(.) được chọn ở đây là  Tính thành phần R theo công thức: SHA-1.  R  g k A mod p mod q ,  368
  3. Hội thảo quốc gia lần thứ XV: Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thông- Hà Nội, 03-04/12/2012  Tính thành phần S theo công thức: C  M   y B  A mod p  R  g k A mod p mod q  k   S  k A   C  x A  R  mod q , 1 S  k A   C  x A  R  mod q ếu 1  Gửi bản mã gồm C, R, S  đến B. w  S 1 mod q  c) Thủ tục giải mã Từ bản mã C, R, S  nhận được, B khôi phục và kiểm tra nguồn gốc cũng như tính toàn vẹn của bản tin ban đầu (M) u  C  w mod q  v  ( R  w) mod q  như sau:  Tính giá trị nghịch đảo của S: R  g    y A  mod p  M  C  R  u v  xB w S 1 mod q  mod p   Tính giá trị u theo công thức: R  R mod q Thì  M  M và R  R  u  C  w mod q  Chứng minh:  Tính giá trị v theo công thức: Thật vậy, ta có: v  R  w mod q   R  ( g )u   y A  mod p v   Tính giá trị R theo công thức:   g  C w  yA  Rw mod p  R  g    y A  mod p  u v   g  C S 1  yA  RS 1 mod p  Tính giá trị M theo công thức: Mặt khác, từ: M  C  R  B mod p  S  k A   C  x A  R  mod q  x 1  Tính giá trị R theo công thức: Suy ra: R  R mod q  k A  S 1  C  x A  R  mod q   So sánh R với R , nếu R  R thì M  M và Nên: bản tin nhận được (C,R,S) có nguồn gốc từ đối tượng gửi A. g k mod p  g S C  x R  mod p 1 d) Tính đúng đắn của thuật toán mới đề xuất A A Điều cần chứng minh ở đây là: Cho: p, q là 2 số nguyên tố  g   g  1 1 C S x  RS phân biệt thỏa mãn: mod p A q | ( p  1)  1  h  p     g C S mod p   g x A 1      RS 1 mod p  mod p     g C S   y A  1 RS 1 mod p g  h ( p1) / q mod p  1  x A , x B  q  Từ đây suy ra: y A  g x A mod p  y B  g xB mod p  1  k A  q   R  g k A mod p  369
  4. Hội thảo quốc gia lần thứ XV: Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thông- Hà Nội, 03-04/12/2012 Do đó: thủ tục mã hóa và khóa công khai của người gửi (yA) trong thủ tục giải mã. a) Thủ tục hình thành tham số và khóa M  C  ( R ) xB mod p  Chọn số nguyên tố lớn p sao cho bài toán logarit   C mod p   R  B mod p mod p x  trong Z p là khó giải.   M   y B  mod p mod p  kA    Chọn g là phần tử sinh của Z. p    Chọn khóa mật x là số nguyên thỏa mãn:  g k A mod p  xB mod p mod p  1  x   p  1 .  M  g  mod p  g    xB k A k A xB  Tính khóa công khai y theo công thức: mod p mod p y  g x mod p .   M g  x B k A mod p  g   mod p  mod p x B k A  Giữ bí mật: x; công khai: p, q, g, y. Khóa công khai  M  g  mod p  M  x B k A x B k A y cần phải được chứng thực bởi một CA (Certificate g Authority) đáng tin cậy. Và: b) Thủ tục mã hóa Giả sử người gửi là A, người nhận là B. Người gửi A có  R   R  mod q  g k A mod p mod q  R   khóa bí mật là xA và khóa công khai là yA. Người nhận B có khóa bí mật là xB và khóa công khai là yB. Khi đó, để gửi bản tin M cho B, với: 0  M  p , A sẽ thực hiện các bước như Đây là điều cần chứng minh. sau:  Chọn số ngẫu nhiên kA thỏa mãn: e) Mức độ an toàn của thuật toán mới đề xuất 1  k A  ( p  1) . Tính giá trị R theo công thức: Mức độ an toàn của thuật toán mới đề xuất có thể đánh giá qua các khả năng:  Chống tấn công làm lộ khóa mật. R  g k A mod p   Chống thám mã.  Chống giả mạo nguồn gốc và nội dung bản tin‎ .  Sử dụng khóa công khai của B để tính: Có thể thấy rằng, thủ tục hình thành khóa ở thuật toán được đề xuất và ở các thuật toán El Gamal, DSA thực chất C  M  ( y B ) k A  x A mod p  là một. Vì vậy, có thể kết luận khả năng chống tấn công làm lộ khóa mật của thuật toán mới đề xuất là tương đương với khả năng chống tấn công làm lộ khóa mật của các thuật toán  Gửi bản mã gồm C, R đến người nhận B. El Gamal và DSA. Về khả năng chống thám mã, xét trong các trường hợp tấn c) Thủ tục giải mã công trực tiếp vào thuật toán mã hóa: Để khôi phục bản tin ban đầu (M) từ bản mã C, R   C  M   y B  A mod p k và thuật toán giải mã: nhận được, người nhận B thực hiện các bước như sau: M  C  R  B mod p , cho thấy rằng mức độ an toàn x  Tính giá trị Z theo công thức: của thuật toán được đề xuất và của thuật toán El Gamal là Z  R  y A  mod p  1 tương đương nhau. Ở thuật toán mới đề xuất, cơ chế xác thực về nguồn gốc và tính toàn vẹn của bản tin được thiết lập trên cơ sở các thủ  Khôi phục bản tin ban đầu (M): tục hình thành và xác minh chữ ký‎ số của thuật toán DSA. Vì vậy, mức độ an toàn của thuật toán mới đề xuất xét theo M  C  Z  B mod p  x khả năng chống giả mạo nguồn gốc và nội dung bản tin là tương đương khả năng chống giả mạo chữ ký‎của thuật toán DSA. d) Tính đúng đắn của thuật toán mới đề xuất 2) Thuật toán thứ 2 Điều cần chứng minh ở đây là: cho p là số nguyên tố, g là Thuật toán thứ 2 đề xuất ở đây cũng được phát triển từ phần tử sinh của Z  , 1  x A , xB   p  1 , p thuật toán mật mã El Gamal. Điểm khác biệt cơ bản với thuật toán El Gamal là ở chỗ thuật toán mới đề xuất có cơ y A  g x A mod p , y B  g xB mod p , chế xác thực nguồn gốc thông tin 2 chiều được thiết lập dựa 1  k A   p  1 , trên việc sử dụng khóa công khai của người nhận (yB) trong 370
  5. Hội thảo quốc gia lần thứ XV: Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thông- Hà Nội, 03-04/12/2012 C  M   yB  A k  xA   mod p , R  g k A mod p . Nếu: Giả sử người gửi là A, người nhận là B. Người gửi A có khóa bí mật là xA và khóa công khai là yA. Người nhận B có Z  R  y A  mod p , M  C  Z  B mod p thì: 1 x khóa bí mật là xB và khóa công khai là yB. Khi đó, thủ tục để A gửi bản tin M cho B, với: 0  M  p , bao gồm các M M. Chứng minh: bước như sau: Thật vậy, ta có: Bước 1: Đối tượng B thực hiện:  Chọn giá trị kB thỏa mãn: 1  k B  ( p  1) . M  C  Z  B mod p  x  Tính giá trị RB theo công thức:   M   yB  A k  xA mod p    R  y A  mod p  1 xB RB  g k B mod p  mod p     M  g xB mod p  k A  xA mod p    Gửi giá trị RB cho đối tượng A. Bước 2: Đối tượng A thực hiện:  g kA   mod p  g x A mod p  1 mod p  xB mod p   Mã hóa bản tin M theo công thức:   M g k A  x A . xB mod p  g    k A  x A . xB  mod p mod p C  M  RB  y B  A mod p  x  M  g k A  x A . xB  g k A  x A . xB mod p  M  Gửi bản mã C đến đối tượng nhận B. c) Thủ tục giải mã e) Mức độ an toàn của thuật toán mới đề xuất Để khôi phục bản tin ban đầu (M) từ bản mã nhận được Ở thuật toán mới đề xuất, việc tấn công trực tiếp vào (C), người nhận B thực hiện các bước như sau: thủ tục mã hóa là khó khăn hơn thuật toán El Gamal, vì ở  Tính giá trị Z theo công thức: thuật toán này cả 2 khóa bí mật ngắn hạn (kA) và dài hạn (xA) của người gửi cùng được sử dụng để mã hóa bản tin. Z   y A  mod p  1 Do đó, việc thám mã và giả mạo, xét trong trường hợp này, chỉ có thể thực hiện thành công khi cả 2 khóa bí mật đồng thời bị lộ. Từ đây có thể thấy rằng, mức độ an toàn của  Khôi phục bản tin ban đầu (M): thuật toán mới đề xuất xét theo khả năng chống thám mã và M  C  Z  B chống tấn công làm lộ khóa mật là không nhỏ hơn mức độ k  xB mod p  an toàn của thuật toán El Gamal trong khi mức độ chống giả mạo nguồn gốc bản tin được bảo mật lại cao hơn thuật toán El Gamal. d) Tính đúng đắn của thuật toán mới đề xuất 3) Thuật toán thứ 3 Điều cần chứng minh ở đây là: cho p là số nguyên tố, g là Thuật toán thứ 3 được đề xuất ở đây có cơ chế xác thực phần tử sinh của Z  , 1  x A , x B   p  1 , p tương tự như thuật toán thứ hai, nhưng có cách thức thực hiện dưới dạng một giao thức (protocol). Ngoài ra, bản mã y A  g x A mod p , y B  g xB mod p , được tạo ra bởi thuật toán này chỉ có một thành phần duy nhất. 1  k B   p  1 , RB  g mod p kB   C  M  RB  y B  mod p xA a) Thủ tục hình thành tham số và khóa . Nếu: Z   y A  mod p , M  C  Z  1 k B  xB  Chọn số nguyên tố lớn p sao cho bài toán logarit mod p thì: trong Z p là khó giải. M M.  Chọn g là phần tử sinh của Z. p Chứng minh: Thật vậy, ta có:  Chọn khóa mật x là số nguyên thỏa mãn: 1  x   p  1 .  Tính khóa công khai y theo công thức: y  g x mod p .  Giữ bí mật: x; công khai: p, q, g, y. Khóa công khai y cần phải được chứng thực bởi một CA (Certificate Authority) đáng tin cậy. b) Thủ tục mã hóa 371
  6. Hội thảo quốc gia lần thứ XV: Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thông- Hà Nội, 03-04/12/2012 M  C  Z  B RB  g k B mod p  k  xB mod p    M  RB  y B  A mod p  x   Gửi giá trị RB cho đối tượng A.   y  Bước 2: Đối tượng A thực hiện: 1 k B  xB mod p mod p   Chọn giá trị kA thỏa mãn: 1  k A  ( p  1) .   A   M  g kB mod p  g xB mod p    xA mod p   Hình thành phần thứ nhất của bản mã theo công  g  thức:  1 k B  xB xA mod p mod p mod p  C  M  R B  y B  A k  xA     M  g kB  xB . x A mod p  g kB  xB . x A mod p mod p  mod p   M  g kB  xB . x A  g kB  xB . x A mod p  M  Hình thành phần thứ hai của bản mã: R  g k A mod p e) Mức độ an toàn của thuật toán mới đề xuất  Gửi bản mã (C,R) đến đối tượng nhận B. Ở thuật toán mới đề xuất, khả năng chống thám mã xét c) Thủ tục giải mã trong trường hợp tấn công trực tiếp vào thủ tục mã hóa là Để khôi phục bản tin ban đầu (M) từ bản mã nhận được tương đương với thuật toán El Gamal, nhưng thủ tục giải mã (C,R), người nhận B thực hiện các bước như sau: của thuật toán được đề xuất có khả năng chống thám mã cao  Tính giá trị Z theo công thức: hơn so với thuật toán El Gamal do việc sử dụng kết hợp đồng thời cả 2 khóa bí mật ngắn hạn (kB) và dài hạn (xB) của Z  R  y A  mod p  1 người nhận (B). 4) Thuật toán 4 Thuật toán thứ 4 được đề xuất ở đây cũng có cơ chế xác  Khôi phục bản tin ban đầu (M): thực và cách thức thực hiện tương tự như thuật toán thứ ba, M  C  Z  B k  xB nhưng có mức độ an toàn xét theo khả năng chống thám mã mod p  và giả mạo cao hơn do thủ tục mã hóa sử dụng đồng thời 2 khóa bí mật ngắn hạn và dài hạn của người gửi, còn thủ tục d) Tính đúng đắn của thuật toán mới đề xuất giải mã lại sử dụng đồng thời 2 khóa bí mật ngắn hạn và dài hạn của người nhận. Ở thuật toán thứ tư này, việc thám mã Điều cần chứng minh ở đây là: cho p là số nguyên tố, g là và giả mạo chỉ có thể thực hiện thành công khi bị lộ đồng phần tử sinh của Z  , 1  x A , x B   p  1 , p thời cả 2 khóa bí mật ngắn hạn và dài hạn. y A  g x A mod p , y B  g xB mod p ,   a) Thủ tục hình thành tham số và khóa  Chọn số nguyên tố lớn p sao cho bài toán logarit 1  k A , k B   p  1 , RB  g mod p kB trong Z p là khó giải. C  M  R B  y B  kA  xA mod p ,. R  g k A mod p   Z  R  y A  mod p 1  Chọn g là phần tử sinh của Z. p Nếu: , M  C  Z   k B  xB Chọn khóa mật x là số nguyên thỏa mãn: mod p thì: M  M . 1  x   p  1 . Chứng minh:  Tính khóa công khai y theo công thức: Thật vậy, ta có: y  g x mod p . M  C  Z  B k  xB mod p   Giữ bí mật: x; công khai: p, q, g, y. Khóa công khai y cần phải được chứng thực bởi một CA (Certificate   M  RB  y B  k A  xA mod p    R  y 1 mod p  Authority) đáng tin cậy. k B  xB mod p    b) Thủ tục mã hóa A Giả sử người gửi là A, người nhận là B. Người gửi A có khóa bí mật là xA và khóa công khai là yA. Người nhận B có   M  g k B mod p  g xB mod p   kA  xA mod p   g    mod p khóa bí mật là xB và khóa công khai là yB. Khi đó, thủ tục để 1 k B  xB A gửi bản tin M cho B, với: 0  M  p , bao gồm các kA mod p  g x A mod p mod p bước như sau:   M  g k B  xB . k A  x A   mod p    g  mod p  mod p Bước 1: Đối tượng B thực hiện:  k B  x B . k A  x A  Chọn giá trị kB thỏa mãn: 1  k B  ( p  1) .  Tính giá trị RB theo công thức:  M  g k B  xB .k A  x A   g k B  xB .k A  x A  mod p  M 372
  7. Hội thảo quốc gia lần thứ XV: Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thông- Hà Nội, 03-04/12/2012 e) Mức độ an toàn của thuật toán mới đề xuất M  C  R  B   y A  B mod p  x k Ở thuật toán mới đề xuất, cả 2 khóa bí mật ngắn hạn (kA) và dài hạn (xA) của người gửi (A) cũng như khóa bí mật ngắn hạn (kB) và dài hạn (xB) của người nhận (B) đều được d) Tính đúng đắn của thuật toán mới đề xuất sử dụng kết hợp trong các thủ tục mã hóa và giải mã. Vì Điều cần chứng minh ở đây là: cho p là số nguyên tố, g là vậy, mức độ an toàn của thuật toán mới đề xuất xét theo khả phần tử sinh của Z  , 1  x A , x B   p  1 , p năng chống thám mã trong cả 2 trường hợp tấn công trực tiếp vào thủ tục mã hóa và giải mã đều cao hơn thuật toán El y A  g  x A mod p , y B  g  xB mod p , Gamal. 1  k A , k B   p  1 , RB  g mod p kB   5) Thuật toán thứ 5 Thuật toán thứ 5 đề xuất ở đây được xây dựng theo C  M  RB    y B  mod p ,. R  g k A mod p xA kA   nguyên tắc tương tự như thuật toán thứ 4. Nếu: M  C  R    y A  B mod p thì: M  M . xB k a) Thủ tục hình thành tham số và khóa Chứng minh:  Chọn số nguyên tố lớn p sao cho bài toán logarit Thật vậy, ta có: trong Z p là khó giải. M  C  R  B   y A  B mod p  x k   Chọn g là phần tử sinh của Z. p Chọn khóa mật x là số nguyên thỏa mãn:   M  RB  A   y B  A mod p  x k  1  x   p  1 .  R    y A  mod p  xB kB  Tính khóa công khai y theo công thức:    g mod p    M  g k B mod p xA  xB kA y  g  x mod p .  g mod p   g mod p  mod p  kA xB  xA kB  Giữ bí mật: x; công khai: p, q, g, y. Khóa công khai y cần phải được chứng thực bởi một CA (Certificate Authority) đáng tin cậy.  M  g k B . x A  g k A . xB  g k A . xB  g k B . x A mod p b) Thủ tục mã hóa M Giả sử người gửi là A, người nhận là B. Người gửi A có e) Mức độ an toàn của thuật toán mới đề xuất khóa bí mật là xA và khóa công khai là yA. Người nhận B có Phân tích tương tự như với thuật toán thứ 4, có thể thấy khóa bí mật là xB và khóa công khai là yB. Khi đó, thủ tục để rằng mức độ an toàn của 2 thuật toán này là như nhau. A gửi bản tin M cho B, với: 0  M  p , bao gồm các bước như sau: III. KẾT LUẬN Bước 1: Đối tượng B thực hiện: Bài báo đề xuất 5 thuật toán mật mã khóa công khai được  Chọn giá trị kB thỏa mãn: 1  k B  ( p  1) . phát triển dựa trên hệ mật ElGamal, các thuật toán này có  Tính giá trị RB theo công thức: thể bảo đảm đồng thời 2 khả năng bảo mật và xác thực nguồn gốc thông tin. Hơn nữa, mức độ an toàn của các thuật toán được đề xuất ở đây không nhỏ hơn mức độ an toàn của RB  g k B mod p  thuật toán El Gamal xét theo khả năng chống thám mã khi tấn công trực tiếp vào các thủ tục mã hóa và giải mã.  Gửi giá trị RB cho đối tượng A. Bước 2: Đối tượng A thực hiện: TÀI LIỆU THAM KHẢO  Chọn giá trị kA thỏa mãn: 1  k A  ( p  1) . [1] R. L. Rivest, A. Shamir, and L. M. Adleman, A Method for Obtaining Digital Signatures and Public Key  Hình thành phần thứ nhất của bản mã theo công Cryptosystems / Commun. of the ACM, Vol. 21, No. 2, thức: 1978, pp. 120-126. [2] T. ElGamal. A public key cryptosystem and a signature C  M  RB  A   y B  A mod p  x k scheme based on discrete logarithms. IEEE Transactions on Information Theory. 1985, Vol. IT-31, No. 4. pp.469–472.  Hình thành phần thứ hai của bản mã: [3] Lưu Hồng Dũng, Nghiên cứu phát triển thuật toán mật mã khóa công khai dựa trên hệ mật ElGamal, Chuyên R  g k A mod p san CNTT và TT, Bộ Thông tin và Truyền thông, số 8(28), 12-2012.  Gửi bản mã (C,R) đến đối tượng nhận B. [4] National Institute of Standards and Technology, NIST c) Thủ tục giải mã FIPS PUB 186-3. Digital Signature Standard, U.S. Từ bản mã nhận được (C,R), người nhận B khôi phục lại Department of Commerce,1994. bản tin ban đầu theo công thức: 373
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2