Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 38 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
38
Dung lượng
2,14 MB
Nội dung
BẢO MẬT THÔNG TIN BÀI 4: MÃ HÓA CÔNG KHAI Nguyễn Hữu Thể 1 Nội dung − Lý thuyết số học − Mã hóa công khai − Mã hóa RSA − Demo giải thuật RSA 2 Lý thuyết số học − Phép chia modulo − Ước số − Số nguyên tố − Số nguyên tố cùng nhau − Phần tử nghịch đảo của phép chia modulo − Ước chung lớn nhất 3 Phép chia modulo 4 Ước số, số nguyên tố, số nguyên tố cùng nhau 5 Phần tử nghịch đảo của phép chia modulo 6 Ước chung lớn nhất - Thuật toán Euclid 7 Mã hóa khóa công khai − Mã hóa khóa công khai (public key cryptography) Còn gọi là mã hóa bất đối xứng (asymetric cryptography). Whitfield Diffie và Martin Hellman đã đề xuất 1976 ⇒Bước đột phá quan trọng trong lĩnh vực mã hóa. 8 Mã hóa khóa công khai − Sử dụng hai loại khóa trong cùng một cặp khóa: Khóa công khai (public key) được công bố rộng rãi => dùng mã hóa thông tin. Khóa riêng (private key) => dùng giải mã thông tin đã được mã hóa bằng khóa công khai. 9 Mã hóa khóa công khai 10 [...]... 17 347 2598220 649 75327 945 07039828182730 843 936509 841 590 842 5990 346 6385766008322 544 4 045 15888510877 043 858 542 3 9 7895236620972 540 0123335 648 687820 641 9286859192517172993767966811019 048 040 6679 246 2013289097 640 737 946 35801 6 7225992881 649 72 048 4380123172656727615786 149 261355089883 643 7 940 632 148 252329856 740 147 250978512 040 42902286 7 43 82 644 83713616 744 783220016925 743 248 236511606256 140 717 943 22630 344 80 649 5 743 441 346 4 844 27 849 649 57520293167... 987356 640 02679136967 740 131825 246 08359 540 77251217326638508 242 1156080 347 563695317979813253281722517 947 039 6 166 947 3766 245 9127 044 56 640 49 148 83177381392107 647 6358 540 78995802 143 321617711926 643 344 1 342 842 245 5516130383 4 939 043 99590798559679 943 796 746 447 0 647 9 541 3526 848 4176286326015232 142 79881105 642 52793 247 5513873730 341 977 74 2 040 19 641 015 040 17312 149 5638 649 215377223892957519280811619222671099080192925059213191616 944 490977501171 74 9 759067929 348 60821560992 047 8 149 52822 946 086196705618 742 8 047 680706 840 9 147 46786 640 6126677 340 806803383... 68709612 144 29 045 4980208960 241 378779026 243 646 17818 846 4697231 340 002 942 280288982616266622281152132397363 34 4 8723196992 142 841 27762 643 843 749 4261092665706052 041 120 843 700016565 647 38792805 941 02593351957708 042 1569 646 1 8 7 041 8 042 8551728619286301033293 543 346 1923689633995 345 032 945 60878601598670103672610305635865 544 3260 749 038 6 278065280766355362 649 646 877319819 045 85079237 044 5 645 3318 040 9993260236818 648 8572880970 542 843 3 143 246 916226... 126 142 0235253 240 441 6099 747 848 50980 347 031132860017390869 748 91877 249 8980 646 471555893927797 347 620 147 036228 5 51220 240 2233276082 141 9062126358385 642 9263992038316079956235 945 170 947 9977 148 086291302 344 8257819 14 − decrypted = 46 837059675 147 37890505865272090853126753735085 742 09362833696532109069505 945 508 943 33 844 83027851157308709 6 63873509787367 648 7195878 647 1100660600256637265 749 78271339687 241 089826983 142 73253 643 6097 747 2987 144 256923... 759067929 348 60821560992 047 8 149 52822 946 086196705618 742 8 047 680706 840 9 147 46786 640 6126677 340 806803383 − message = 46 837059675 147 37890505865272090853126753735085 742 09362833696532109069505 945 508 943 33 844 83027851157308709 6 63873509787367 648 7195878 647 1100660600256637265 749 78271339687 241 089826983 142 73253 643 6097 747 2987 144 256923 0 16798032522 745 2 747 2687811527823201 946 79618315912533 141 376926679376 945 1396216398628109075 946 170173528 − encrypted = 68709612 144 29 045 4980208960 241 378779026 243 646 17818 846 4697231 340 002 942 280288982616266622281152132397363 34. .. 43 82 644 83713616 744 783220016925 743 248 236511606256 140 717 943 22630 344 80 649 5 743 441 346 4 844 27 849 649 57520293167 7 46 333837299278 642 107 645 6 843 5357999587527 345 008750302 145 1152603696339357056279330761 347 82383523963829358 4 542 87709686958577090 346 3180099185216958 946 4670556769211510087 140 69985381 140 58695 643 313 749 649 86809 − 9 modulus = 177790300991 840 5788980370525980770696502 341 10225 942 8128032898866 849 6810220328298063 742 4219995372 646 6936 987356 640 02679136967 740 131825 246 08359 540 77251217326638508 242 1156080 347 563695317979813253281722517 947 039... như sau: và để giải mã khối C, ta sử dụng công thức: 13 Mô tả giải thuật RSA − Cả người gởi và người nhận đều phải biết n − Người gởi (có nhiệm vụ mã hóa bản rõ) biết giá trị của e, và chỉ có người nhận mới biết giá trị của d Khóa công khai (public key) KU={e, n} Khóa bí mật (private key) KR = {d, n} 14 Giải thuật RSA 15 Giải thuật RSA − Giả sử người dùng A đã công bố khóa công khai của mình v à... dùng khó a công khai của A (gồm 2 số e và n) để mã hóa thông điệp M the o công thức: − Sau đó B gởi bản mã C cho A Khi A nhận được C, A sẽ dùn g khóa cá nhân của mình (gồm 2 số d và n) để giải mã: − Như thế A sẽ nhận được bản rõ của thông điệp M mà B muố n gởi cho anh ta Vì d được giữ bí mật và chỉ có mình A biết d nên ngoài A ra không ai có thể giải mã được C 16 Giải thuật RSA - Ví dụ 1 Sinh khóa: kích... – 1) = 4 × 2 = 8 Chọn e sao cho 1 < e < ϕ(n) và nguyên tố cùng nhau với ϕ(n) = 8; ta chọn e = 3 4 Tính d sao cho 1 < d < ϕ(n) và ed ≡ 1 mod ϕ(n) - Tính được d = 3, vì 3 × 3 mod 8 = 1 5 Nhận được khóa công khai KU = {e, n} = {3, 15} 6 Khóa bí mật KR = {d, n} = {3, 15} ⇒ Mã hóa: M = 2 Tính: C=M^e mod n = 2^3 mod 15 = 8 ⇒ Giải mã: M = C^d mod n = 8^3 mod 15 = ((8^2 mod 15)(8 mod 15))mod 15 = ( 64 mod 15)(8... 46 837059675 147 37890505865272090853126753735085 742 09362833696532109069505 945 508 943 33 844 83027851157308709 6 63873509787367 648 7195878 647 1100660600256637265 749 78271339687 241 089826983 142 73253 643 6097 747 2987 144 256923 0 16798032522 745 2 747 2687811527823201 946 79618315912533 141 376926679376 945 1396216398628109075 946 170173528 RSA 34 RSA 35 . => dùng giải mã thông tin đã được mã hóa bằng khóa công khai. 9 Mã hóa khóa công khai 10 RSA − Là phương pháp mã hóa khóa công khai. − Ron Rivest, Adi Shamir và Len Adleman tại. loại khóa trong cùng một cặp khóa: Khóa công khai (public key) được công bố rộng rãi => dùng mã hóa thông tin. Khóa riêng (private key) => dùng giải mã thông tin đã được mã hóa bằng. BẢO MẬT THÔNG TIN BÀI 4: MÃ HÓA CÔNG KHAI Nguyễn Hữu Thể 1 Nội dung − Lý thuyết số học − Mã hóa công khai − Mã hóa RSA − Demo giải thuật RSA 2 Lý thuyết