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

Cấu trúc môđun của tập điểm có bậc hữu hạn trên đường cong elliptic và ứng dụng trong mật mã

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

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

Mục đích chính của bài báo này là mô tả cấu trúc môđun của tập hợp những điểm P nằm trên đường cong elliptic thỏa mãn điều kiện nP=O. Trong đó, P là điểm có bậc hữu hạn trên đường cong elliptic E không kỳ dị, phương trình của đường cong elliptic E được cho bởi dạng Weierstrass trên trường Zp (là số nguyên tố lớn hơn 3), O là điểm tại vô cùng.

Chủ đề:
Lưu

Nội dung Text: Cấu trúc môđun của tập điểm có bậc hữu hạn trên đường cong elliptic và ứng dụng trong mật mã

Journal of Science – 2015, Vol. 8 (4), 10 – 21<br /> <br /> Part D: Natural Sciences, Technology and Environment<br /> <br /> CẤU TRÚC MÔĐUN CỦA TẬP ĐIỂM CÓ BẬC HỮU HẠN TRÊN ĐƯỜNG CONG<br /> ELLIPTIC VÀ ỨNG DỤNG TRONG MẬT MÃ<br /> Võ Anh Tuấn1<br /> 1<br /> <br /> ThS. Trường Đại học An Giang<br /> Thông tin chung:<br /> Ngày nhận bài: 30/12/14<br /> Ngày nhận kết quả bình duyệt:<br /> 15/02/15<br /> Ngày chấp nhận đăng: 12/15<br /> <br /> ABSTRACT<br /> <br /> Title:<br /> Module structure of the set of<br /> points having finite order on<br /> elliptic curve and application in<br /> cryptography<br /> <br /> Weierstrass form over<br /> <br /> Từ khóa:<br /> Đường cong elliptic không kỳ<br /> dị, điểm có bậc hữu hạn, cấu<br /> trúc module, mật mã<br /> Keywords:<br /> Nonsingular elliptic curve, the<br /> point has finite order, the<br /> module structure, cryptography<br /> <br /> The main aim of this article is describing module structure of the set of the points<br /> P on elliptic curve which satisfy nP=O. In this set, P is the point having finite<br /> order on nonsingular elliptic curve E. The elliptic’s equation is given by<br /> <br /> p<br /> <br /> field (p is a prime number greater than 3) and O is<br /> <br /> the point at infinity. The set of the points which satisfy this condition is a subgroup<br /> and its structure is a<br /> <br />  n  module. Beside this new  n  module structure,<br /> <br /> this article also describes a new encryption method based on this structure by<br /> maple 13.0 software.<br /> <br /> TÓM TẮT<br /> Mục đích chính của bài báo này là mô tả cấu trúc môđun của tập hợp những điểm<br /> P nằm trên đường cong elliptic thỏa mãn điều kiện nP=O. Trong đó, P là điểm<br /> có bậc hữu hạn trên đường cong elliptic E không kỳ dị, phương trình của đường<br /> cong elliptic E được cho bởi dạng Weierstrass trên trường  p (là số nguyên tố<br /> lớn hơn 3), O là điểm tại vô cùng. Tập hợp những điểm mà nó thỏa mãn điều kiện<br /> này là một nhóm con và cấu trúc của nó là  n  môđun. Bên cạnh cấu trúc<br /> môđun mới này, bài báo còn mô tả một phương pháp mã hóa dựa trên cấu trúc<br /> này bằng phần mềm maple 13.0.<br /> <br />  p n là nhóm con của<br /> <br /> 1. GIỚI THIỆU<br /> <br /> nP=O thì khi đó E <br /> <br /> Ta ký hiệu tập điểm của đường cong elliptic E trên<br /> <br />  p  và cấu trúc của nhóm con này là một<br /> <br /> trường  p (p là số nguyên tố lớn hơn 3) là<br /> <br /> E <br /> <br />  p  . Để tập điểm này trở thành nhóm aben ta<br /> <br /> E <br /> <br />  n  module. Trong trường hợp n là một số<br /> <br /> bổ sung vào điểm tại vô cùng O và quy tắc cộng<br /> điểm. Một điểm P trên đường cong elliptic E được<br /> gọi là có bậc n nếu nP  O, mP  O với mọi<br /> <br /> nguyên tố ta sẽ có được một phương pháp mã hóa<br /> dựa vào cấu trúc môđun của nhóm con này.<br /> Trong suốt bài báo này phương trình của đường<br /> cong elliptic E được cho bởi dạng Weierstrass:<br /> <br />  p n là tập<br /> <br /> số nguyên 1  m  n . Nếu gọi E <br /> <br /> 2<br /> <br /> 3<br /> <br /> y  x  ax  b<br /> <br /> hợp những điểm trên đường cong elliptic thỏa mãn<br /> <br /> 3<br /> <br /> 2<br /> <br /> 4a  27b  0.<br /> 10<br /> <br /> thỏa<br /> <br /> mãn<br /> <br /> điêu<br /> <br /> kiện<br /> <br /> Journal of Science – 2015, Vol. 8 (4), 10 – 21<br /> <br /> Part D: Natural Sciences, Technology and Environment<br /> <br /> 2. CẤU TRÚC MÔĐUN CỦA TẬP ĐIỂM CÓ BẬC HỮU HẠN TRÊN ĐƯỜNG CONG ELLPTIC<br /> 2.1 Định nghĩa<br /> Điểm P trên đường cong elliptic được gọi là điểm có bậc n nếu nP = O , mP  O, với mọi số nguyên<br /> <br /> 1  m  n và ký hiệu bậc của P là deg(P).<br /> 2.2 Mệnh đề<br /> Cho P là điểm có bậc n trên đường cong elliptic E không kỳ dị. Khi đó, với mọi số nguyên k   thì điểm<br /> kP  mP . Trong đó m là số dư trong phép chia k cho n. Hay nói cách khác với mọi<br /> <br /> k  m   n , P  E  p  thì kP  mP .<br /> n<br /> <br /> Chứng minh. Với k  m   n thì tồn tại số nguyên a   sao cho k  m  an . Khi đó với mọi<br /> <br /> P  E  p  ta có kP  m  an  P . Bằng phương pháp quy nạp ta chứng minh kP  mP .<br /> n<br /> <br /> Thật vậy, với a  0  kP  mP hiển nhiên đúng.<br /> <br /> <br /> <br /> <br /> <br /> + Với a  1  kP  m  n P  mP  nP do cấu trúc   môđun và vì nP=O nên<br /> <br /> kP  mP .<br /> <br /> <br /> <br /> <br /> <br /> + Với a  2  kP  m  2n P lý luận tương tự như trên ta được kP  mP .<br /> <br /> <br /> <br />  <br /> <br /> <br /> <br /> + Giử sử đúng a  l  1 ta chứng minh đúng với a  l . Nghĩa là kP  m  l  1 n P  mP<br /> <br /> <br /> <br /> <br /> <br /> ta chứng minh kP  m  ln P  mP . Thật vậy,<br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> kP  m  l  1  1 n P  kP  m  l  1 n  n P  m  l  1 n P  nP<br /> <br /> <br /> <br /> <br /> <br />  <br /> <br /> Do giả thuyết quy nạp m  l  1 n P  mP<br /> <br />  kP  mP  nP<br /> Vì nP  O nên ta thu được kP  mP .<br /> <br />  n . □<br /> <br /> Dễ dàng chứng minh được điểm mP  E  p<br /> 2.3 Mệnh đề<br /> <br /> Cho đường cong Elliptic E xác định trên trường  p (p> 3) thỏa mãn điều kiện không kỳ dị. Khi đó,<br /> <br />  <br /> <br /> E p<br /> <br /> n<br /> <br /> là một   môđun.<br /> n<br /> <br /> Chứng minh.<br /> <br />  <br /> <br /> i. Trước tiên ta chứng minh E  p<br /> <br />  <br /> <br /> + E p<br /> <br /> n<br /> <br />  <br /> <br /> n<br /> <br />  <br /> <br /> là nhóm con của E  p .<br /> <br />  <br /> <br />  E  p , điểm O  E  p<br /> <br /> n<br /> <br />  <br /> <br /> do đó E  p<br /> <br /> 11<br /> <br /> n<br /> <br />  .<br /> <br /> Journal of Science – 2015, Vol. 8 (4), 10 – 21<br /> <br />  <br /> <br /> + P , Q  E  p<br /> <br /> n<br /> <br /> Part D: Natural Sciences, Technology and Environment<br /> <br />  .<br /> <br /> ta chứng minh P  Q  E  p<br /> <br /> n<br /> <br /> Thật vậy, ta xét điểm n(P  Q )  nP  nQ do tính chất của một   môđun.<br /> <br />  <br /> <br /> Mà P , Q  E  p<br /> <br /> n<br /> <br /> nên nP  O, nQ  O  nP  nQ  O  n (P  Q )  O<br /> <br />  <br /> <br />  P Q  E p<br /> <br /> n<br /> <br /> + Ta xét phần tử đối của P, giả sử Q là phần tử đối của P. Khi đó, ta có:<br /> <br /> P  Q  O  n(P  Q )  O<br /> Mặt khác, n(P  Q )  nP  nQ  nP  nQ  O , mà nP  O , do đó: nQ  O . Từ đây<br /> <br />  <br /> <br /> ta có được Q  E  p<br /> <br />  <br /> <br /> Như vậy, E  p<br /> <br /> n<br /> <br /> n<br /> <br /> .<br /> <br />  <br /> <br /> bảo toàn phép toán cộng do đó nó là nhóm con của E  p .<br /> <br /> ii. Tiếp theo ta xây dựng phép nhân ngoài.<br /> <br />  <br /> <br /> n  E  p<br /> <br /> n<br /> <br /> (m, P )<br /> <br />  <br /> <br />  E p<br /> <br /> n<br /> <br />  mP<br /> <br />   . Ta có: k (lP )  k (lP )<br /> <br /> a. Tính chất kết hợp: k , l   n , P  E  p<br /> <br /> n<br /> <br />  k (lP )  k (lP )  k (lP )  (kl )P  k (lP )  (kl )P  k (lP )  (kl )P .<br /> <br />   . Ta có:<br /> <br /> b. Tính chất phân phối: k , l   n , P , Q  E  p<br /> <br /> n<br /> <br /> + (k  l )P  (k  l )P  (k  l )P  (k  l )P  (k  l )P  (k  l )P<br /> <br />  (k  l )P  kP  lP  (k  l )P  kP  lP .<br /> + k (P  Q )  k (P  Q )  k (P  Q )  kP  kQ  k (P  Q )  kP  kQ .<br /> c. Tính chất Unita. Ta có: 1P  1P  P .<br /> Rõ ràng đây là một   môđun.<br /> n<br /> <br /> 3. ỨNG DỤNG<br /> Ví dụ 1. Sử dụng giao thức trao đổi chìa khóa của Diffie-Hellman vào phương pháp mã hóa sử dụng điểm<br /> có bậc hữu hạn. Giả sử T cần gởi văn bản mật cho C là:<br /> “Mathematics is my favorite subject”.<br /> <br /> 12<br /> <br /> Journal of Science – 2015, Vol. 8 (4), 10 – 21<br /> <br /> Giả sử khóa bí mật của T là<br /> trong<br /> <br /> <br /> <br /> ví dụ<br /> <br /> Part D: Natural Sciences, Technology and Environment<br /> <br /> k1  2 , khóa bí mật của B là k2  3 và u là phần tử được chọn ngẫu nhiên<br /> <br /> u  7 . Khi đó: Khóa công khai của T là KSCKT  7k1  49 . Khóa công khai của<br /> <br /> C là KSCKC  7<br /> <br /> k2<br /> <br />  343 .<br /> <br /> * Tiến trình mã hóa: T muốn gởi văn bản cho C tiến hành như sau: T đặt tương ứng văn bản rõ với một<br /> điểm P có bậc là một số nguyên tố n thuộc đường cong E và tính khóa bí mật cho phiên làm việc này là<br /> k<br /> <br /> K  (KSCKC ) 1  117649 . T tiến hành mã hóa bằng cách tính điểm nhân K .P  Q và gởi cho<br /> C điểm Q.<br /> * Tiến trình giải mã: C nhận được điểm Q tiến hành giải mã như sau:<br /> k<br /> <br /> C tính khóa của phiên làm việc này là M  (KSCKT ) 2 và tìm bậc của Q.<br /> C tìm<br /> <br /> m   n , tính nghịch đảo m<br /> <br /> 1<br /> <br /> 1<br /> <br /> và giải mã bằng cách tính điểm m Q .<br /> <br /> Chứng minh.<br /> Vì n là một số nguyên tố. Khi đó,  n là một trường. Với mọi m   n , m  0 luôn tồn tại m<br /> sao cho m.m<br /> <br /> 1<br /> <br /> 1<br /> <br />  n<br /> <br />  1 mà 1P  1P  P .<br /> <br /> Như vậy, với một số nguyên k bất kỳ được chọn làm khóa thì luôn tồn tại m   n sao cho<br /> <br /> k  m  m  n   kP  mP  Q .<br /> 1<br /> <br /> 1<br /> <br /> 1<br /> <br /> Để khôi phục lại được dữ liệu, ta lấy m Q  m (mP )  (m m )P  1P .<br /> Mà 1P  1P  P . Kết luận: Dữ liệu được khôi phục.<br /> 4. MÔ TẢ PHƯƠNG PHÁP BẰNG PHẦN MỀM MAPLE 13.0<br /> Bảng tương ứng số - ký tự - điểm.<br /> <br /> Tương ứng hệ<br /> thập phân<br /> 0<br /> <br /> Đồ hoạ<br /> (Hiển thị ra<br /> được)<br /> Khoảng<br /> trống (␠)<br /> <br /> Tương ứng với<br /> điểm trên<br /> đường cong E<br /> <br /> Tương ứng hệ<br /> thập phân<br /> <br /> Đồ hoạ<br /> (Hiển thị ra<br /> được)<br /> <br /> Tương ứng với<br /> điểm trên<br /> đường cong E<br /> <br /> [19,67]<br /> <br /> 49<br /> <br /> w<br /> <br /> [116,160]<br /> <br /> 1<br /> <br /> A<br /> <br /> [22,91]<br /> <br /> 50<br /> <br /> x<br /> <br /> [120,93]<br /> <br /> 2<br /> <br /> B<br /> <br /> [23,99]<br /> <br /> 51<br /> <br /> y<br /> <br /> [124,190]<br /> <br /> 3<br /> <br /> C<br /> <br /> [26,100]<br /> <br /> 52<br /> <br /> z<br /> <br /> [125,40]<br /> <br /> 4<br /> <br /> D<br /> <br /> [27,67]<br /> <br /> 53<br /> <br /> !<br /> <br /> [126,195]<br /> <br /> 5<br /> <br /> E<br /> <br /> [28,194]<br /> <br /> 54<br /> <br /> #<br /> <br /> [135,60]<br /> <br /> 6<br /> <br /> F<br /> <br /> [30,135]<br /> <br /> 55<br /> <br /> $<br /> <br /> [138,139]<br /> <br /> 7<br /> <br /> G<br /> <br /> [33,52]<br /> <br /> 56<br /> <br /> %<br /> <br /> [140,142]<br /> <br /> 8<br /> <br /> H<br /> <br /> [34,154]<br /> <br /> 57<br /> <br /> &<br /> <br /> [142,198]<br /> <br /> 13<br /> <br /> Journal of Science – 2015, Vol. 8 (4), 10 – 21<br /> <br /> Part D: Natural Sciences, Technology and Environment<br /> <br /> Tương ứng hệ<br /> thập phân<br /> <br /> Đồ hoạ<br /> (Hiển thị ra<br /> được)<br /> <br /> Tương ứng với<br /> điểm trên<br /> đường cong E<br /> <br /> Tương ứng hệ<br /> thập phân<br /> <br /> Đồ hoạ<br /> (Hiển thị ra<br /> được)<br /> <br /> Tương ứng với<br /> điểm trên<br /> đường cong E<br /> <br /> 9<br /> <br /> I<br /> <br /> [35,45]<br /> <br /> 58<br /> <br /> '<br /> <br /> [143,26]<br /> <br /> 10<br /> <br /> J<br /> <br /> [37,132]<br /> <br /> 59<br /> <br /> (<br /> <br /> [144,48]<br /> <br /> 11<br /> <br /> K<br /> <br /> [38,191]<br /> <br /> 60<br /> <br /> )<br /> <br /> [145,80]<br /> <br /> 12<br /> <br /> L<br /> <br /> [40,52]<br /> <br /> 61<br /> <br /> *<br /> <br /> [146,124]<br /> <br /> 13<br /> <br /> M<br /> <br /> [41,85]<br /> <br /> 62<br /> <br /> +<br /> <br /> [147,155]<br /> <br /> 14<br /> <br /> N<br /> <br /> [43,13]<br /> <br /> 63<br /> <br /> ,<br /> <br /> [148,59]<br /> <br /> 15<br /> <br /> O<br /> <br /> [45,42]<br /> <br /> 64<br /> <br /> -<br /> <br /> [150,87]<br /> <br /> 16<br /> <br /> P<br /> <br /> [46,93]<br /> <br /> 65<br /> <br /> .<br /> <br /> [155,19]<br /> <br /> 17<br /> <br /> Q<br /> <br /> [47,170]<br /> <br /> 66<br /> <br /> /<br /> <br /> [157,4]<br /> <br /> 18<br /> <br /> R<br /> <br /> [49,32]<br /> <br /> 67<br /> <br /> 0<br /> <br /> [161,109]<br /> <br /> 19<br /> <br /> S<br /> <br /> [50,147]<br /> <br /> 68<br /> <br /> 1<br /> <br /> [164,88]<br /> <br /> 20<br /> <br /> T<br /> <br /> [53,101]<br /> <br /> 69<br /> <br /> 2<br /> <br /> [167,189]<br /> <br /> 21<br /> <br /> U<br /> <br /> [54,194]<br /> <br /> 70<br /> <br /> 3<br /> <br /> [168,15]<br /> <br /> 22<br /> <br /> V<br /> <br /> [55,189]<br /> <br /> 71<br /> <br /> 4<br /> <br /> [173,51]<br /> <br /> 23<br /> <br /> W<br /> <br /> [56,177]<br /> <br /> 72<br /> <br /> 5<br /> <br /> [179,189]<br /> <br /> 24<br /> <br /> X<br /> <br /> [57,178]<br /> <br /> 73<br /> <br /> 6<br /> <br /> [181,140]<br /> <br /> 25<br /> <br /> Y<br /> <br /> [58,200]<br /> <br /> 74<br /> <br /> 7<br /> <br /> [183,47]<br /> <br /> 26<br /> <br /> Z<br /> <br /> [61,36]<br /> <br /> 75<br /> <br /> 8<br /> <br /> [189,84]<br /> <br /> 27<br /> <br /> a<br /> <br /> [62,68]<br /> <br /> 76<br /> <br /> 9<br /> <br /> [190,158]<br /> <br /> 28<br /> <br /> b<br /> <br /> [64,72]<br /> <br /> 77<br /> <br /> :<br /> <br /> [191,199]<br /> <br /> 29<br /> <br /> c<br /> <br /> [65,35]<br /> <br /> 78<br /> <br /> ;<br /> <br /> [195,14]<br /> <br /> 30<br /> <br /> d<br /> <br /> [69,101]<br /> <br /> 79<br /> <br /> <<br /> <br /> [196,184]<br /> <br /> 31<br /> <br /> e<br /> <br /> [70,141]<br /> <br /> 80<br /> <br /> =<br /> <br /> [197,11]<br /> <br /> 32<br /> <br /> f<br /> <br /> [77,17]<br /> <br /> 81<br /> <br /> ><br /> <br /> [198,7]<br /> <br /> 33<br /> <br /> g<br /> <br /> [80,45]<br /> <br /> 82<br /> <br /> ?<br /> <br /> [202,83]<br /> <br /> 34<br /> <br /> h<br /> <br /> [86,145]<br /> <br /> 83<br /> <br /> @<br /> <br /> [205,74]<br /> <br /> 35<br /> <br /> i<br /> <br /> [90,127]<br /> <br /> 84<br /> <br /> [<br /> <br /> [206,84]<br /> <br /> 36<br /> <br /> j<br /> <br /> [92,117]<br /> <br /> 85<br /> <br /> ]<br /> <br /> [212,14]<br /> <br /> 37<br /> <br /> k<br /> <br /> [94,25]<br /> <br /> 86<br /> <br /> {<br /> <br /> [213,23]<br /> <br /> 38<br /> <br /> l<br /> <br /> [95,175]<br /> <br /> 87<br /> <br /> }<br /> <br /> [215,116]<br /> <br /> 39<br /> <br /> m<br /> <br /> [97,46]<br /> <br /> 88<br /> <br /> ^<br /> <br /> [219,89]<br /> <br /> 40<br /> <br /> n<br /> <br /> [98,42]<br /> <br /> 89<br /> <br /> _<br /> <br /> [220,22]<br /> <br /> 41<br /> <br /> o<br /> <br /> [99,49]<br /> <br /> 90<br /> <br /> `<br /> <br /> [222,53]<br /> <br /> 42<br /> <br /> p<br /> <br /> [101,148]<br /> <br /> 91<br /> <br /> |<br /> <br /> [224,6]<br /> <br /> 43<br /> <br /> q<br /> <br /> [104,135]<br /> <br /> 92<br /> <br /> ~<br /> <br /> [234,53]<br /> <br /> 44<br /> <br /> r<br /> <br /> [106,13]<br /> <br /> 93<br /> <br /> Ñ<br /> <br /> [238,82]<br /> <br /> 14<br /> <br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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