Phõn loại hệ mó húa

Một phần của tài liệu Nghiên cứu một số bài toán về an toàn thông tin trong Hành chính điện tử (Trang 48)

3.2.3.1. Hệ mó h a kh a đối xứng

Mó húa khúa đối xứng là Hệ ó húa à biết được khúa lậ ó thỡ cú thể “dễ” tớnh được khúa giải ó và ngược lại. Đặc biệt ột số Hệ ó húa cú khoỏ lậ ó và khoỏ giải mó trựng nhau (ke = kd), như Hệ ó húa “dịch chuyển” hay DES.

Hệ ó húa khúa đối xứng cũn gọi là Hệ ó húa khoỏ bớ ật, hay khúa riờng, vỡ hải giữ bớ ật cả 2 khúa. Trước khi dựng Hệ ó húa khúa đối xứng, người gửi và người nhận hải thoả thuận thuật toỏn ó húa và khoỏ chung (lậ ó hay giải mó), khoỏ hải được giữ bớ ật. Độ an toàn của Hệ ó húa loại này hụ thuộc vào khoỏ. [6]

Trong hệ thống ó húa khúa bớ ật, khúa k được thống nhất giữa người gửi A và người nhận B. Người A sẽ sử dụng khúa k và để ó húa thụng điệ M thành thụng điệ C (bản ó) và gửi C cho B, B sẽ sử dụng khúa k để giải ó thụng điệ C

này, vấn đề an toàn bảo ật thụng tin được ó húa hụ thuộc vào việc giữ bớ ật khúa k. Cú nhiều hệ ật ó được xõy dựng trờn hương hỏ ó húa khúa đối xứng như: DES, 3DES-Triple DES, RC2-Rivest Cipher 2, RC4-Rivest Ci her 4…

1/. Đặc điểm của Hệ mó húa khúa đối xứng

Ưu điểm:

Sử dụng đơn giản: chỉ cần dựng ột khúa cho cả 2 bước lậ ó và giải ó. Hệ ó húa khúa đối xứng ó húa và giải ó nhanh hơn Hệ ó húa khúa cụng khai.

Hạn chế:

Khụng kinh tế vỡ ất nhiều thời gian gửi tin, khụng hay ứng dụng trong thương ại. ấn đề thỏa thuận khoỏ và quản lý khúa chung là khú khăn và hức tạ . Người gửi và người nhận hải luụn thống nhất với nhau về khoỏ. iệc thay đổi khoỏ là rất khú và dễ bị lộ. Khúa chung hải được gửi cho nhau trờn kờnh an toàn.

2/. Nơi sử dụng Hệ mó húa khúa đối xứng.

Hệ ó húa khúa đối xứng thường được sử dụng trong ụi trường à khoỏ chung cú thể dễ dàng trao chuyển bớ ật, chẳng hạn trong cựng ột ạng nội bộ.

Hệ ó húa khúa đối xứng thường dựng để ó húa những bản tin lớn, vỡ tốc độ ó húa và giải ó nhanh hơn Hệ ó húa khúa cụng khai.

3/. Hệ mó húa khúa đối xứng cú thể chia thành hai loại : ó húa khối và mó húa dũng theo đặc trưng xử lý bản rừ.

Mó húa khối: Mó húa khối thao tỏc trờn cỏc khối của bản rừ và bản ó sử dụng hộ biến đổi ó húa cố định. Bản rừ được chia thành ột chuỗi cỏc khối cú kớch thước xỏc định, cú thể đệ thờ vào nếu cần thiết, và ó húa khối mó húa từng khối ột tại ỗi thời điể . ới cựng khúa, cỏc khối bản rừ luụn luụn được ó húa thành những khối bản ó tương ứng. Hệ ó húa DES (Data Encry tion Standard) và thế hệ sau của nú là AES (Advance Encry tion Standard) là hai hệ ó húa sử dụng ó húa khối. DES thao tỏc trờn những khối 64 bit với khúa 56 bit. AES sử dụng khối 128 bit và kớch cỡ khúa cú thể là 128, 192, hoặc 256 bit.

Mó húa dũng: Khỏc với ó húa khối, ó húa dũng xử lý từng bit hoặc byte của bản rừ và bản ó tại ột thời điể . ới ó húa dũng, ỗi bit của bản rừ sẽ được ó húa thành ột bit khỏc ỗi lần à nú được ó húa. Mó húa dũng thường nhanh hơn và sử dụng ớt bộ đệ dữ liệu. Mật ó dũng đồng bộ khụng sinh ra bất kỡ lỗi khi truyền đi nào. Điều này đặc biệt cú ớch khi à thụng tin edia đó ó húa được truyền đi bởi những đường truyền cú thể hỏt sinh lỗi như là việc truyền thụng khụng dõy.

3.2.3.2.Hệ mó h a kh a cụng khai

Hệ ó húa khúa cụng khailà hệ ó húacú khúa lậ ó và khúa giải ó khỏc nhau (kekd), biết được khúa này cũng “khú” tớnh được khúa kia. [6]

Hệ ó húa này cũn được gọi là Hệ ó hoỏ khúa cụng khai, vỡ: Khoỏ lậ ó cho cụng khai, gọi là khoỏ cụng khai (Public key).

Khúa giải ó giữ bớ ật, cũn gọi là khúa riờng (Private key) hay khúa bớ ật. Một người bất kỳ cú thể dựng khoỏ cụng khai để ó hoỏ bản tin, nhưng chỉ người nào cú đỳng khoỏ giải ó thỡ ới cú khả năng đọc được bản rừ.

Hệ ó húa khoỏ cụng khai hay Hệ ó húa hi đối xứng do Diffie và Hellman hỏt inh vào những nă 1970.

*Một số thuật toỏn mó hoỏ cụng khai:

RSA: Loại ật ó húa này được dựng nhiều nhất cho web và chương trỡnh e ail. Độ dài khoỏ thụng thường là từ 512 đến 1024 bit.

ElGa al: 512 đến 1024 bit.

*Cỏc bước trong hệ mật mó khúa cụng khai:

Hệ thống cuối trong ạng tạo ra ột cặ khúa để dựng cho ó húa và giải ó thụng điệ à nú sẽ nhận.

Mỗi hệ thống cụng bố rộng rói khúa ó húa đõy là khúa cụng khai, khúa cũn lại được giữ bớ ật.

Hỡnh 3.2: Mụ hỡnh hệ mật mó húa khúa cụng khai

ới cỏch tiế cận này, tất cả những người tha gia cú thể truy xuất ọi khúa cụng khai vỡ được cụng bố rộng rói. Khúa bớ ật được tạo ra bởi từng cỏ nhõn, vỡ vậy khụng được cụng bố.

1/. Đặc điểm của Hệ mó húa khoỏ cụng khai.

Ưu điểm: (adsbygoogle = window.adsbygoogle || []).push({});

Hệ ó húa khúa cụng khai tiện lợi hơn Hệ ó húa đối xứng ở chỗ: Thuật toỏn được viết ột lần, cụng khai cho nhiều lần dựng, cho nhiều người dựng, họ chỉ cần giữ bớ ật khúa riờng của ỡnh.

Khi biết cỏc tha số ban đầu của hệ ó húa, việc tớnh ra cặ khoỏ cụng khai và bớ ật hải là “dễ”, tức là trong thời gian đa thức.

Người gửi cú bản rừ P và khoỏ cụng khai, thỡ “dễ” tạo ra bản ó C.

Người nhận cú bản ó C và khoỏ bớ ật, thỡ “dễ” giải được thành bản rừ P. Người ó hoỏ dựng khúa cụng khai, người giải ó giữ khúa bớ ật. Khả năng lộ khúa bớ ật khú hơn vỡ chỉ cú ột người giữ gỡn.

Nếu thỏ ó biết khoỏ cụng khai, cố gắng tỡ khoỏ bớ ật, thỡ chỳng hải đương đầu với bài toỏn “khú”.

Nếu thỏ ó biết khoỏ cụng khai và bản ó C, thỡ việc tỡ ra bản rừ P cũng là bài toỏn “khú”, số hộ thử là vụ cựng lớn, khụng khả thi.

Hạn chế: Hệ ó húa khúa cụng khai: ó húa và giải ó chậ hơn hệ ó húa khúa đối xứng.

2/. Nơi sử dụng Hệ mó húa khoỏ cụng khai.

Hệ ó húa khúa cụng khai thường được sử dụng chủ yếu trờn cỏc ạng cụng khai như Internet, khi à việc trao chuyển khoỏ bớ ật tương đối khú khăn.

Đặc trưng nổi bật của hệ ó hoỏ cụng khai là khoỏ cụng khai ( ublic key) và bản ó (ci hertext) đều cú thể gửi đi trờn ột kờnh truyền tin khụng an toàn.

Cú biết cả khúa cụng khai và bản ó, thỡ thỏ ó cũng khụng dễ khỏ hỏ được bản rừ.

Nhưng vỡ cú tốc độ ó húa và giải ó chậ , nờn hệ ó húa khúa cụng khai chỉ dựng để ó húa những bản tin ngắn, vớ dụ như ó húa khúa bớ ật gửi đi.

Hệ ó húa khúa cụng khai thường được sử dụng cho cặ người dựng thỏa thuận khúa bớ ật của Hệ ó húa khúa riờng.

3.2.3.3. Hệ mó h a cụng khai RSA

1/. Sơ đồ (Rivest, Sha ir, Adle an đề xuất nă 1977) [6]

*Tạo cặ kh a (bớ mật, cụng khai) (a, b) :

Chọn bớ ật số nguyờn tố lớn p, q, tớnh n = p * q, cụng khai n, đặt P = C = Zn

Tớnh bớ ật (n) = (p-1).(q-1). Chọn khúa cụng khai b < (n),nguyờn tố với (n). Khúa bớ ật a là hần tử nghịch đảo của b theo mod (n): a*b 1 (mod (n). Tậ cặ khúa (bớ ật, cụng khai) K = (a, b)/ a, b  Zn , a*b 1 (mod (n)). ới Bản rừ x P Bản mó y C, định nghĩa:

* Hàm mó hoỏ: y = ek (x) = xb mod n

* Hàm giải mó: x = dk (y) = ya mod n

ới thuật toỏn ụ tả trờn thỡ ta kiể tra xe cỏc hộ ó húa và giải ó cú hải là nghịch đảo của nhau hay khụng vỡ:

)) ( (mod 1 n ab  nờn ta cú: abt(n)1

với ột số nguyờn t 1 nào đú. Giả sử x Zn * khi đú ta cú:   ) (mod ) (mod 1 ) (mod ) ( ) (mod ) ( 1 ) ( n x n x n x x n x x t n t n t a b       

2/. Độ an toàn

ới hệ RSA thỡ cỏch tấn cụng dễ thấy nhất là cố gắng hõn tớch n ra thừa số nguyờn tố. à khi thực hiện được việc hõn tớch này thỡ cú thể dễ dàng tớnh được

) (n

 =( p - 1)*(q – 1) rồi tớnh số ũ a từ b. Nhưng để đả bảo an toàn thỡ và q hải là những số cú chừng 100 chữ số thậ hõn và khi đú thỡ n cú tới 200 chữ số thậ hõn. à những thuật toỏn hõn tớch hiện thời cú khả năng hõn tớch cỏc số tới 130 chữ số thậ hõn và như vậy thỡ việc hõn tớch n thành thừa số nguyờn tố là khụng dễ dàng.

Ngoài cỏch hõn tớch n thành số nguyờn tố thỡ cũn cú cỏch khỏc là cần tớnh được (n) và n là tớch của hai số nguyờn tố và q thỡ cú thể dễ dàng hõn tớch được n bằng cỏch giải hai hương trỡnh sau để tỡ hai số và q chưa biết:

n = pq

) (n (adsbygoogle = window.adsbygoogle || []).push({});

 = (p - 1)(q - 1)

Nếu thay q = n/ vào hương trỡnh thứ 2 thỡ ta sẽ thu được hương trỡnh bậc hai chưa biết : 2

– (n - (n) + 1)p + n = 0.

Hai nghiệ của hương trỡnh này là và q là nhõn tử của n. Bởi vậy nếu biết được (n) thỡ cú thể hõn tớch được n và hỏ được hệ ật. Tuy nhiờn việc tớnh

) (n

 khụng dễ hơn là việc hõn tớch n.

Bờn cạnh đú, việc ó húa và giải ó xoay quanh hộ lấy luỹ thừa theo odule n. ỡ n là ột số rất lớn nờn ta hải sử dụng số học lấy chớnh xỏc nhiều lần để thực hiện cỏc tớnh toỏn trong Zn và thời gian tớnh toỏn cần thiết sẽ hụ thuộc vào số cỏc bit trong biểu diễn nhị hõn của n. Xột hộ lấy luỹ thừa odule ( tức là hà dạng tớnh xc

od n). iệc tớnh xc od n cú thể thực hiện bằng C – 1 phộp nhõn module; tuy nhiờn C lớn thỡ hộ tớnh này rất lớn. Chỳ ý là C lớn cỡ (n) - 1. Và đõy cũng là ột điể giỳ cho RSA được bảo ật.

1). Hệ ó húa RSA là tất định, tức là với ột bản rừ x và ột khúa bớ ật

a, thỡ chỉ cú ột bản ó y.

2). Hệ ật RSA an toàn, khi giữ được bớ ật khoỏ giải ó a, p, q, (n). Nếu biết được và q, thỡ thỏ ó dễ dàng tớnh được (n) = (q-1)*(p-1). Nếu biết được (n), thỡ thỏ ó sẽ tớnh được a theo thuật toỏn Euclide ở rộng. Nhưng hõn tớch n thành tớch của và q là bài toỏn “khú”.

Độ an toàn của Hệ ật RSA dựa vào khả năng giải bài toỏn hõn tớch số nguyờn dương n thành tớch của 2 số nguyờn tố lớn và q.

Một phần của tài liệu Nghiên cứu một số bài toán về an toàn thông tin trong Hành chính điện tử (Trang 48)