1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng chữ ký điện tử trong giao dịch thương mại điện tử

50 663 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 50
Dung lượng 273,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trước hết, thuật ngữ thương mại điện tử chỉ mới được sử dụngkhi có một số người đã thực hiện được việc bán qua mạng Internet bằngcách trả tiền bằng một loại tiền đã được mã hoá.. Thương

Trang 1

LỜI MỞ ĐẦU

Ngày nay với sự phát triển vượt bậc của khoa học, công nghệ thông tinđược ứng dụng rộng rãi trong hầu hết mọi lĩnh vực của xã hội Bắt đầu là từquân sự, dần dần đưa vào trong mọi hoạt động đời sống của quần chúng, từvui chơi giải trí, đến giao dịch kinh tế…

Khoa học hiện đại đưa Công nghệ thông tin vào đời sống, từ máy tính

cá nhân đến mạng truyền tin trên toàn thế giới Tuy nhiên, hầu hết mọi sựvật hiện tượng đều mang tính 2 mặt của nó, có sự ưu việt nhưng bên cạnh đócũng có những mặt tiêu cực của nó Với hệ thống mạng máy tính toàn cầunhư hiện nay, sự thất thoát thông tin do sự cạnh tranh của đối thủ hay sự pháhoại của những hacker đã làm ảnh hưởng không nhỏ tới lợi ích của cá nhânngười dùng cũng như của cộng đồng tập thể sử dụng nào đó Để đảm bảođược tài khoản cá nhân không bị thất thoát hay coppy thì người ta đã cónhiều giải pháp để hạn chế hay chống lại những hacker máy tính đó Chữ kýđiện tử là một trong những giải pháp đó

Thấy rằng, chữ ký điện tử là một tiện ích không thể bỏ qua trong thếgiới tin học, đặc biệt là trong các giao dịch liên quan đến sự bảo đảm an toànthông tin, đặc biệt là trong Giao dịch thương mại điệnt tử Vì vậy, em đã

chọn đề tài “Ứng dụng chữ ký điện tử trong giao dịch thương mại điện

tử ” để nghiên cứu Đề tài gồm:

Chương 1: Tổng quan về giao dịch điện tử và bảo mật trong thương

mại điện tử

Chương 2: Xây dựng công cụ mã khoá công khai RSA.

Chương 3: Xây dựng chữ ký điện tử.

Kết luận.

Tài liệu tham khảo.

Trang 2

1 TỔNG QUAN VỀ GIAO DỊCH ĐIỆN TỬ VÀ BẢO

MẬT TRONG THƯƠNG MẠI ĐIỆN TỬ

Thương mại điện tử tiếng Anh là Electronic Commerce hay thường viếttắt là eCommerce Khi nói đến thương mại điện tử là người ta nghĩ ngay đếnviệc sử dụng Internet trợ giúp cho công việc kinh doanh Trên thực tế,thương mại điện tử có vai trò quan trọng hơn nhiều

Trước hết, thuật ngữ thương mại điện tử chỉ mới được sử dụngkhi có một số người đã thực hiện được việc bán qua mạng Internet bằngcách trả tiền bằng một loại tiền đã được mã hoá

Vậy thương mai điện tử chỉ có thể thực hiện được qua Internet hay hệ thốngcác máy tính nối mạng? Đúng vậy, nhưng không phải giao dịch nào trênInternet cũng được gọi là thương mại điện tử

Thương mại điện tử là hình thức thương mại (quảng cáo, tiếp thị, muabán, trao đổi hàng hoá, thanh toán, bảo lãnh…) thông qua các phương tiệnthông tin và mạng máy tính điện tử, chủ yếu là sử dụng các mạng Internet vàIntranet

Mục tiêu cuối cùng của mọi cuộc mua bán là người mua nhận đượchàng và người bán nhận được tiền trả cho số hàng đó Thanh toán vì thế làkhâu quan trọng nhất của thương mại và thương mại điện tử thông qua các

hệ thống thanh toán điện tử và chuyển tiền điện tử mà bản chất là cácphương tiện tự động chuyển tiền từ tài khoản này sang tài khoản khác( nay

đã xuất hiện cả hình thức chuyển tiền mặt thông qua các “túi tiền điện tử”:electronic purse)

Trang 3

Thanh toán điện tử sử dụng rộng rãi trong các máy rút tiền tự động(ATM: Automatic Teller Machine), thẻ tín dụng (credit card) các loại thẻmua hang (purchasing card), thẻ thông minh (smart card : là loại thẻ có gắnchip điện tử mà thực chất là một máy tính điện tử rất nhỏ)v.v…

Internet và Web

Năm 1995, Inter net chính thức được công nhận là mạng toàn cầu,một máy tính có địa chỉ Internet kết nối tới ISP (Internet Service Provider)vào Internet là có thể giao tiếp tới nhiều máy tính kết nối Internet khác trênkhắp toàn cầu trên cơ sở giao thức chuẩn quốc tế TCP/IP Công nghệInternet chỉ thực sự trở thành công cụ đắc lực khi áp dụng giao thức chuẩnquốc tế HTTP (HyperText Transfer Protocol: Giao thức chuẩn truyền siêuvăn bản) với các trang siêu văn bản tạo ra nhiều dịch vụ khác nhau mà dịch

vụ hiện nay được sử dụng rộng rãi nhất là dịch vụ World Wide Web –WWW Bằng dịch vụ Web, người sử dụng đọc được các thông tin và truyền

từ nơi này tới nơi khác trên cơ sở giao thức truyền tệp FTP (File TransferProtocol), giao thức chuẩn thư tín POP (Post Office Protocol), giao thứcchuẩn truyền thông điệp đơn giản SMTP (Simple Message TransferProtocol), giao thức chuẩn truyền tin qua mạng NNTP (Net News TransferProtocol)

Các trình duyệt Web phổ biến hiện nay là Netscape Navigator,Microsoft Internet Exploer…

Internet tạo ra bước phát triển mới của ngành truyền thông, chuyển từ thếgiới một mạng, một dịch vụ sang thế giới một mạng đa dịch vụ và trở thànhcông cụ quan trọng nhất trong thương mại điện tử

Trang 4

1.2.1 Thư tín điện tử

Các đối tác ( người tiêu thụ, doanh nghiệp, các cơ quan Chính phủ) sửdụng hòm thư điện tử để gửi thu cho nhau một cách “ trực tuyến” thông quamạng, gọi là thư tín điện tử(electronic mail, gọi tắt là email) Đây là một loạithông tin ở dạng “phi cấu trúc” (unstructured form), nghĩa là thông tin phảituân thủ một cấu trúc đã thoả thuận (khác với “trao đổi dữ liệu điện tử”)

1.2.2 Thanh toán điện tử

Thanh toán điện tử (electronic payment) là việc thanh toán tiền thôngqua thông điệp điện tử (electronic message) thay cho việc giao tay tiền mặt;việc trả lương bằng cách chuyển trực tiếp tiền và tài khoản, trả tiền muahàng bằng thẻ mua hàng, thẻ tín dụng v.v… đã quen thuộc từ lâu nay thựcchất là các dạng thanh toán điện tử Ngày nay, với sự phát triển của thươngmại điện tử, thanh toán điện tử đã mở rộng sang các lĩnh vực mới; đáng đềcập là :

1.2.2.1 Trao đổi dữ liệu tài chính (Financial Electronic Data

Interchange, gọi tăt là FEDI)

Chuyên phục vụ cho việc thanh toán điện tử giữa các công tygiao dịch với nhau bằng điện tử

1.2.2.2 Tiền mặt Internet (Internet Cash)

Là tiền mặt được mua từ một nơi phát hành (ngân hàng hay một tổchức tín dụng), sau đó được chuyển đổi tự do sang các đồng tiền khác thôngqua Internet, áp dụng cả trong phạm vi một nước cũng như giữa các quốcgia; tất cả đều được thực hiện bằng kỹ thuật số hoá – digital cash, công nghệđặc thù chuyên phục vụ mục đích này có tên gọi là “ mã hoá công khai/bímật” ( Public/Private Key Cryptography) Tiền mặt Internet được người mua

Trang 5

Thanh toán bằng tiền mặt Internet đang trên đà phát triển do có nhiều ưuđiểm nổi bật:

Có thể dùng cho thanh toán những món hàng có giá trị lớn nhỏ đều được

Không đòi hỏi phải có một quy chế được thoả thuận từ trước, có thểtiến hành giữa hai người hoặc hai công ty bất kỳ, các thanh toán vô danh;Tiền mặt được nhận được đảm bảo là tiền thật, tránh được nguy cơ tiền giả

1.2.2.3 Túi tiền điện tử (Electronic Purse)

Là nơi để tiền mặt Internet mà chủ yếu là thẻ khôn minh (smart card,còn gọi là thẻ giữ tiền : store value card), tiền được trả cho bất cứ ai đọcđược thẻ đó; kỹ thuật của túi tiền điện tử cũng giông như ký thuật áp dụngcho “ tiền mặt Internet” đó chính là kỹ thuật “mã hoá công khai/bí mật”

1.2.2.4 Thẻ thông minh (Smart Card)

Cũng giống như thẻ tín dụng, nhưng ở mặt sau thay vì dải từ là mộtchíp máy tính điện tử có một bộ nhớ nhỏ để lưu trữ tiền số hoá, tiền đó chỉđược “chi trả” khi người sử dụng và thông điệp (ví dụ xác nhận thanh toánhoá đơn) được xác thực là đúng Thông tin được xác thực là khác nhau

1.2.2.5 Giao dịch ngân hàng số hóa (Digital Baking)

Hệ thống thanh toán điện tử của ngân hàng là một đại hệ thống, gồmnhiều tiểu hệ thống như: thanh toán giữa ngân hàng với khách hàng, thanhtoán giữa ngân hàng với các đại lý thanh toán, thanh toán nội bộ ngân hàng,thanh toán giữa hệ thông ngân hàng này với hệ thống ngân hàng khác

1.3.1 Khái niệm giao dịch Thương mại điện tử (Electronic Commerce Transaction)

Thương mại được hiểu theo Đạo luật mẫu về thương mại của Liênhiệp quốc bao gồm bốn kiểu :

Người với người: Qua điện thoại, máy Fax và thư điện tử (Email)

Trang 6

Người với máy tính điện tử: Trực tiếp hoặc qua các mẫu biểu điệntử(electronic form), và qua WWW

Máy tính điện tử với máy tính điện tử: qua trao đổi dữ liệu điện tử, thẻ khônminh, các dữ liệu mã hóa bằng mã vạch

Máy tính điện tử với người: Qua thư tín do máy tính tự động sản ra, máyFax, và thư điện tử

1.3.2 Các bước giao dịch điện tử

Khi tiến hành giao dịch kinh doanh trên mạng và chấp nhận thanhtoán bằng thẻ tín dụng, người dùng phải trải qua những bước sau:

Người bán cung cấp đơn đặt hàng tại một địa chỉ website bảo mật SSL(Secure Socket Layer)

Khách hàng chọn những mặt hàng họ cần và điền vào thẻ tín dụng vànhững thông tin liên lạc, thông tin về sản phẩm

Một màn hình hiện lên với đầy đủ mọi thông tin, cho phép khách xácnhận đơn đặt hàng và xem tất cả các dữ liệu được nhập vào

Máy chủ website đưa thông tin đến dịch vụ kiểm tra thanh toán thẻ tíndụng để đối chiếu địa chỉ của khách hàng trên đơn đặt hàng có khớp với điạchỉ của người giữ thẻ hay không và xem hạn mức tín dụng của thẻ Nếu nhưtất cả các thông tin đều đúng và thẻ không bị lỗi, thì quá trình thanh toán sẽđược thực hiện trong vài giây

Nếu phần mềm shopping cart cho phép, một biên lai kiểm tra xác thựcviệc mua hàng được gửi bằng email sẽ gửi đến cho khách hàng

Sau đó người bán xử lý đơn đặt hàng và hàng được gửi đi

Trung tâm thanh toán thẻ gửi thông báo dịch vụ kiểm tra thẻ tín dụng

là hàng vừa được gửi đi Người bán không thu tiền trực tiếp từ người mua vàchi phí mua hàng được tính vào tài khoản của người giữ thẻ cho đến khi

Trang 7

Dịch vụ kiểm tra thẻ tín dụng gửi yêu cầu thanh toán tới ngân hàngphát hành thẻ.

Ngân hàng phát hành thẻ chấp nhận chuyển tiền tới ngân hàng củangười bán Thông thường trong vũng 48 đến 72 giờ, tiền tự động đượcchuyển vào tài khoản ngân hàng của người bán từ tài khoản ngân hàng củangười mua

1.4.1 Khái niệm về bảo mật

1.4.1.1 Bảo mật là gì ?

Bảo mật là một bộ phận của khoa học máy tính, nó bảo vệ dữ liệu và

hệ thống máy tính để những người không được phép sẽ không thể đột nhập,xem trộm, sao chép hay sử dụng được

Bản mã (Ciphertext): là thông điệp đã được mã hoá

Mật mã (Crytography): là nghệ thuật và khoa học của việc bảo vệ antoàn cho các thông điệp

Phân tích mã (Cryptanalysis): là nghệ thuật và khoa học của việc bẻ mã, là

nhìn qua được sự nguỵ trang

Trang 8

1.4.2 Nhiệm vụ của bảo mật

1.4.2.1 Bảo mật vệ cái gì?

1.4.2.1.1 Bảo vệ dữ liệu

Hệ thống máy tính cần được bảo vệ do các yêu cầu sau:

Tính bảo mật: Các thông tin về kinh tế, chính trị, quân sự, côngnghệ cần giữ bí mật

Tính toàn vẹn: Do các thông tin của hệ thống máy tính được dùngchung nên đôi khi có thể bị thay đổi mất mát

Tính kịp thời: Thông tin cần cung cấp một cách kịp thời khi cần thiết.1.4.2.1.2 Bảo vệ tài nguyên

Trên thực tế khi kẻ tấn công xâm nhập được vào một hệ thống hắn sẽkhống chế và sử dụng hệ thống đó để đánh cắp thông tin, mật khẩu đồngthời sử dụng tài nguyên vào các mục đích đen tối khác

1.4.2.1.3 Bảo vệ uy tín

Trong nhiều trường hợp các tổ chức hay công ty biết mình bị tấn côngnhưng không dám thông báo vì sợ bị mất uy tín Vì vậy những cuộc tấn côngđược biết chỉ là phần nổi của một tảng băng chìm mà thôi

1.4.2.1.4 Chống gian lận

Việc gian lận về văn bản điện tử dễ dàng hơn nhiều so với văn bảngiấy tờ Do đó bảo mật đóng vai trò đặc biệt quan trọng khi mà thương mạiđiện tử ngày càng được sử dụng rộng rãi

1.4.3 Các phương thức bảo mật

1.4.3.1 Bảo vệ tại nơi lưu trữ

-Bảo mật truy nhập mạng (Login security)

-Bảo mật dịch vụ thư mục mạng (NDS security)

-Bảo mật hệ thống file (File system security)

Trang 9

-Bảo mật hệ thống file quyết định đến thao tác của người sử dụng đốivới các file và thư mục trên ổ đĩa mạng.

-Sao lưu ổ đĩa

1.4.3.2 Bảo vệ trên đường truyền

Vật lí

-Bảo vệ các thông tin được truyền đi chống lại những hành động xâmnhập để lấy cắp, sửa chữa hay thay đổi thông tin trên đường truyền

Thuật toán

- Dùng các thuật toán để mã hoá thông tin

- Các hệ thống bảo mật khác nhau có các mức an toàn khác nhau tuỳthuộc vào độ khó để có thể bẻ chúng Tất cả các thuật toán về lí thuyết là cóthể bẻ được miễn là có đủ thời gian và tài nguyên máy tính

- Các thuật toán được coi là an toàn nếu giá trị về tiền bạc và thời gian

để bẻ nó lớn hơn giá trị về giữ liệu mà nó mã hoá

- Một số thuật toán chỉ có thể bẻ được với chi phí thời gian lớn hơnthời gian tồn tại của vũ trụ trên một máy tính lớn hơn tất cả vật chất cótrong vũ trụ Những thuật toán như vậy về lí thuyết là có thể bẻ được nhưng

nó không thể bẻ được trong thực tế

Trang 10

CHƯƠNG 2: XÂY DỰNG CÔNG CỤ MÃ KHOÁ

CÔNG KHAI RSA

2.1 GIỚI THIỆU VỀ HỆ MÃ CÔNG KHAI

Ngày nay, nhu cầu sử dụng mạng máy tính trong trao đổi thông tin củacon người ngày càng tăng, tất nhiên người sử dụng hệ thống đều muốn cócái gì đó là của riêng mình, các thông tin đến và đi phải đẩm bảo an toàn bímật Một hệ thống có sử dụng hệ mật mã cổ điển sẽ dẫn đến một bài toànphân phối khoá nặng nề cho người sử dụng Có thể hình dung bài toán đóqua ví dụ sau:

Giả sử có 4 người sử dụng A,B,C và D trong hệ thống muốn trao đổithông tin thông qua các kênh:

*Kênh là đường truyền cho thông tin đi qua, trong một môi trường cánhân thì kênh là đường truyền chống lại được sự xâm nhập từ bên ngoài

A và B muốn trao đổi thông tin cho nhau mà C, D không thể truy nhập được

A và C muốn liên lạc với nhau mà B, D không truy nhâpj được

Với BC, BD và CD cũng có yêu cầu tương tự

Để giữ được tính huống này cần phải có 6 khoá kAB, kAC, kAD, kBC,kBD, kCD Nếu đặt thêm người sử dụng thứ năm E thì cần phải có thêm 4khoá cho E và từng người trước đó Sau đó lại thêm người F vào hệ thốngdẫn tới cần phải có thêm 5 khoá riêng biệt khác nữa

Như vậy, với một hệ thống có n người sử dụng thì khi thêm một ngườicần phải có thêm n khoá Một hệ thống có n người sử dụng đòi hỏi phải có

số khoá ít nhất:

Trang 11

n* (n 1)

2 kho¸

Khi n tăng, tức số lượng người sử dụng tăng lên, số khoá tăng lên rấtnhanh, kém an toàn, rất khó khăn cho người sử dụng hệ thống vì họ phải nhớnhiều khoá như vậy

Đối với hệ mã công khai thì thêm một người sử dụng cũng chỉ thêm có mộtcặp khoá cho người đó Hệ thống có n người sử dụng cũng chỉ có n cặp khoá( 2*n khoá )

So sánh hệ cổ điển và hệ công khai

Như đã biết, hệ mật mã cổ điển đều có tính chất là biết được khoá lập

mã ek thì cũng biết luôn khoá giải mã dk Nói đúng hơn dk có thể suy rangay từ ek hoặc có thể tính toán từ ek mà không khó khăn lắm Bởi vậy, nếu

sử dụng bất kỳ hệ mã cổ điển nào người sử dụng phải giữ bí mật khoá lập

mã ek Nói cách khác, hệ mã cổ điển giống như việc sử dụng khoá chìa, haibên A và B đều phải có chìa giống nhau để đóng hay mở, chỉ có hai ngườinày mới sử dụng được khoá đó, còn hệ mã công khai giống như việc dùnghòm thư riêng cho mỗi người, B hay ai muốn gửi gì cho A thì bỏ vào hòmthư đó, sau đó A sẽ dùng chìa riêng để mở

Như vậy với hệ mã công khai, bất kỳ người dùng nào cũng có thể liênlạc với người khác mà không sợ lộ thông tin, lại vô cùng đơn giản

Trong hệ thống mã công khai, mỗi người đều có một lập mã ek đượcthông báo cho mọi người trên phương tiện thông tin chung

Mỗi người cũng có một khoá bí mật riêng của mình dùng để giải mã dk,khoá này không ai biết được ngoài người đó Nếu có người khác muốnchuyển thông báo W cho người đó thì anh ta sẽ tra khoá công khai của ngườinhận, dùng khoá đó để mã thông điệp rồi gửi đi, ký hiệu thông điệp gửi đi là

Trang 12

ek(W) Khi đó, chỉ có người nhận, có khoá giải mã riêng , dùng khoá giải mã

và đọc thông điệp, nó có dạng : W=dk(ek(W))

Như vậy, về phương diện người thám mã có thể biết được ek nhưnglại không thể biết được dk Về nguyên tắc, có thể tính hàm ngược của ek là

dk, nhưng việc tính toán này rất khó ( có thể nói là không thể được, với hầuhết các khoá K) Hàm ek có tính chất như vậy gọi là hàm một phía Nhìnchung, trong mọi trường hợp thì ek không nhất thiết phải là một hàm

* Ước số chung lớn nhất (Greatest Common Divisor) của hai số a và b

là số nguyên lớn nhất c mà cả a, b đều chia hết cho c (c<a, c<b) Kí hiệu là:gcd(a,b)=c, rõ ràng gcd(a,b)=gcd(b,a) Nếu p là số nguyên tố thì với q bất kỳ(q<p) đều có gcd(p,q)=1.Phần sau chúng ta sẽ đề cập đến thuật toán Euclit

để tìm ước số chung lớn nhất của hai số

* Cho p và r<p (r:bất kỳ), p là số nguyên tố nếu:

Trang 13

1.6.2 Phép toán mod

Mod là phép toán lấy phần dư sau khi chia, nếu a mod n=b, có:

a=c*n+b ( c:số nguyên)

Số học mod có một số tính chất sau:

- Tính kết hợp: a+(b+c) mod n= (a+b)+c mod n

- Tính giao hoán:a+b mod n=b+a mod n

- Tính phân bố: a*(b+c) mod n= (a*b+a*c) mod n

- Tính rút gọn: (a+b) mod n= ((a mod n)+(b mod b)) mod n

(a*b) mod n= ((a mod n)*(b mod n)) mod nTính chất cuối cùng dẫn đến phép xử lý số mũ như sau:

1.6.3 Thuật toán Euclit

Thuật toán Euclit dùng để tìm ước số chung lớn nhất của hai số, tức là

số nguyên lớn nhất chia hết cả hai

Giả sử x chia hết a và b, bởi vậy x chia hết a-(k*b) với mọi k

Chứng minh:

Bởi vì x chia hết cho a và b nên a=x*a1, b=x*b1

a-(k*b)=x*a1-(x*k*b1)

=x*(a1-k*b1) =x*d

Vậy x chia hết a-(k*b)

Kết quả này dẫn tới một thuật toán tìm gcd như sau:

Giả sử, muốn tìm x là gcd của a và b (a>b), viết a dưới dạng:

a=m*b+r

Trang 14

(r là phần chia của phép chia m=a/b).

Nếu x=gcd(a,b) thì x chia hết a,b và x chia hết r Vậy:

gcd(a,b)=gcd(b,r) với mọi a>b>r0

Tiến hành tương tự với b và r thay cho a, b để tìm gcd

Kết hợp hai phương trình cuối:

a*x mod p=1=ap-1 mod p

a*x mod p=ap-1 mod p

Như vậy: x=ap-2 mod p

Công thức này chỉ phù hợp với p là số nguyên tố và a<p

*Phương pháp tìm nghịch đảo modulo

Theo cách tính toán thông thường, để tìm được nghịch đảo trong modulo sốhọc cần một thời gian rất dài để tính toán Sau đây, chúng ta nghiên cứu mộtthuật toán tương đối nhanh để có thể thực hiện được điều này trong thực tế.Thuật toán tìm a-1(mod n)

Trang 15

1 Tìm kiếm thông qua 1 n-1 cho đến khi a-1 được tìm thấy sao choa*a-1 (mod n)= 1

2 Nếu (n) là được biết thì sử dụng thuật toán tính nhanh luỹ thừa(giải thuật Ấn Độ):

a-1a(n)-1 (mod n) cho câu trả lời

3 Nếu (n) là không biết thì sử dụng thuật toán Euclit mở rộng

Ví dụ Sử dụng thuật toán Euclit để tìm gcd(5,23)

23=4*5+3, 5=1*3+2

3=1*2+1, 2=2*1+0

suy ra gcd(5,23)=1

Thuật toán để tìm nghịch đảo: Để giải quyết ax=b(mod n)

Đầu tiên giải quyết : ay=1 (mod n) thì tìm thấy x=yb

Ví dụ: Giải quyết 5x=9 (mod 23)

Đầu tiên 5y=1 (mod 23)

Đạt được y=4 và theo đó x=14*9=11(mod 23)

*Định lý: Nếu g=gcd(a,n) và gb, ( = 0(mod g)) thì ax=b (mod n) có lờigiải :

Trang 16

Chứng minh: Nếu axb(mod n) có lời giải trong [1,n-1] thì a(ax-b), gn,

ga Theo đó

a

g x

n g

n g

1 đối với tài nguyên k

Phép nhân bởi g cho ta: ã1-b=k’n Vậy x1 là lời giải của axb (mod n).Nhưng bất cứ x thuộc [1,n-1] -> x=x1+t[n/g], t=0, g-1

* Định lý: giải sử p1, p2, pr là cặp (pairwise) liên quan số nguyên tố Chon=p1p2 pr thì f(x) (mod n)0 nếu f(x) (mod pi) 0 i=1,2 r)

Chứng minh : pi là cặp liên quan tới số nguyên tố nếu:

f(x)=kn=kp1p2 pr  pi/f(x) đối với mọi i

Do đố để giải quyết: ax=b(mod n) chúng ta cần giải quyết hệ thống tươngđẳng: ax=b (mod pi), i=1,2 r

* Định lý phần dư Trung Hoa

Cho các số p1, ,pr là cặp liên quan số nguyên tố ở đó n=pi*p2 *pr thì các

sự tương đẳng của hệ thống x=xi (mod pi) có lời giải chung trong [0,n-1].Chứng minh: Cho mỗi pi, gcd[pi,n/pi]=1 có tồn tại yi sao cho [n/pi]yi1(mod pi)

Ngoài ra: [n/pi]yi=0 (mod pj), ij và pj n/pi

Trang 17

Giả sử x=

n

p i i

=xi (mod pi)

Ví dụ : Giải phương trình x1 (mod 5) và x10 (mod 11) để tìm thấy lờigiải modulo 55 Đầu tiên xác định 55/5y1=1 (mod 5) hoặc 11y1=y1=1 (mod

50 -> y1=1, 55/11y2=1 (mod 11) hoặc 5y2=1 (mod 11) -> y2=9

21 (mod 55)

1.6.5 Giải thuật Ấn Độ:

Nhân hai số lớn x, y tuỳ ý, chỉ dùng cửu chương lần hai

Chia đôi liên tiếp x đến 0

Nhân đôi liên tiếp y

Tổng các y tương ứng với x lẻ chính là tích z=x*y

xy=(x div 2)2y nếu x lẻ

(x div 2)2y + ynếu x không lẻ

Suy ra hệ quả sau (dùng để tính nhanh luỹ thừa):

ax=(a2)(x div 2) nếu x lẻ

a(a2)(x div 2) nếu x không lẻ

Trang 18

(n)= (p)* (q)=(p-1)*(q-1)Euler và Fermat chứng minh được là:

x(p)1( mod n)

1.7 MÃ KHOÁ CÔNG KHAI RSA.

1.7.1 Thuật toán mã hóa RSA từ lý thuyết đến thực hành

1.7.1.1 Đặt vấn đề

Hệ mã khoá công khai này do Rivest, Shamir và Adleman đề ra trướctiên và thường được gọi vắn tắt là hệ RSA Hệ này dựa trên sự kiện là theonhững thuật toán phân tích thừa số được biết cho đến nay, gần như khôngthể tìm lại được hai số nguyên tố lớn p và q từ tích của chúng n=p*q Mặtkhác, lại có thể sinh ra rất nhanh số nguyên tố ngẫu nhiên lớn

Việc mã hoá với khóa công khai dựa vào số n, trong khi đố việc giải mã đòihỏi phải biết p và q

1.7.1.2 Chọn khoá:

Hệ RSA bao gồm một cặp khoá (N,e) và (N,d) Để tìm các giá trị e,d

và N tiến hành làm như sau:

Giả sử chọn p và q là hai số nguyên tố ngẫu nhiên lớn (trong ứng dụng thực

tế p và q lên đến khoảng vài trăm chữ số thập phân) Đặt:

Trang 19

N càng lớn thì việc phân tích ra thừa số càng khó.

Chọn e (e>1) nguyên tố cùng nhau với (N) và một số d thoả mãn hệ thức :

Trang 20

d Người nhận

Bản rõ: W= w1,w2, ,wk

Bản mã: C= c1, c2, , ck

tức là:

Ci=Wie mod NMột kích thước thích hợp của các khối là số nguyên j duy nhất thoả mãn cácbất đẳng thức:

10j-1<N<10j (j>0)Thuật toán mã hoá RSA

(Mã hoá bản rõ W dùng khoá công khai (N,e) )

1.Thêm vào W một kí tự ngẫu nhiên nào đó nếu cần thiết để chiều dàicủa W (length(W)) là bội số của độ dài khối (BlockLength)

2.Tính số khối:

Trang 21

Length(W) BlockLength3.Khởi động chỉ số j tại giá trị 1

4.For i=1 to NumberOfBlock do

a.Lấy ra xâu kí tự con wi từ W gồm BlockLength kí tự bắt đầu

từ vị trí j

b.Chuyển wi sang dạng số cic.Tính ci=cie mod N

d.Tăng j thêm BlockLength

Dưới đây là sơ đồ tổng quát chung cho việc mã hoá theo hệ RSA

Trang 22

Sơ đồ khối thuật toán mã hoá:

Trang 23

Để giải mã bản mã lại phải sử dụng thông tin cửa sập bí mật, đó là sốnguyên d hay gọi là số mũ giải mã Lưu ý là việc biết d có liên quan mậtthiết đến việc biết p và q.

1.7.1.4 Giải mã

Định lý:

Định lý này chứng tỏ d đúng với số mũ giải mã

Giả sử C là bản mã tương ứng bản rõ W nhận được theo cách mã RSA được

mô tả ở trên và giả sử rằng có e và d thoả mãn hệ thức: ed1 (mod

WpW (mod p) bởi vậy: Wp-11 (mod p)

vì (p-1) là thừa số của (N) nên :

Wk*(N)1 (mod p)Nhân cả hai vế với W:

Wk*(N)+1W (mod p) (1)Làm tương tự với q ta cũng có:

(We)d=W mod N

Trang 24

Mặt khác dễ dàng thấy rằng biểu thức trên cũng đúng trong trường hợp ítnhất một trong p và q là ước của W Do đó biểu thức trên luôn luôn đúng.Với : Cd=(We)d

Từ đó ta thu được:

Cd=W (mod N)Định lý đã được chứng minh xong

Phương pháp tiến hành:

Định lý trên là công cụ đắc lực trong việc giải mã, như vậy việc giải

mã đối với hệ RSA bằng cách nâng mỗi khối ci lên luỹ thừa d theo modul N.Theo đó để phục hồi bản rõ:

Wi=Cid mod N=(Wie)d mod N=Wied mod Nđối với mỗi khối Ci

(Lưu ý: e và d phải được chọn sao cho:

Wed mod N=Wđối với mọi thông điệp W

Ta cũng dùng ký hiệu w khi đã chuyển bản rõ sang dạng số nguyên vì w ởđây là số nguyên không âm)

Thuật toán giải mã RSA:

(Giải bản mã gồm các khối ci, i=1, ,NumberOfBlock dùng khoá bímật d)

1.Khởi động W tại xâu kí tự rỗng

2.For i=1 to NumberOfBlock so

a.Tính ci=cid mod Nb.Chuyển ci sang xâu kí tự wic.W=W+ wi ( nối các wi để tạo thành W)

Trang 25

Dưới đây là sơ đồ tổng quát chung cho việc giải mã theo hệ RSA.

False

BEGIN

Read source, dest_file, d,p,q

f=fopen(source_file f==NULL N=p*q x=(p-1)*(q-1) gcd(x,d)=1 d*d -1 =1 (mod x)

Ngày đăng: 28/04/2015, 15:42

HÌNH ẢNH LIÊN QUAN

Sơ đồ khối thuật toán mã hoá: - Ứng dụng chữ ký điện tử trong giao dịch thương mại điện tử
Sơ đồ kh ối thuật toán mã hoá: (Trang 22)
Bảng InforSever - Ứng dụng chữ ký điện tử trong giao dịch thương mại điện tử
ng InforSever (Trang 39)
Sơ đồ quan hệ 2 bảng - Ứng dụng chữ ký điện tử trong giao dịch thương mại điện tử
Sơ đồ quan hệ 2 bảng (Trang 39)
Bảng Server như một bảng lưu trữ trung gian thông tin đã được mã hóa được gửi đi. - Ứng dụng chữ ký điện tử trong giao dịch thương mại điện tử
ng Server như một bảng lưu trữ trung gian thông tin đã được mã hóa được gửi đi (Trang 40)
Bảng Customer - Ứng dụng chữ ký điện tử trong giao dịch thương mại điện tử
ng Customer (Trang 41)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w