M C L C
L I NÓI Đ U
Ngày nay v iơ sư xuât hiên cua may tinh, cac tai liêu văn ban giây tơ va cac
thông tin quan trong đ u đ cượ hóa va x ly trên may tinh, đ cượ truy n đi
trong môt môi trương ma măc đinh la không an toan. Do đó yêu câu v viêc môt cơ
chê, giai phap đê bao sư an toan va bi mât cua cac thông tin nhay cam, quan trong
ngày càng tr n câp tht. Mât ma hoc chinh la nganh khoa hoc đam bao cho m c
đich nay. Khó có thê thây t ưng dung Tin h c ich nao lai không s dung cac
thuât toan ma hóa thông tin.
Chính vì nhu c u c n thi t c a mã hóa thông tin, nhóm cng e v i s gp đ ế
c a giáo viên Ths. Mai Thanh H ng đã ti n hành m hi u v “H Elgamal” đ cế ượ
bi t đ n là 1 h mã hóa s d ng bài toán Logarit r i r c – m t bài toán khó và ch a cóế ế ư
ph ng pháp gi i hi u qu . Cnh v y đ an toàn kh năng ng d ng c a hươ
elgamal trong mã hóa tng tin cũng r t cao và ph bi n. ế
Cn thành c m n s gp đ c a cô đã gp nhóm em Nm 4_KHMT1- ơ
K4_ĐHCN Hà N i hoàn thành o cáo y.
CH NG I.ƯƠ T NG QUAN V MÃ HÓA
1. Khái ni m
Trong m t mã h c , mã hóa ph ng pháp đ bi n thông tin (ươ ế phim nh, văn
b n, nh nh...) t đ nh d ng nh th ng sang d ng thông tin kng th hi u đ c ườ ượ
n u không ph ng ti nế ươ gi i mã.
- B n rõ (plaintext or cleartext)
Ch a các xâu ký t g c, tng tin trong b n rõ thông tin c n mã h đ gi m t.
- B n mã (ciphertext)
Ch a các ký t sau khi đã đ c mã hoá, mà n i dung đ c gi m t. ượ ượ
- M t mã h c (Crytography)
ngh thu t và khoa h c đ gi thông tin đ c an tn. ượ
-S mã h (Encryption)
Quá tnh che d u thông tin b ng ph ng pp nào đó đ l àm n n i dung bên trong ươ
g i là s mã hoá.
-S gi i (Decryption)
Quá tnh bi n đ i tr l i b n mã b n thành b n rõ g i là gi i mã.ế
-Quá tnh gi i mã mã hóa
2. Thành ph n c a 1 h th ng m t mã
-H mt : là mt h bao gm 5 thành phn (P, C, K, E, D) th a mãn các tính
ch t sau:
P (Plaintext)tp hp hu hn các b n rõ có th .
C (Ciphertext) là tp hp hu hn các b n mã có th .
K (Key) là tp hp các b n khoá th .
E (Encrytion) là tp hp các qui tc mã hoáth .
D (Decrytion) là tp hp các qui tc gii mã có th .
Quá tnh a đ c ti n hành b ng cách áp d ngượ ế m toán h c En tng
tin P, v n đ c bi u di n d i d ng s , đ tr thành thông tin đã hóa ượ ướ C.
Quá tnh gi i mã đ c ti n hành ng c l i: áp d ngm ượ ế ượ Dn thông tin C đ
đ c thông tin đã gi i ượ P.
3. Khóa
3.1. Đ dài khóa
Đ an toàn ca thut toán hoá c đin ph thu c vào hai điu đó đ dài
ca thut toán đ dài ca khoá. Nhưng đ dài ca khoá d b l hơn. Gi s
rng đ dài ca thut toán tưởng, k khăn ln lao này th đ t được
trong thc hành. Hoàn toàn nghĩa không cách nào b y được h thng mã
hoá tr khi c gng th vi mi khoá. Nếu khoá dài 8 bits thì 28 = 256 khoá
th. Nếu khdài 56 bits, t
2
56 khoá th. Gi s rng siêu máy tính có th
thc hin 1 triu phép tính mt giây, cũng s cn ti 2000 m đ tìm ra kh
thích hp. Nếu khoá dài 64 bits, thì vi y nh tương t cũng cn ti xp x
600,000 năm đ tìm ra khoá trong s 2
64
kh th. Nếu kh i 128 bits,
cn ti 10 25 m , trong khi vũ tr ca chúng ta ch tn ti c 1010 năm. Nh ưvy
vi 1025 năm th đ dài. Trước khi bn gi đi phát minh h hoá vi 8
Kbyte đ dài khoá, bn nên nh rng m t na khác cũng không m phn quan
trng đó thut toán phi an toàn nghĩa không cách nào b gãy tr khi tìm
được khóa tch hp. Điu này không d dàng nhìn thy đưc, h thng hoá
như m t ngh thut huyn o. M t đim quan trng khác đ an toàn c a h
thng hoá nên ph thu c vào khoá, không nên ph thu c
v
ào chi tiết ca thut
toán. Nếu đi ca h thng mã hoá mi tin rng trong thc tế k tn công không
th biết ni dung bên trong c a thut toán. Nếu bn tin rng gi mt ni
dung ca thut toán, tn d ng đ an toàn ca h thng hơn phân tích nhng
thuyết
s
hu chung thì bn đã nhm. Và tht ngây thơ hơn khi nghĩ rng m t ai đó
không th g tung mã ngun ca bn hoc đo ngược li thut toán.
Gi s rng mt vài k thám th biết hết tt c chi tiết v thut toán
c a bn. Gi s rng h rt nhiu bn mã, như h mong mu n. Gi s h
mt khi lượng bn tn công vi rt nhi u d liu cn thiết. Thm chí gi s
rng h th la chn bn tn ng. Nếu như h thng hoá c a th
dư tha đ an toàn trong tt c mi mt, thì bn đã đ đ an toàn bn cn.
3.2. Qu n khóa công khai
Trong th c tế, qun khoávn đ khó nh t ca an toàn h hoá.. Đ
thiết kế an toàn thut toán hoá m t vic không phi d dàng nhưng đ to
lưu tr khmt m t điu khó hơn. K thám thường tn công c hai
h hđi xng công khai thông qua h qun lý kh ca chúng.
Đ i vi h mã hoá công khai vic qun khoá d hơn đi vi h hoá đi
xng, nhưng m t vn đ riêng duy nht M i người ch mt khoá ng
khai, b t k s người trên mng bao nhiêu.
3.3. Chng nhn khoá công khai
Chng nhn khoá công khai xác đnh khoá thu c v m t ai đó, được qun lý
bi mt người đáng tin cy. Chng nhn đ s d ng vào vic cn tr s c g ng
thay thế mt khoá này bng m t khoá khác.
lưu tr thông tin v Bob như n, đa ch, ... được viết bi ai đó
Eva tin tưởng, người đó thường gi CA(certifying authority). B ng cách xác
nhn c kh thông tin v Bob. CA xác nhn thông tin v Bob đúng
khoá công khai thu c quyn s hu ca Bob. Eva kim tra li các du hiu và sau
đó y th s d ng khoá công khai, s an toàn cho Bob không m t ai khác
biết.
3.4. Qu n khóa phân ph i
Trong m t vài trường hp, trung tâm qun l ý khth không làm vi c. Có
l không có m t CA (certifying authority)o Eva và Bob tin t ngưở
.
l h ch
tin tưởng bn thân thiết hoc h không tin tưởng bt c ai. Qun khoá phân
phi, s d ng trong nhng chương trình min công khai, gii quyết vn đ này vi
ngưi gii thiu (introducers). Người gii thiu là mt trong nhng người dùng
khác ca h thng anh ta là người nhn ra khng khai ca bn anh ta.
4. Các h m t mã
4.1. H m t mã đ i x ng
Thut toán đi xng hay còn gi thut toán h c đin. Thut toán này còn
nhiu n gi khác như thut toán khmt, thut toán khoá đơn gin, thut
toán mt khoá.
thut toán ti đó khhoá th tính toán ra được t khgii mã.
Trong rt nhiu trường hp, khh khgii mã là ging nhau.
Thut toán y yêu cu người gi người nhn phi tho thun mt khoá
trước khi thông báo được g i đi, khoá này phi được ct gi mt. Đ an toàn