Tải bản đầy đủ (.docx) (25 trang)

TIỂU LUẬN mã hóa THÔNG TIN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (400.51 KB, 25 trang )

MÃ HÓA THÔNG TIN
(305-323)

Member :
1.
2.
3.
4.
5.
6.
7.

Nguyễn Quỳnh Mai
Hoàng Thị Mai Hương
Nguyễn Thu Hường
Hoàng Xuân Sơn
Đinh Quốc Trung
Nguyễn Ngọc Quang
Đặng Duy Chiến

Man-in-the-Middle Attack


Giao thức mô tả trong hình 10.2 là không an toàn chống lại một cuộc tấn công
man-in-the-middle. Giả sử Alice và Bob muốn chìa khóa trao đổi và Darth là kẻ
thù. các cuộc tấn công thực hiện như sau.
Darth chuẩn bị cho cuộc tấn công bằng cách tạo ra hai khóa riêng ngẫu nhiên X D1
và XD2 và sau đó tính toán khóa công khai tương ứng YD1 và YD2.
2. Alice truyền YA cho Bob.
3. Chặn Darth YA và truyền YD1 cho Bob. Darth cũng tính toán K2=(YA)XD2mod q.
4. Bob nhận được và tính toán.


5. Bob truyền YB cho Alice.
6. Chặn Darth YB và truyền YD2 đến Alice. Darth tính toán K1=(YB)XD1mod q.
7 Alice nhận YD2 và tính toán K2=(YD2)XAmod q.
Tại thời điểm này, Bob và Alice nghĩ rằng họ chia sẻ một khóa bí mật, nhưng thay
vì Bob và Darth chia sẻ khóa bí mật K1 và Alice và Darth chia sẻ khóa bí mật K2.
tất cả thông tin liên lạc tương lai giữa Bob và Alice bị tổn hại theo cách sau
1. Alice gửi một tin nhắn được mã hóa M:E(K2,M).
2. Darth chặn các tin nhắn được mã hóa và giải mã nó để phục hồi M
3. Darth gửi Bob E(K1,M) hoặc E(K1,M’) , nơi mà M’ là bất kỳ tin nhắn. trong
trường hợp đầu tiên, Darth chỉ đơn giản là muốn nghe trộm thông tin liên lạc mà
không cần thay đổi nó. Trong trường hợp thứ hai, Darth muốn sửa đổi các tin
nhắn đi cho Bob.
Giao thức trao đổi khóa là dễ bị làm hại đến một cuộc tấn công như vậy bởi vì nó
không xác nhận tham gia. Lỗ hổng này có thể được khắc phục với việc sử dụng
chữ ký số và chứng chỉ khóa công khai; các chủ đề này được khám phá trong

Chương 13 và 14.
10.2. Hệ thống mật mã Elgamal


Năm 1984, T. Elgamal đã công bố một chương trình khóa công khai dựa trên
logarithms rời rạc, liên quan chặt chẽ với kỹ thuật Diffie-Hellman [ELGA84,
ELGA85]. các ElGamal2 hệ thống mật mã được sử dụng trong một số hình thức
trong một số tiêu chuẩn bao gồm cả tiêu chuẩn chữ ký kỹ thuật số (DSS), được đề
cập trong Chương 13, và S / MIME
Như với Diffie-Hellman, các yếu tố toàn cầu của Elgamal là một số nguyên tố q và
α và đó là một gốc nguyên thủy của q. Một người dùng tạo ra một cặp khóa
riêng/c ông khai như sau
1. Tạo ra một số nguyên ngẫu nhiên XA , như vậy 12. Tính YA=αXA mod q.

3. Như khóa riêng của XA ; khóa công khai là {q,α,YA}
Bất kỳ người dùng B có quyền truy cập đến A của khóa công khai có thể mã hóa
tin nhắn như sau:
1.Đại diện cho 1 tin nhắn là một số nguyên trong phạm vi 0≤M≤q-1. còn thông
điệp được gửi dưới dạng một chuỗi các khối, mỗi khối là một số nguyên ít hơn q.
2. Chọn một số nguyên ngẫu nhiên k như vậy mà 1≤k≤q-1
3. Tính toán một phím một lần K=(YA)kmod q.
4. Mã hóa M là cặp số nguyên (C1,C2) nơi C1=αkmod q ; C2=KM mod q
Một người dùng khôi phục lại bản rõ như sau:
1. Khôi phục phím của máy tính K=(C1)XA mod q.
2. Tính M=(C2K-1)mod q.
Các bước này được tóm tắt trong Hình 10.3. Nó tương ứng với hình 9.1a: Alice
tạo ra một / tin cặp khóa công khai; Bob mã hóa sử dụng khóa công khai của Alice;
và Alice giải mã sử dụng khóa riêng của mình.


Chúng ta hãy chứng minh tại sao các chương trình Elgamal hoạt động. Đầu tiên,
chúng tôi hiển thị như thế nào là K phục hồi bằng quá trình giải mã:
K=(YA)kmod q
K=(αXAmod q)kmod q
K=αkXAmod q
K=(C1)XAmod q
Tiếp theo, sử dụng K, chúng tôi khôi phục lại bản rõ như sau:
C2=KM mod q
(C2K-1) mod q=KMK-1 mod q=M mod q=M
Chúng ta có thể xác định lại quá trình Elgamal như sau, sử dụng hình 10.3.
1. Bob tạo ra một số ngẫu nhiên k
2. Bob tạo ra một khóa K một thời gian sử dụng các thành phần công khai của
Alice YA,q và k.
3. Bob mã hóa k bằng cách sử dụng thành phần α khóa công khai, năng suất C 1. C1

cung cấp đầy đủ thông tin cho Alice để phục hồi K.
4. Bob mã hóa thông điệp rõ M sử dụng K.
5. Alice phục hồi K từ C1 sử dụng khóa riêng của mình.
6. Alice sử dụng K-1 để khôi phục lại các tin nhắn từ C2.


Hình 10.3. Hệ thống mật mã ELGamal
Như vậy, chức năng K như một chìa khóa một lần, được sử dụng để mã hóa và
giải mã thông điệp.
Ví dụ, chúng ta hãy bắt đầu với GF (19); có nghĩa là, q= 19 Nó có
rễ nguyên thủy {2, 3, 10, 13, 14, 15}, như thể hiện trong Bảng 8.3. Chúng tôi lựa
chọn α=10
Alice tạo ra một cặp khóa như sau:


1. Alice chọn XA=5
2.Sau đó,YA=αXA mod q=α5 mod 19= 3 (xem Bảng 8.3).
3.Khóa riêng của Alice là 5; Chìa khóa công cộng của Alice là{q,α,YA}= {19, 10, 3}.
Giả sử Bob muốn gửi tin nhắn với giá trị M= 17 Sau đó,
1. Bob chọn k= 6.
2.Sau đó,K=(YA)k mod q =36 mod 19= 729 mod 19 =7.
3.Vì vậy,
C1 =αk mod q=α6 mod 19= 11
C2= KM mod q=7x17 mod 19 =119 mod 19= 5
4. Bob gửi các bản mã (11, 5).
Để giải mã:
1. Alice tính toán K=(C1)XA mod q=115 mod 19 =161051 mod 19= 7.
2 Sau đó,K-1 trong GF (19) là 7-1 mod 19= 11.
3. Cuối cùng, M=(C2K-1) mod q=5x11mod 19=55 mod 19=17 .
Nếu thông tin được chia thành các khối và gửi dưới dạng một chuỗi các khối mã

hóa một giá trị độc đáo của nên được sử dụng cho mỗi khối. Nếu được sử dụng
cho nhiều khối, kiến thức của một khối của thông điệp cho phép người dùng
tính toán các khối khác như sau.
C1,1=αk mod q;C2,1=KM1 mod q
C1,2=αk mod q;C2,3=KM2 mod
Nếu M1 đã biết,M2 dễ dàng tính được:
M2=(C2,1)-1 C2,2 M1 mod q


Sự an toàn của Elgamal dựa vào độ khó của máy tính rời rạc logarit. Để phục hồi
của một khóa riêng, một kẻ thù sẽ phải tính toán XA=dlogα,q(YA)
. Ngoài ra, để phục hồi phím K một lần, một kẻ thù
sẽ phải xác định số k ngẫu nhiên, và điều này sẽ đòi hỏi phải tính toán logarithms
k=dlogα,q(C1) rời rạc. [STIN06] chỉ ra rằng những tính toán này được coi là không
khả thi nếu p có ít nhất 300 chữ số thập phân và q-1 có ít nhất một thừa số
nguyên tố "lớn".
Hầu hết các sản phẩm và tiêu chuẩn sử dụng mật mã khóa công khai để mã hóa và
chữ ký số sử dụng RSA. Như chúng ta đã thấy, độ dài khóa cho an toàn
RSA sử dụng đã tăng lên trong những năm gần đây, và điều này đã đặt một tải
trọng xử lý nặng hơn trên các ứng dụng sử dụng RSA. Gánh nặng này có hậu quả,
đặc biệt là điện tử các trang web thương mại điện tử mà thực hiện một số lượng
lớn các giao dịch an toàn. Một cạnh tranh hệ thống thách thức RSA: mật mã
đường cong elliptic (ECC). ECC được hiển thị trong nỗ lực tiêu chuẩn, bao gồm các
tiêu chuẩn IEEE P1363 cho công-Key
Mật mã.
Sự hấp dẫn chính của ECC, so với RSA, là nó xuất hiện để cung cấp an ninh công
bằng cho một kích thước chính đến nay nhỏ hơn, do đó làm giảm chi phí xử lý.
Mặt khác, mặc dù lý thuyết của ECC đã được khoảng một thời gian, nó là
Chỉ đến gần đây sản phẩm này đã bắt đầu xuất hiện và có đã được duy trì
quan tâm cryptanalytic trong việc khảo sát những điểm yếu. Theo đó, mức độ tin

cậy trong ECC chưa cao như trong RSA.
ECC về cơ bản là khó khăn hơn để giải thích hơn so với RSA hoặc DiffieHellman, và
mô tả đầy đủ toán học nằm ngoài phạm vi của cuốn sách này.
Phần này và phần tiếp theo cung cấp cho một số nền tảng trên các đường cong
elliptic và ECC. chúng tôi bắt đầu với một đánh giá ngắn gọn về khái niệm nhóm
giao hoán. Tiếp theo, chúng ta xem xét khái niệm về các đường cong elliptic xác
định trên số thực. Tiếp theo là một cái nhìn tại các đường cong elliptic xác định
trên các lĩnh vực hữu hạn. Cuối cùng, chúng tôi có thể kiểm tra elip mật mã đường
cong.


Người đọc có thể muốn xem xét các tài liệu về lĩnh vực hữu hạn trong Chương 4
trướctiếp tục.
Nhóm Abel
Nhớ lại từ Chương 4 rằng một nhóm Abel, đôi khi biểu hiện bằng {G,●}, là một
tập hợp các phần tử với một hoạt động nhị phân, ký hiệu ●, đó cộng với nhau
ra lệnh cho cặp (a,b) của các yếu tố trong một phần tử trong G, như vậy là sau
tiên đề được chấp hành: 3
(A1) Đóng: Nếu a và b thuộc G,vì vậy a●b cũng thuộc G
(A2) liên tưởng: một:a● (b ●c) = (a ● b) c ● cho tất cả .a,b,c trong G
(A3) yếu tố: một yếu tố điện tử trong G như vậy mà a●e=e●a cho tất cả trong G
(A4) tố ngược: Đối với mỗi a trong G đó là một yếu tố trong đó có a’ trong G như
a●a’=a’●a=e
(A5) giao hoán: a●b=b●a cho tất cả a,b trong G.
Một số thuật toán mã hóa khóa công khai dựa trên việc sử dụng một nhóm giao
hoán.
Ví dụ, Diffie-Hellman trao đổi quan trọng liên quan đến các cặp số nguyên nhân
khác không modulo một số nguyên tố. Phím được tạo ra bởi lũy thừa trong nhóm,
với lũy thừa được xác định là nhân lặp đi lặp lại.
Ví dụ ak mod q=(a x a x….x a) mod q. Để tấn công Diffie-Hellman, kẻ tấn công phải

xác định cụ thể k cho a và ak ; đây là vấn đề logarithms rời rạc.
Đối với mật mã đường cong elliptic, một hoạt động trên các đường cong elliptic,
gọi Ngoài ra, được sử dụng. Nhân được xác định bằng cách thêm lặp đi lặp lại.
Ví dụ,a×k=(a+a+….+a)
nơi mà việc bổ sung được thực hiện trên một đường cong elliptic. Giải mã liên
quan đến việc xác định k đưa ra a và (a×k)
Một đường cong elliptic được xác định bởi một phương trình trong hai biến với hệ
số. Đối với mật mã, các biến và hệ số được giới hạn trong các yếu tố trong một


trường hữu hạn, mà kết quả trong định nghĩa của một nhóm abel hữu hạn. Trước
khi nhìn vào điều này, trước tiên chúng ta nhìn vào các đường cong elliptic trong
đó các biến và hệ số là các số thực. Điều này trường hợp có lẽ là dễ dàng hơn để
hình dung.
Đường cong elliptic trên số thực
Các đường cong elliptic không elip. Chúng được đặt tên như vậy bởi vì họ được
mô tả bởi
phương trình bậc ba, tương tự như những người sử dụng để tính chu vi của một
hình elip. Nói chung, phương trình bậc ba cho các đường cong elliptic có dạng sau
đây, được gọi là một Phương trình Weierstrass:Y2 + axy + by = x3 + cx2 + dx + e
Nơi mà a,b,c là những con số thực tế và và đưa vào giá trị trong numbers.4 thực
Đối với mục đích của chúng tôi, nó là đủ để giới hạn mình với phương trình có
dạng:

Phương trình như vậy được cho là khối, hoặc mức độ 3, bởi vì số mũ cao nhất họ
có là một 3.Also bao gồm trong định nghĩa của một đường cong elliptic là một
đơn yếu tố ký hiệu và được gọi là điểm ở vô cực hoặc điểm không, mà chúng tôi
thảo luận sau đó. Để vẽ một đường cong như vậy, chúng ta cần phải tính toán:

Đối với các giá trị nhất định của a và b, và cốt truyện bao gồm các giá trị tích cực

cho y và tiêu cực cho mỗi giá trị x. Như vậy, mỗi đường cong đối xứng y=0. Hình
10.4 cho thấy hai ví dụ về đường cong elliptic. Như bạn có thể thấy, công thức đôi
khi tạo ra đường cong weirdlooking. Bây giờ, hãy xem xét tập hợp các điểm E(a,b)
bao gồm tất cả các điểm(x,y) mà đáp ứng phương trình (10.1) cùng với các yếu tố
O. Sử dụng một giá trị khác nhau của kết quả cặp (a,b) trong một bộ khác nhau. Sử
dụng thuật ngữ này, hai đường cong tại Hình 10.4 mô tả các bộ E(-1,0) và E(1,1)
tương ứng. Mô tả hình học của NGOÀI Nó có thể được chỉ ra rằng một nhóm có
thể được xác địnhdựa trên các thiết lập cho các giá trị cụ thể của và trong phương
trình (10.1), cung cấp các điều kiện sau đây được đáp ứng:


Để xác định nhóm, chúng ta phải xác định một hoạt động, được gọi là bổ sung và
ký hiệu +, cho bộ này, ở đâu và đáp ứng phương trình (10.2). Về hình học, các quy
định bổ sung có thể được quy định như sau: Nếu ba điểm trên một đường cong
elliptic nằm trên một đường thẳng, số tiền của họ. Từ định nghĩa này, chúng ta có
thể xác định các quy tắc của Ngoài ra trên một đường cong elliptic.
1.O phục vụ như là nhận dạng phụ gia.Như vậy O=-O;hoặc bất kì điểm P nào
trên đường cong elip, P+O=P. trong phần tiếp theo chúng tôi giả định P≠O
và Q≠O.
2. tiêu cực của một điểm là điểm với cùng phối hợp nhưng tiêu cực
có toạ độ,nếu P=(x,y), -P=(x,-y). Lưu ý rằng hai


điểm có thể được nối bởi một đường thẳng đứng. Lưu ý rằng P+(-P)=P-P=O
3. thêm hai điểm P và Q có tọa độ x khác nhau, vẽ một đường thẳng
giữa họ và tìm thấy những điểm thứ ba giao nhau R. Nó có thể dễ dàng thấy
rằng có một điểm R duy nhất đó là các điểm giao nhau (trừ dòng là tiếp
tuyến với đường cong tại một trong hai P hoặc Q, trong trường hợp này
chúng ta thay R=P hoặc R=Q tương ứng). Để tạo thành một cấu trúc nhóm,
chúng ta cần phải xác định thêm các

ba điểm: P+Q=-R . Đó là, chúng ta định nghĩa P=Q là hình ảnh phản chiếu
của điểm thứ ba giao nhau (so với trục có). Hình 10.4 minh họa
xây dựng này.
4. giải thích hình học của các mặt hàng trên cũng áp dụng đối với hai điểm,
P và -P, với x cùng phối hợp. Các điểm được nối bởi một đường thẳng đứng,
có thể được xem như là cũng giao nhau đường cong ở vô cực do đó point.
Chúng ta có P=(-P)=O, phù hợp với mục (2).
5. tăng gấp đôi một điểm Q, vẽ đường tiếp tuyến và tìm thấy những điểm
khác của ngã tư S. Sau đó: Q+Q=2Q=-S
Với danh sách trước các quy tắc, có thể chứng minh rằng các thiết lập là
một nhóm E(a,b) Abel
Đại số MÔ TẢ BỔ SUNG Trong tiểu mục này, chúng tôi trình bày một số kết
quả
cho phép tính bổ sung hơn curves.5 elip Đối với hai điểm khác biệt,
mà không phải là tiêu cực của nhau, độ dốc của l
dòng họ là tham gia
. Có đúng một điểm khác
nơi l giao với đường cong elliptic, và đó là tiêu cực của tổng của P và Q.
Sau khi một số thao tác đại số, chúng ta có thể thể hiện tổng R=P=Q như:

Chúng ta cũng cần để có thể thêm một điểm để bản than:P+P=2P=R. Khi
yp≠0,các biểu thức là:


Đường cong elliptic trên Zp
Mật mã đường cong elliptic sử dụng các đường cong elliptic trong đó các
biến và hệ số được tất cả hạn chế các yếu tố của một trường hữu hạn. Hai
gia đình của elip đường cong được sử dụng trong các ứng dụng mã hóa:
đường cong thủ hơn và nhị phân đường cong hơn GF(2 m). Đối với một
đường cong chính trên Zp , chúng tôi sử dụng một phương trình bậc ba,

trong đó biến và hệ số tất cả đi về giá trị trong tập hợp các số nguyên từ 0
đến p - 1 và trong đó tính toán được thực hiện theo modulo p. Đối với
đường cong ap nhị phân được xác định hơn, các biến và hệ số tất cả đi về
giá trị và tính toán được thực hiện qua GF(2m). [FERN99] chỉ ra rằng đường
cong chính là tốt nhất cho các ứng dụng phần mềm, bởi vì các hoạt động bit
không quan trọng mở rộng cần thiết bởi đường cong nhị phân là không cần
thiết; và đường cong nhị phân là tốt nhất cho phần cứng
các ứng dụng, nơi mà nó có rất ít sự cổng logic để tạo ra một mạnh mẽ,
nhanh chóng hệ thống mật mã. Chúng tôi kiểm tra hai gia đình này trong
phần này và tiếp theo.
Không có giải thích rõ ràng của hình học elliptic số học đường cong trên
trường vô hạn. Việc giải thích cho số học đại số sử dụng đường cong elliptic
trên thực số không dễ dàng thực hiện hơn Zp, và đây là cách tiếp cận chúng
ta.
Đối với các đường cong elliptic trên, cũng như số thực, chúng tôi giới hạn
mình với phương trình dưới dạng phương trình (10.1), nhưng trong trường
hợp này với hệ số và các biến
giới hạn Zp:
Ví dụ:


Nó có thể được chỉ ra rằng một nhóm abel hữu hạn có thể được xác định
dựa trên các thiết lập
với điều kiện là không có yếu tố lặp
đi lặp lại. Điều này tương đương với điều kiện
Lưu ý rằng phương trình (10.6) có dạng tương tự như phương trình (10.2)
Các quy định bổ sung hơn, tương ứng với các kỹ thuật đại số


mô tả cho các đường cong elliptic xác định trên số thực. Đối

với tất cả các điểm

Nhân được xác định là ngoài lặp đi lặp lại; ví dụ 4P=P+P+P+P+P
Ví dụ cho P=(3,10) và Q=(9,7) E23=(1,1)

Bước cuối cùng trong phương trình trước đó liên quan đến việc dùng các
chất nhân nghịch đảo của .Điều này có thể được thực hiện bằng cách sử
dụng thuật toán Euclid mở rộng định nghĩa
trong phần 4.4. Để xác nhận, lưu ý rằng.

Và 2P=(7,12)
Để xác định sự an toàn của thuật toán mã hóa khác nhau đường cong
elliptic, nó là của một số quan tâm để biết số điểm trong một nhóm abel
hữu hạn được xác định trên một elip
đường cong. Trong trường hợp của các nhóm hữu hạn, số lượng các điểm
giáp


Lưu ý rằng số lượng điểm Ep(a,b) xấp xỉ bằng số lượng các yếu tố trong Zp cụ
thể là các yếu tố

Elliptic Curves over GF(2m)
Nhớ lại từ Chương 4 rằng một trường hữu hạn bao gồm các yếu tố, cùng
với cộng và phép nhân các hoạt động có thể được xác định trên đa thức.
Đối với các đường cong elliptic trên trường GF, chúng tôi sử dụng một
phương trình bậc ba trong đó các biến và
hệ số tất cả đi về giá trị trong GF cho một số số và trong đó tính toán được
thực hiện bằng cách sử dụng các quy tắc của số học trong.
Nó chỉ ra rằng các hình thức của khối phương trình thích hợp cho các ứng
dụng mật mã cho các đường cong elliptic là hơi khác nhau cho hơn cho. Các

hình thức là

nơi mà nó được hiểu rằng các biến x và y và các hệ số a và b và các yếu tố
GF(2n) tính toán được thực hiện trong Bây giờ xem xét các thiết lập bao gồm
tất cả các cặp số nguyên đáp ứng phương trình (10.7), cùng với một điểm ở
vô cực.


Bây giờ xem xét các đường cong elliptic y2 +xy =x3 +g4x2 +1 Một điểm thỏa
mãn phương trình này là

Nó có thể được chỉ ra rằng một nhóm abel hữu hạn có thể được xác định
dựa trên các thiết lập E2m(a,b) b#0
Các quy định bổ sung có thể được quy định như sau. Đối với tất cả
điểm P,Q€ E2m(a,b)
1. , P + 0 = P
2. Nếu P = (xp ,yp) và P + (xp, xp + yp) = 0 Vấn đề là các (xp, xp + yp) là
nghiệm của P và được kí hiệu là –P
3. Nếu P = (xp ,yp) và Q = (xq, yq) điều kiện P # -Q và P # Q
R = P + Q = (xR,Yr) được xác định bởi các quy tắc sau đây:


Ở đây
Nếu P = = (xp ,yp) thỳ R = 2P = (xR,Yr) được xác định bởi các quy tắc sau

Hoặc
Các hoạt động bổ sung trong ECC là đối tác của nhân mô-đun trong
RSA, và nhiều Ngoài ra là đối tác của exponentiation.To mô-đun hình
thức một
hệ thống mã hóa bằng cách sử dụng các đường cong elliptic, chúng

tôi cần phải tìm một "vấn đề khó khăn" tương ứng với sản phẩm bao
thanh toán của hai số nguyên tố hoặc dùng logarit rời rạc
Hãy xem xét các phương trình Q = KP và
và KNó là tương đối dễ dàng để tính toán đưa ra và, nhưng nó là tương
đối khó để xác định được
và. Đây được gọi là bài toán logarit rời rạc cho các đường cong
elliptic.
Chúng tôi cung cấp một ví dụ được lấy từ trang web Certicom
(www.certicom.com)
Analog of Diffie-Hellman Key Exchange
Trao đổi khóa sử dụng các đường cong elliptic có thể được thực hiện
theo cách sau đây. Đầu tiên chọn một p số nguyên lớn 2m đó có thể là
một số nguyên tố hoặc một số nguyên của các hình thức, và
các thông số đường cong elliptic Eq(a,b) và phương trình (10.5) hoặc
phương trình (10.7). Điều này xác định các nhóm elip điểm. Tiếp
theo, chọn một điểm cơ bản trong Để có được một giá trị rất lớn.
Trình tự của một điểm trên một elip đường cong là số nguyên dương
nhỏ nhất như vậy mà nG = 0 và G là các thông số của các hệ thống
mật mã được biết đến với tất cả người tham gia.
Một trao đổi quan trọng giữa người sử dụng A và B có thể được thực
hiện như sau
(Hình 10.7)


1 Lựa chọn nA bé hơn n Đây là của một khóa riêng. A sau đó tạo ra
một PA = nA x G khóa công khai Eq(a,b)
2, B tương tự như lựa chọn một khóa riêng nB và tính toán một khóa
công khai PB
3. tạo ra khóa bí mật k = nA * PB ,B tạo ra các khóa bí mật

Hai tính toán trong bước 3 tạo ra kết quả tương tự vì
Để phá vỡ kế hoạch này , kẻ tấn công sẽ cần để có thể tính toán được
và , được cho là cứng, Như một ví dụ p = 221, tương đương với
đường cong
và G = (2, 2) Người ta có thể tính toán rằng 240 G= 0, Một của khóa
riêng là:nA = 121
vì vậy của một khóa công khai là PA = 121(2, 2) = (115, 48), Khóa riêng
của B
là n B = 203. để khóa công khai của B là 203(2, 3) = (130, 203). Khóa
bí mật được chia sẻ là
121(130, 203) = 203(115, 48) = (161, 69)
Lưu ý rằng khóa bí mật là một cặp số , Nếu khóa này là để được sử
dụng như
một khóa phiên để mã hóa thông thường. sau đó một số duy nhất
phải gener-ated.
Chúng tôi chỉ đơn giản là có thể sử dụng các tọa độ hoặc một số chức
năng đơn giản x của phối hợp


Elliptic Curve Encryption/Decryption
Một số phương pháp để mã hóa / giải mã bằng cách sử dụng các đường cong
elliptic đã được phân tích trong văn học. Trong tiểu mục này, chúng ta nhìn vào có
lẽ là đơn giản nhất. đầu tiên nhiệm vụ trong hệ thống này là để mã hóa thông
điệp rõ m Đây là thời điểm đó sẽ được mã hóa như là một bản mã và sau đó giải
mã. Lưu ý rằng chúng ta không thể chỉ đơn giản là mã hóa thông điệp như hoặc
phối hợp của một điểm, bởi vì không phải tất cả tọa độ như vậy là trong; Ví dụ,
xem bảng
10.1. Một lần nữa, có một số phương pháp để mã hóa này, chúng tôi sẽ không địa
chỉ ở đây, nhưng nó đủ để nói rằng có kỹ thuật tương đối đơn giản có thể được sử
dụng.



Cũng giống như hệ thống trao đổi khóa, một mã hóa / giải mã hệ thống đòi hỏi
một điểm và một nhóm elip Eq(a,b) như các tham số. Mỗi người sử dụng A chọn
một tư nhân khóa nA tạo ra một chìa khóa công cộng PA = nA x G
320 Để mã hóa và gửi tin nhắn Pm với B, A chọn ngẫu nhiên một số nguyên dương
và tạo ra các bản mã bao gồm các cặp điểm

Lưu ý rằng A đã sử dụng khóa công khai của B. Để giải mã bản mã, B nhân với
điểm đầu tiên trong cặp bởi khóa bí mật của B và trừ các kết quả từ thứ hai điểm

A đã che giấu thông điệp Pm Không ai biết nhưng A giá trị, vì vậy mặc dù là một
khóa công khai, không ai có thể loại bỏ mặt nạ. Tuy nhiên, A cũng bao gồm một
"đầu mối", mà là đủ để loại bỏ mặt nạ nếu một biết khóa riêng. Đối với một kẻ tấn
công để khôi phục lại các tin nhắn, những kẻ tấn công sẽ phải tính toán đưa ra và,
được cho là cứng

Security of Elliptic Curve Cryptography
Sự an toàn của ECC phụ thuộc vào khó khăn như thế nào để xác định
được và. Điều này được gọi là vấn đề logarit đường cong elliptic. Các kỹ
thuật được gọi nhanh nhất dành logarit đường cong elliptic được gọi là
phương pháp Pollard rho. Bảng 10.3 so sánh các thuật toán khác nhau
bằng cách hiển thị so sánh kích thước quan trọng về các nỗ lực tính
toán cho cryptanalysis.As có thể được nhìn thấy, một chìa khóa nhỏ hơn
đáng kể kích thước có thể được sử dụng cho ECC so với RSA. Hơn nữa,
với chiều dài khóa bằng nhau, nỗ lực tính toán cần thiết cho ECC và RSA
có thể so sánh [JURI97]. Do đó, có là một lợi thế để tính toán sử dụng
ECC với độ dài của khoá ngắn hơn một tương đối an toàn RSA.



10.5 Giả ngẫu nhiên số thế hệ dựa vào mật mã bất đối xứng
Chúng tôi ghi nhận trong Chương 7 vì một thuật toán mã hóa khối
đối xứng tạo ra một
sản lượng ngẫu nhiên rõ ràng, nó có thể phục vụ như là cơ sở của
một máy phát điện số giả ngẫu
nhiên ( PRNG ) . Tương tự như
vậy , một thuật toán mã hóa bất đối xứng rõ ràng sản xuất
sản lượng ngẫu nhiên và có thể được sử dụng để xây dựng một
PRNG . Bởi vì thuật toán bất đối xứng
thường chậm hơn nhiều so với các thuật toán đối xứng , các thuật
toán bất đối xứng
không được sử dụng để tạo ra một kết thúc mở luồng bit PRNG .
Thay vào đó, bất đối xứng
cách tiếp cận rất hữu ích cho việc tạo ra một hàm giả ngẫu nhiên
( PRF ) để tạo ra một
ngắn chuỗi bit giả ngẫu nhiên .
Trong phần này, chúng tôi kiểm tra hai mẫu thiết kế dựa trên giả
ngẫu nhiên PRNG
chức năng .
PRNG Dựa trên RSA
Đối với một độ dài khóa đủ , thuật toán RSA được coi là an toàn và
là một tốt


ứng cử viên để hình thành cơ sở của một PRNG . Như một PRNG ,
được gọi là Micali - Schnorr
PRNG [ MICA91 ] , được khuyến khích trong các tiêu chuẩn ANSI
X9.82 (Random Number
Generation) và tiêu chuẩn ISO 18031 (Random Bit Generation) .
PRNG được minh họa trong hình 10.8.Như có thể được nhìn thấy,

PRNG này có nhiều
cùng một cấu trúc như những phản hồi đầu ra ( OFB ) Chế độ sử
dụng như một PRNG (xem hình 7.3b
và một phần của hình 6.6a kèm theo một hộp tiêu tan ) . Trong
trường hợp này, mã hóathuật toán RSA là sự chứ không phải là một thuật toán mã hóa
khối đối xứng . Ngoài ra, một phần của
đầu ra được đưa trở lại phiên bản kế tiếp của thuật toán mã hóa
và remainsản lượng được sử dụng như là động lực giả ngẫu nhiên .The tách
này
đầu ra thành hai phần riêng biệt là để các bit giả ngẫu nhiên từ
một giai đoạn làm
không cung cấp đầu vào cho các giai đoạn tiếp theo . Tách này sẽ
góp phần để chuyển tiếp
không thể tiên đoán .

CHƯƠNG 10 : Một số khóa công khai hệ thống mã hóa


Chúng tôi có thể xác định PRNG như sau:
Set up : chọn p,q là số nguyên tố; n = pq ; Ø(n) = (p - 1)(q - 1) ; gcd (e,Ø(n)) =
1. Đây là những lựa chọn thiết lập RSA tiêu chuẩn (xem hình 9.5).
Ngoài ra, để N =: |log₂ n|; + 1 (độ dài của n).
chọn r,k với r + k = N
Seed : chọn ngẫu nhiên x₀ với độ dài r
Generate : Tạo ra một chuỗi giả ngẫu nhiên có độ dài k x m bằng cách sử dụng
vòng lặp
For i from 1 to m do
yᵢ = xᵉᵢ₋₁ mod n
xᵢ = r bit lớn nhất của yᵢ
zᵢ = k bit nhỏ nhất của yᵢ

Output : Trình tự đầu ra là ʐ₁ || ʐ₂ || … || ʐm
Các thông số n,r,e and k và được lựa chọn để đáp ứng yêu cầu sau :
1. n = pq
mã cần RSA.

n được chọn là sản phẩm của hai số nguyên tố có sức mạnh mật

2. n < e < ɸ(n) ; gct (e,ɸ(n)) = 1 Đảm bảo rằng các bản đồ s→sᵉ mod n từ 1 đến 1
3. re ≥ 2N

Đảm bảo rằng các lũy thừa đòi hỏi phải có đầy đủ giảm mô-đun

4. r ≥ 2 strength
5.k,r là bội của 8
6.k ≥ 8, k + r = N

Bảo vệ chống lại các cuộc tấn công mã hóa.
Một tiện thực hiện.
tất cả các bit đã đc sử dụng

Sức mạnh biến trong 4 yêu cầu được quy định tại NIST SP 800-90 như sau:


Một số kết hợp với khối lượng công việc (có nghĩa là, số lượng các hoạt động)
cần thiết để phá vỡ một thuật toán mã hóa hoặc hệ thống; một sức mạnh an ninh
là chỉ tường fied trong bit và là một giá trị cụ thể từ tập (112, 128, 192, 256) cho
việc này Khuyến nghị. Số lượng công việc cần thiết là 2strength.
Rõ ràng là có một sự cân bằng giữa r và k. Bởi vì RSA là computation- đồng minh
khá cao so với một thuật toán mã hóa khối, chúng tôi muốn tạo ra càng nhiều bit
giả ngẫu nhiên cho mỗi lần lặp càng tốt và do đó muốn một lớn giá trị của k. Tuy

nhiên, với sức mạnh mật mã, chúng tôi muốn r là lớn như có thể.
Ví dụ, nếu e = 3 và N = 1024, sau đó chúng tôi có sự bất bình đẳng 3r 7 1024, năng
suất một kích thước tối thiểu cần thiết cho r 683 bit. Đối với r thiết lập để kích
thước đó, k = 341 bit được tạo ra cho mỗi lũy thừa (mỗi mã hóa RSA). Trong
trường hợp này, mỗi lũy thừa đòi hỏi chỉ có một mô-đun bình phương của một số
683-bit và một nhân mô-đun. Đó là, chúng ta chỉ cần tính toán (xᵢ * xᵢ2 mod n)
mod n

PRNG Based on Elliptic Curve Cryptography
Trong tiểu mục này, chúng tôi tóm tắt ngắn gọn một kỹ thuật được phát triển bởi
các Quốc gia Hoa Kỳ
Cơ quan An ninh (NSA) được biết đến như hai đường cong elliptic PRNG (DEC
PRNG). Điều này kỹ thuật được khuyến cáo ở NIST SP 800-90, tiêu chuẩn ANSI
X9.82, và Tiêu chuẩn ISO 18031. Hiện đã có một số tranh cãi liên quan đến cả an
ninh và hiệu quả của thuật toán này so với các lựa chọn thay thế khác (ví dụ, xem
[SCHO06], [BROW07])
W07]).
[SCHO06] tóm tắt các thuật toán như sau: Chúng ta hãy P và Q là hai được biết
đến chỉ trên một đường cong elliptic được. Hạt giống của DEC PRNG là một số
nguyên ngẫu nhiên
[SCHO06] tóm tắt các thuật toán như sau: Chúng ta hãy P và Q là hai được biết
đến chỉ trên một đường cong elliptic được. Hạt giống của DEC PRNG là một số


nguyên ngẫu nhiên Trong đó E (GF (p)) là số điểm trên đường cong. Cho x biểu thị
một chức năng cung cấp cho các Phối của một điểm của đường cong.
Hãy biểu thị các bit quan trọng nhất của một số nguyên. DEC PRNG biến hạt giống
vào chuỗi giả ngẫu nhiên chiều dài, như sau

Với những mối quan tâm an ninh bày tỏ cho PRNG này, động lực duy nhất cho sử

dụng của nó sẽ được rằng nó được sử dụng trong một hệ thống đã thực hiện ECC
nhưng không không thực hiện bất kỳ đối xứng khác, không đối xứng, hoặc băm
thuật toán mật mã mà có thể được sử dụng để xây dựng một PRNG.
[KOBL94]. Hai phương pháp điều trị khảo sát thú vị là [FERN99] và
[JURI97].
[ENGE99]. Ngoài ra còn có mô tả tốt nhưng ngắn gọn hơn trong
[KUMA98], [STIN06], và
[KOBL94]. Hai phương pháp điều trị khảo sát thú vị là [FERN99] và
[JURI97].


×