Các lc trong ECC

Một phần của tài liệu nghiên cứu các phương pháp mã hóa giấu tin đa tầng và ứng dụng (Trang 35 - 42)

Cĩ 5 loai d li u dùng cho d li u trong các l c trong ECC

§ Chu i bit

§ i m EC

§ Chu i 8 bit: m t chu i bit c thêm các bit 0 sao cho k t qu chi u dài c a nĩ là b i s c a 8, sau ĩ chia chu i k t qu thành các chu i dài 8 bit.

§ S nguyên

§ Các thành ph n tr ng: bao g m các thành ph n thu c tr ng Fp hay F2m.

KHOA CNTT –

ĐH KHTN

28

2.4.4.1. c ch ký n t d a trên ECC

c ch ký n t c thi t k cho 2 bên - ng i ký U và ng i xác nh n V – khi U mu n g i m t thơng p M c n ch ng th c và V mu n xác th c ĩ c a thơng p M. L c ch ký n t c mơ t d i hành

ng ký g i, hành ng xác nh n, hành ng thi t l p và tri n khai khĩa.

Thu t tốn ch ký n t (Elliptic Curve Digital Signature Algorithm

_ ECDSA)

q Thi t l p l c

1. U dùng hàm b m khi phát sinh ch ký. G i Hash là hàm m c ch n và hashlen là chi u dài chu i giá tr b m c sinh ra khi s d ng hàm b m Hash.

2. U thi t l p các thơng s mi n ng cong Elip T = (p,a,b,G,n,h) hay T = (m, f(x), a, b, G, n, h) v i m c b o m t mong mu n.

3. V t c hàm b m và các thơng s trong tr ng thái ch ng th c c thi t l p b i U.

q Tri n khai khĩa

1. U thi t l p c p khĩa (dU, QU) liên quan n T dùng v i c ch ký.

2. V nh n c khĩa cơng khai QU trong tr ng thái ch ng th c c xác nh n cĩ giá tr .

q Hành ng ký

U ký thơng i p dùng ECDSA b ng cách dùng các khĩa và các thơng s c thi t l p trong su t th t c thi t l p và th t c tri n khai khĩa:

u vào: Thơng i p M d ng chu i 8 bit

u ra: Ch ký S = (r, s) trên M bao g m c p s nguyên r và s hay xu t “khơng h p l ”

Th t c th c hi n:

1. Ch n m t c p khĩa (k, R) v i R = (xR, yR) liên quan n các thơng s T c thi t l p trong th t c thi t l p b ng cách dùng vi c phát sinh c p khĩa.

2. Bi n i thành ph n tr ng xR thành xR (d ng s nguyên c a thành ph n tr ng xR) (xem cách chuy n i ph l c B). 3. t r = xR (mod n). N u r = 0, quay v b c 1.

KHOA CNTT –

ĐH KHTN

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

4. Tính giá tr b m dùng hàm b m Hash ã ch n H = Hash(M). N u hàm b m báo “khơng h p l ”, xu t “khơng h p l ” và ng ng. 5. Phát sinh m t s nguyên e t H nh sau:

5.1. Bi n i chu i H thành chu i bit H.

5.2. t E = H n u [log2n] ≥ 8(hashlen), và t E b ng [log2n] bits bên trái c a H n u [log2n] < 8(hashlen).

5.3. Bi n i chu i bit E thành chu i octet E 5.4. Chuy n chu i octet E thành s nguyên e. 6. Tính:

s = k–1.(e + r. dU) (mod n) N u s = 0, quay v b c 1

7. K t xu t S = (r, s).

q Hành ng xác nh n

V xác nh n thơng p t U dùng ECDSA b ng cách dùng các khĩa và các thơng s c thi t l p trong th t c thi t l p và th t c tri n khai khĩa:

u vào: Chu i octet thơng p M và ch ký c a U là S = (r, s)

u ra: Ch ký trên M cĩ giá tr hay kh ng

Th t c th c hi n:

1. N u r và s u là s nguyên trong kho ng [1, n-1], xu t “cĩ giá tr ” và ng ng.

2. Tính giá tr b m dùng hàm b m Hash ã ch n H = Hash(M). N u hàm b m báo “khơng h p l ”, xu t “khơng h p l ” và ng ng.

3. Phát sinh m t s nguyên e t H nh sau: 3.1. Bi n i chu i H thành chu i bit H.

3.2. t E = H n u [log2n] ≥8(hashlen), và t E b ng [log2n] bits bên trái c a H n u [log2n] < 8(hashlen).

3.3. Bi n i chu i bit E thành chu i octet E 3.4. Chuy n chu i octet E thành s nguyên e. 4. Tính u1 = e.s–1 (mod n) u2 = r.s–1 (mod n) 5. Tính R = (xR, yR) = u1G + u2QU N u R = O, xu t “khơng h p l ” và d ng. 6. Bi n i thành ph n tr ng xR thành m t s nguyên xR. 7. t v = xR (mod n) 8. So sánh v và r n u v = r thì xu t “h p l ” , n u v ≠r thì xu t “khơng h p l ”.

KHOA CNTT –

ĐH KHTN

30

2.4.5. ánh giá ECC

q u i m các h th ng d a trên ECC

§ c ánh giá là an tồn h n các h th ng mã hĩa khĩa cơng khác d a trên DLP/IFP [2].

§ Th c thi nhanh

§ ng thơng nh

§ Các thơng s ng n h n

§ T o c p khĩa n gi n.

§ Các h th ng ECC cĩ th ch ng l i các t n cơng trên các h th ng mã hĩa d a trên DLP/IFP

q Khuy t m các h th ng d a trên ECC

§ Cĩ nhi u tùy ch n cài t.

§ V n tốn h c c ánh giá là m i nên nghiên c u ch a hồn t t (adsbygoogle = window.adsbygoogle || []).push({});

2.5. So sánh RSA và ECC

ánh giá an tồn c a m t h th ng mã hĩa th c t ã ch ng minh là khơng nh t thi t chúng ta ph i tìm cách gi i c bài tốn mà h th ng c thi t k d a trên ĩ, chúng ta ch y u ánh giá trong tr ng h p t ng quát do các tham s h th ng c ch n l a khơng r i vào các tr ng h p c bi t d b t n cơng. Do ĩ ánh giá m t h th ng chúng ta cĩ th t p trung trên các thu t gi i t t nh t c bi t ánh giá an tồn.

q Kích th c khĩa

i v i RSA, tuy ECC cĩ kích th c khĩa nh h n nh ng ECC v n cĩ cùng m c b o m t v i RSA.

ng d n c a NIST v kích th c khĩa cơng khai i v i chu n AES Kích th c khĩa ECC (Bits) Kích th c khĩa RSA (Bits) T l kích th c khĩa Kích th c khĩa AES (Bits) 163 1024 1:06 - 256 3072 1:12 128 384 7680 1:20 192 512 15360 1:30 256

B ng 2.1. B ng so sánh v kích th c khĩa cơng khai gi a ECC, RSA và AES[7]

KHOA CNTT –

ĐH KHTN

31

q Th i gian th c thi

ECC cĩ kích th c khĩa ng n h n RSA d n n vi c th c hi n các phép tính c n thi t ít h n, th i gian mã hĩa nhanh h n, và c n ít transistor cho vi c cài t ph n c ng h n. Trong khi ĩ, RSA v i vi c th c hi n các phép tính trên các s nguyên d ng c c l n v i kích th c khĩa dài làm cho th i gian phát sinh khĩa, mã hĩa và gi i mã lâu h n r t nhi u so v i ECC, ch a tính n chi phí cho nh ng phép tính ph i s d ng nhi u n ng l ng, b x lý, khơng gian u tr do chi u dài bit c a m t s nguyên d ng th ng v t qua kh n ng ch a c a thanh ghi nên ph i dùng n b m và b nh ph l u tr và chuy n i.

Ví d : ECC 115-bit s d ng 11000 transistor trong khi RSA 512-bit khi th c thi dùng 50000 transistor và c xem là cĩ b o m t nh nhau.

Ngồi ra, c bi t trong nhi u tr ng h p c a tr ng F2m cho phép th c hi n tính tốn r t nhanh, trong tr ng h p này ECC nhanh h n c 10 l n so v i RSA hay DSA.

q Tài nguyên s d ng

Các thi t b ECC yêu c u ít khơng gian l u tr , ít n ng l ng, ít b nh , và yêu c u b ng thơng ít h n (do khĩa nh h n t o ch ký ng n h n) nh ng h th ng khĩa cơng khác.

q an tồn

Cùng m t m c b o m t (cùng m t th i gian gi i mã khĩa) nh ng kích th c khĩa c a RSA dài h n ECC (Hình 3).

KHOA CNTT –

ĐH KHTN

32

Cho n n m 2002, thu t tốn hi u qu nh t gi i bài tốn logarit r i r c trên tr ng các s nguyên mod p b ng ph ng pháp sàng s cĩ ph c t p m là:

O(exp(c+o(1)))(ln p)1/3(ln (ln p))2/3) v i c là h ng s

Tuy nhiên gi i bài tốn logarit r i r c trên ng cong Elip (ECDLP) n n m 2002 v n ch a cĩ thu t tốn t ng quát ph c t p m con nào c bi t. Thu t tốn trong tr ng h p t ng quát nhanh nh t hi n nay là thu t tốn Pollard’s cĩ ph c t p tính s l ng phép tốn trên nhĩm là O(0.88 n), v i n là c s nguyên t l n nh t c a b c Elip. Nĩi chung, thu t tốn t ng quát cho ECDLP là hàm m hồn tồn.

KHOA CNTT –

ĐH KHTN

33

Ch ng 3. Hàm b m

Do t c c a các h mã cơng khai r t ch m, vì th , ch ký n t th ng khơng c ký tr c ti p trên tồn v n b n mà thơng qua b n tĩm t t. B n tĩm t t th ng c xây d ng d a trên m t hàm b m. Ch ng này kh o sát các ph ng pháp b m và ng d ng nĩ trong t o ch ký n t

Các hàm b m m t mã nh n chu i u vào cĩ chi u dài b t k (th ng r t l n) và ánh x chu i này thành chu i u ra cĩ chi u dài c nh th ng ng n, k t xu t này g i là giá tr b m (hash value), b n tĩm t t hay ma khoa thơng iêp (message disgest). Thu t ng hàm b m (Hash Function) cĩ ngh a là nén m t chu i cĩ chi u dài b t k thành chu i cĩ chi u dài c nh. i v i các ng d ng b o m t c n phân bi t gi a hàm b m cĩ khố (MAC – Message Authentication Code) và hàm b m khơng khố (MDC - Manipulation Detection Codes).

Ham b m c dung trong ch ky i n t . Mơt c tinh c ban cua ham m la viêc tao ma khoa thơng iêp rât dê nh ng viêc pha ma chuyên ng c ma thơng iêp thanh ban ro ban u rât kho nêu khơng mu n noi la khơng thê. Ly do s dung ham b m cĩ th so sánh v i vi c mơi ng i co mơt dâu tay duy nhât phân biêt, ng i ta cung muơn dung ham b m tao ra gia tri duy nhât cho mơi thơng iêp. Vi du, g i thơng iêp “mua 500 cơ phân ABC” n ng i mơi gi i ch ng khoan. Tr c khi g i, cho thơng iêp qua mơt ham b m tao ra mơt ma khoa thơng iêp r i g i ca thơng iêp va gia tri b m n ng i mơi gi i ch ng khoan. D c ng, mơt ke gian ch n thơng iêp va thay i sơ cơ phiêu thanh 5000. Khi ng i mơi gi i ch ng khoan nhân thơng iêp và chay cung ham b m trên thơng iêp. Do thơng iêp bi thay i, gia tri b m mà ng i mơi gi i ch ng khoan thu c khơng giơng v i giá tr b m c g i kem theo thơng iêp, va ng i mơi gi i ch ng khoan bi t c thơng iêp ã b thay i. (adsbygoogle = window.adsbygoogle || []).push({});

Nh c câp, cac ham b m c dung ky cac v n ban b ng ky thuât sơ. Mơt khi ma khoa thơng iêp c tao ra, no co thê c ma hoa chung v i thơng iêp ban u b ng cach dung khoa cơng khai cua ng i nhân. Ban ma sau cung co thê c truyên i mơt cach an toan. Chi ng i nhân m i co thê giai ma thơng iêp b ng khoa cá nhân cua anh ta. Ham b m con co mơt c tinh la chung sinh ra nh ng ma khoa thơng iêp rât kho chuyên dang ng c lai. Do , ma khoa thơng iêp co thê truyên cơng khai hâu nh khơng s ai se dung no chuyên ng c lai thanh thơng iêp ban u.

KHOA CNTT –

ĐH KHTN

34

3.1. Tính ch t c a hàm b m

Một phần của tài liệu nghiên cứu các phương pháp mã hóa giấu tin đa tầng và ứng dụng (Trang 35 - 42)