1. Trang chủ
  2. » Tất cả

Tieu luan Ma hoa du lieu va ung dung

7 7 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 176,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

- Dựa vào bảng trên, ta có kết quả giải mã như sau : bnnlenuggangitcyg.drati.auiia.

Trang 1

TIỂU LUẬN

Phần 1 : Hệ mã đối xứng

- Mã hóa : họ tên + quê quán (huyện + tỉnh)

VD :- Chuỗi cần mã : PhanVinhTungHuongThuyThuaThienHue

- Mã Ceasar : k = 5

- Affine : a = 7 và b = 3

- Reilfence : k = 5 dòng kẻ

- Vigence : khóa : hue

- PlayFair : khóa : rachmieu

- Giải mã tương ứng

Phần II : lập và giải mã tên học viên theo 2 hệ mã mũ ElGamal (tự chọn khóa kB > 10

và p = 101, g = 2) và RSA

GIẢI QUYẾT

Phần 1 : Hệ mã đối xứng

1 1 Mã hóa :

- Chuỗi cần mã : buidangtrungcailaytiengiang

1 1 1 Mã Ceasar : k = 5

- Bảng mã tương ứng với k = 5

1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3

f g h i j k l m n o p q r

1 4

1 5

1 6

1 7

1 8

1 9

2 0

2 1

2 2

2 3

2 4

2 5

2 6

s t u v w x y z a b c d E

- Chiếu tương ứng từng cột ta có quy tắc mã hóa như sau : a = f, b = g, c = h, ,

y = d, z = e

- Áp dụng quy tắc mã hóa vào chuỗi cần mã hóa, ta có bảng sau :

b u i d a n g t r u n g c a

g z n i f s l y w z s l h f

i l a y t i e n g i a n g

n q f d y n j s l n f s l

- Ta có kết quả mã hóa như sau :

1 1 2 Mã Affine : a = 7 và b = 3

- Hàm mã hóa : Ta chọn n = 26 (bảng chữ cái tiếng Anh), mà gcd(26, 7) = 1 nên

ta có hàm mã hóa cho từng ký tự là : E(x) = (ax + b) mod n

- Lập bảng :

Trang 2

-0 0

0 1

0 2

0 3

0 4

0 5

0 6

0 7

0 8

0 9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

2 0

2 1

2 2

2 3

2 4

2 5

- Chuỗi ban đầu có giá trị lần lượt là :

01 20 08 03 00 13 06 19 17 20 13 06 02 00

08 11 00 24 19 08 04 13 06 08 00 13 06

- Áp dụng hàm mã hóa cho từng ký tự :

E(01) = 7 01 + 3 mod 26 = 10 mod 26 (tương ứng ký tự k)

E(20) = 7 20 + 3 mod 26 = 13 mod 26 (tương ứng ký tự n)

E(08) = 7 08 + 3 mod 26 = 07 mod 26 (tương ứng ký tự h)

E(03) = 7 03 + 3 mod 26 = 24 mod 26 (tương ứng ký tự y)

E(00) = 7 00 + 3 mod 26 = 03 mod 26 (tương ứng ký tự d)

E(13) = 7 13 + 3 mod 26 = 16 mod 26 (tương ứng ký tự q)

E(06) = 7 06 + 3 mod 26 = 19 mod 26 (tương ứng ký tự t)

E(19) = 7 19 + 3 mod 26 = 06 mod 26 (tương ứng ký tự g)

E(17) = 7 17 + 3 mod 26 = 18 mod 26 (tương ứng ký tự s)

E(20) = 7 20 + 3 mod 26 = 13 mod 26 (tương ứng ký tự n)

E(13) = 7 13 + 3 mod 26 = 16 mod 26 (tương ứng ký tự q)

E(06) = 7 06 + 3 mod 26 = 19 mod 26 (tương ứng ký tự t)

E(02) = 7 02 + 3 mod 26 = 17 mod 26 (tương ứng ký tự r)

E(00) = 7 00 + 3 mod 26 = 03 mod 26 (tương ứng ký tự d)

E(08) = 7 08 + 3 mod 26 = 07 mod 26 (tương ứng ký tự h)

E(11) = 7 11 + 3 mod 26 = 02 mod 26 (tương ứng ký tự c)

E(00) = 7 00 + 3 mod 26 = 03 mod 26 (tương ứng ký tự d)

E(24) = 7 24 + 3 mod 26 = 15 mod 26 (tương ứng ký tự p)

E(19) = 7 19 + 3 mod 26 = 06 mod 26 (tương ứng ký tự g)

E(08) = 7 08 + 3 mod 26 = 07 mod 26 (tương ứng ký tự h)

E(04) = 7 04 + 3 mod 26 = 05 mod 26 (tương ứng ký tự f)

E(13) = 7 13 + 3 mod 26 = 16 mod 26 (tương ứng ký tự q)

Trang 3

E(08) = 7 08 + 3 mod 26 = 07 mod 26 (tương ứng ký tự h)

E(00) = 7 00 + 3 mod 26 = 03 mod 26 (tương ứng ký tự d)

E(13) = 7 13 + 3 mod 26 = 16 mod 26 (tương ứng ký tự q)

E(06) = 7 06 + 3 mod 26 = 19 mod 26 (tương ứng ký tự t)

- Ta có kết quả mã hóa như sau :

1 1 3 Mã Reilfence : k = 5 dòng kẻ

- Viết chuỗi cần mã hóa theo chiều dọc trên 5 dòng, ta được bảng sau (các ô trống, ta điền ký tự .) :

B N N L E N

U G G A N G

I T C Y G .

- Ta có kết quả mã hóa như sau :

1 1 4 Mã Vigence :

- Khóa : hue, ta có bảng sau :

a b c d e f g h i j k l m

K1 h i j k l m n o p q r s t

n o p q r s t u v w x y z

K1 u v w x y z a b c d e f g

a b c d e f g h i j k l m

K2 u v w x y z a b c d e f g

n o p q r s t u v w x y z

K2 h i j k l m n o p q r s t

a b c d e f g h i j k l m

K3 e f g h i j k l m n o p q

n o p q r s t u v w x y z

K3 r s t u v w x y z a b c d

- Chia chuỗi cần mã hóa theo bộ 3 để mã hóa, ta có bảng sau :

K3 K1 K2 K3 K1 K2 K3 K1 K2 K3 K1 K2 K3

Trang 4

- Ta có kết quả mã hóa như sau :

1 1 5 Mã PlayFair :

- Khóa : rachmieu

- Tạo bảng sau để mã hóa :

r a c h m

i e u b d

f g j k l

n o p q s

t v x y z

- Chuỗi cần mã hóa được tách thành bộ 2 ký tự như sau (do độ dài chuỗi là 27,

nên ta thêm 1 ký tự x vào cuối chuỗi) :

bu id an gt ru ng ca il ay ti en gi an gx

- Chiếu từng cặp sau khi tách chuỗi vào bảng mã hóa, ta được kết quả :

BU = DB (Cùng hàng) IL = DF (Khác hàng, khác cột)

ID = EI (Cùng hàng) AY = HV (Khác hàng, khác cột)

AN = RO (Khác hàng, khác cột) TI = RF (Khác hàng, khác cột)

GT = FV (Cùng cột) EN = IO (Khác hàng, khác cột)

RU = CI (Khác hàng, khác cột) GI = FE (Khác hàng, khác cột)

NG = OF (Khác hàng, khác cột) AN = RO (Khác hàng, khác cột)

CA = HC (Cùng hàng) GX = JV (Khác hàng, khác cột)

- Ta có kết quả mã hóa như sau :

1 2 Giải mã :

- Chuỗi cần giải mã : buidangtrungcailaytiengiang

1 1 1 Mã Ceasar :

- Chuỗi cần giải mã : gznijslywzslhfnqfdynjslnfsl

- Ta có bảng mã hóa như sau :

1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3

f g h i j k l m n o p q r

1 4

1 5

1 6

1 7

1 8

1 9

2 0

2 1

2 2

2 3

2 4

2 5

2 6

s t u v w x y z a b c d e

- Chiếu tương ứng từng cột ta có quy tắc mã hóa như sau : a = f, b = g, c = h, ,

y = d, z = e

- Ta có kết quả giải mã như sau :

gznifslywzslhfnqfdynjslnfsl decrypt

Ceasar

1 1 2 Mã Affine : a = 7 và b = 3

Trang 5

- Hàm mã hóa : Ta chọn n = 26 (bảng chữ cái tiếng Anh), mà gcd(26, 7) = 1 nên

ta có hàm giải mã cho từng ký tự là : D(x) = a-1(x – b) mod n

- Lập bảng :

0 0

0 1

0 2

0 3

0 4

0 5

0 6

0 7

0 8

0 9

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

1 8

1 9

2 0

2 1

2 2

2 3

2 4

2 5

- Chuỗi ban đầu có giá trị lần lượt là : knhydqtgsnqtrdhcdpghfqthdqt

10 13 07 24 03 16 19 06 18 13 16 19 17 03

07 02 03 15 06 07 05 16 19 07 03 16 19

- Áp dụng hàm giải mã cho từng ký tự :

D(10) = 7-1(10 – 3) mod 26 = 01 mod 26 (tương ứng ký tự b)

D(13) = 7-1(13 – 3) mod 26 = 20 mod 26 (tương ứng ký tự u)

D(07) = 7-1(07 – 3) mod 26 = 08 mod 26 (tương ứng ký tự i)

D(24) = 7-1(24 – 3) mod 26 = 03 mod 26 (tương ứng ký tự d)

D(03) = 7-1(03 – 3) mod 26 = 00 mod 26 (tương ứng ký tự a)

D(16) = 7-1(16 – 3) mod 26 = 13 mod 26 (tương ứng ký tự n)

D(19) = 7-1(19 – 3) mod 26 = 06 mod 26 (tương ứng ký tự g)

D(06) = 7-1(06 – 3) mod 26 = 19 mod 26 (tương ứng ký tự t)

D(18) = 7-1(18 – 3) mod 26 = 17 mod 26 (tương ứng ký tự r)

D(13) = 7-1(13 – 3) mod 26 = 20 mod 26 (tương ứng ký tự u)

D(16) = 7-1(16 – 3) mod 26 = 13 mod 26 (tương ứng ký tự n)

D(19) = 7-1(19 – 3) mod 26 = 06 mod 26 (tương ứng ký tự g)

D(17) = 7-1(17 – 3) mod 26 = 02 mod 26 (tương ứng ký tự c)

D(03) = 7-1(03 – 3) mod 26 = 00 mod 26 (tương ứng ký tự a)

D(07) = 7-1(07 – 3) mod 26 = 08 mod 26 (tương ứng ký tự i)

D(02) = 7-1(02 – 3) mod 26 = 11 mod 26 (tương ứng ký tự l)

D(03) = 7-1(03 – 3) mod 26 = 00 mod 26 (tương ứng ký tự a)

D(15) = 7-1(15 – 3) mod 26 = 24 mod 26 (tương ứng ký tự y)

D(06) = 7-1(06 – 3) mod 26 = 19 mod 26 (tương ứng ký tự t)

D(07) = 7-1(07 – 3) mod 26 = 08 mod 26 (tương ứng ký tự i)

D(05) = 7-1(05 – 3) mod 26 = 04 mod 26 (tương ứng ký tự e)

D(16) = 7-1(16 – 3) mod 26 = 13 mod 26 (tương ứng ký tự n)

D(19) = 7-1(19 – 3) mod 26 = 06 mod 26 (tương ứng ký tự g)

Trang 6

-D(07) = 7-1(07 – 3) mod 26 = 08 mod 26 (tương ứng ký tự i)

D(03) = 7-1(03 – 3) mod 26 = 00 mod 26 (tương ứng ký tự a)

D(16) = 7-1(16 – 3) mod 26 = 13 mod 26 (tương ứng ký tự n)

D(19) = 7-1(19 – 3) mod 26 = 06 mod 26 (tương ứng ký tự g)

- Ta có kết quả giải mã như sau :

knhydqtgsnqtrdhcdpghfqthdqt decrypt

Affine

1 1 3 Mã Reilfence :

- Chuỗi cần giải mã : bnnlenuggangitcyg.drati.auiia.

- Lập k = 5 nhóm có số ký tự bằng nhau :

bnnlen uggang itcyg drati auiia.

- Điền các nhóm ký tự vào bảng sau để giải mã :

b n n l e n

u g g a n g

i t c y g

d r a t i

a u i i a

- Dựa vào bảng trên, ta có kết quả giải mã như sau :

bnnlenuggangitcyg.drati.auiia Re

decrypt ilfence

1 1 4 Mã Vigence :

- Khóa : hue, ta có bảng sau :

a b c d e f g h i j k l m

K1 h i j k l m n o p q r s t

n o p q r s t u v w x y z

K1 u v w x y z a b c d e f g

a b c d e f g h i j k l m

K2 u v w x y z a b c d e f g

n o p q r s t u v w x y z

K2 h i j k l m n o p q r s t

a b c d e f g h i j k l m

K3 e f g h i j k l m n o p q

n o p q r s t u v w x y z

K3 r s t u v w x y z a b c d

- Chia chuỗi cần mã hóa theo bộ 3 để mã hóa, ta có bảng sau :

K3 K1 K2 K3 K1 K2 K3 K1 K2 K3 K1 K2 K3

Trang 7

- Ta có kết quả giải mã như sau :

Vigence

1 1 5 Mã PlayFair :

- Khóa : rachmieu

- Tạo bảng sau để giải mã :

r a c h m

i e u b d

f g j k l

n o p q s

t v x y z

- Chuỗi cần mã hóa được tách thành bộ 2 ký tự như sau (do độ dài chuỗi là 27,

nên ta thêm 1 ký tự x vào cuối chuỗi) :

db ei ro fv ci of hc df hv rf io fe ro jv

- Chiếu từng cặp sau khi tách chuỗi vào bảng mã hóa, ta được kết quả :

DB = BU (Cùng hàng) DF = IL (Khác hàng, khác cột)

EI = ID (Cùng hàng) HV = AY (Khác hàng, khác cột)

RO = AN (Khác hàng, khác cột) RF = TI (Khác hàng, khác cột)

FV = GT (Cùng cột) IO = EN (Khác hàng, khác cột)

CI = RU (Khác hàng, khác cột) FE = GI (Khác hàng, khác cột)

OF = NG (Khác hàng, khác cột) RO = AN (Khác hàng, khác cột)

HC = CA (Cùng hàng) JV = GX (Khác hàng, khác cột)

- Ta có kết quả mã hóa như sau :

dbeirofvciofhcdfhvrfioferojv decrypt

PlayFair

Phần 2 :

2 1 Hệ mã mũ ElGamal :

2 1 1 Mã hóa :

2 1 2 Giải mã :

2 2 Hệ mã RSA :

2 2 1 Mã hóa :

2 2 2 Giải mã :

Ngày đăng: 03/08/2016, 10:33

w