Logarit rời rạc trên đường cong Elliptic

Một phần của tài liệu Tìm hiểu về hệ mã hóa khóa công khai RSA và hệ đường cong Elliptic (Trang 29 - 31)

III: Hệ mật đường cong Elliptic

3. Logarit rời rạc trên đường cong Elliptic

Nếu E là đường cong Elliptic trên trường Fq và B là một điểm trên E. Khi đó bài toán logarit rời rạc trên E theo cơ số B là một vai toán, cho trước một điểm P € E, tìm số nguyên x€ Z sao cho xB=P(nếu số x như vậy tồn tại).

Hầu như bài tính toán logarit rời rạc trên đường cong elliptic sẽ khó hơn bài toán logarit rời rạc trên trường hữu hạn.Các kỹ thuật mạnh nhất đã được phát triển để sử dụng trong các trường hữu hạn dương fnhw không có giá trị đối với đường cong elliptic.Kết quả này đặc biệt đúng trong trường hợp có đặc số 2.Như đã được chứng tỏ bởi Odlzko rằng có một số phương pháp đặc biệt để giả bài toán logarit rời rạc trong Gm 2r với chúng dễ dàng tính được logarit rời rạc và do đó dễ phá được hệ mật mã,trừ ra trườn hợp số r được chọn đủ lớn.Dường như các hệ thống tương tự sử dụng đường cong elliptic dược định nghĩa trên F2r sẽ đảm bảo an toàn kể cả trong trường hợp giá trị r khá bé.

4.Vấn đề trao đổi khoá Diffie- Hellman(D- H) trên Elliptic

Giả sử A và B muốn thống nhất một khoá chung để liên lạc có bảo mật giữa hai người bằng mật mã truyền thống. Trước hết hai bên thống nhất công khai chọn một trường hữu hạn Fq và một đường cong elliptic trên nó khoá chung của họ sẽ được xây dựng từ một điểm ngẫu nhiên P của đường cong vừa cho, họ làm cách này bằng cách chọn toạ độ x của P là ngẫu nhiên trong Fq. Sau đó nó được chuyển đổi thành số nguyên cơ số P có r số( q = pr) mà được coi là khoá đối với hệ mã truyền thống của họ. Cụ thể như sau:

Trước hết A, B chọn công khai một điểm B ,E. B đóng vai trò như là phần tử sinh g trong trường hữu hạn của hệ thống Diifie-Hellman. Chúng ta muốn có một nhóm con được sinh ra bởi B là lớn, tốt nhất là có cùng cấp như E. Bây giờ giả sử B là công khai và cố định trên E mà cấp của nó là đủ lớn (chẳng hạn hoặc là N hoặc là một nhân tử lớn của N).

Để tạo ra khoá, trước hết A chọn ngẫu nhiên một số nguyên a có cấp q (nó xấp xỉ như số N). Số a được giữ bí mật. Trên cơ sở đó, A tính aB € E, aB là công khai. Đến lượt B cũng làm như vậy, anh ta chọn ngẫu nhiên số b và tính bB € E, bB cũng được công khai. Khoá bí mật mà chỉ có hai người A, B mới có đó là: P =abB € E. Người thứ ba bất kỳ không thể suy ra abB từ aB và bB nếu không giải bài toán logarit rời rạc trên E của trường Fp r

5.Hệ mật mã hóa Elgamal trên đường cong Elliptic

Hệ Elgamal làm việc với nhóm Cyclic hữu hạn. Năm 1978, Kobliz đã đưa một hệ trên ECC dựa trên hệ Elgamal.

Để xây dựng hệ mã hoá dựa trên đƣờng cong elliptic ta chọn đường cong E(a, b) và một điểm G trên đường cong làm điểm cơ sở. Mỗi ngƣời dùng A một khoá bí mật nA là một số nguyên, và sinh khoá công khai PA = nA * G.

Khi đó hệ mã hoá đường cong elliptic được xây dựng tương tự hệ mã hoá ElGamal, trong đó thuật toán mã hoá và giải mã được xác định như sau:

Thuật toán mã hoá

Giả sử người dùng A muốn gửi thông điệp cần mã hoá Pm tới người dùng B, chọn một số ngẫu nhiên k và gửi thông điệp mã hoá Cm được tính như sau:

Cm = {k * G, Pm + k * PB } (PB là khoá công khai của B) Thuật toán giải mã

Để giải mã thông điệp Cm = { k * G, Pm + k * PB }, người dùng B thực hiện tính như sau:

Pm + k * PB - nB * k * G = Pm + k * PB – k * nB * G = Pm + k * PB - k * PB = Pm

Một phần của tài liệu Tìm hiểu về hệ mã hóa khóa công khai RSA và hệ đường cong Elliptic (Trang 29 - 31)

w