Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

Ôn tập môn: Mật mã và độ phức tạp thuật toán

1. Máy turing
1.1. Mô tả

Ở dạng đơn giản và thông dụng, máy Turing có thể được mô tả với các bộ
phận sau:

• Một dải băng (dài vô hạn), ở trên có nhiều ô. Mỗi ô có ghi một ký tự, và
ký tự này có thể được đọc ra bên ngoài, hoặc được bên ngoài ghi đè lên
(thay thế bằng ký tự khác). Các ký tự thuộc một bảng ký tự hữu
hạn V (tức là có hữu hạn các ký tự), trong đó có một ký tự đặc biệt gọi
là ký tự trống. Các ô trên dải băng chưa bao giờ được ghi đè lên từ bên
ngoài, luôn được coi là có ghi sẵn ký tự trống.

Đầu đọc trên máy Turing

• Một đầu đọc và ghi, chạy trên dải băng (hoặc đứng yên cho dải băng
chạy qua). Tại một thời điểm, đầu đọc này có thể thực hiện một trong 4
nhiệm vụ:
o Đọc ký tự trên ô mà đầu đọc đang nằm trên nó.
o Ghi ký tự mới lên ô mà đầu đọc đang nằm trên nó.
o Di chuyển sang ô bên trái
o Di chuyển sang ô bên phải

Ghi nhớ trạng thái trên máy Turing

• Một bộ phận ghi nhớ lại các trạng thái của máy Turing. Tại một thời
điểm, máy Turing luôn ở một trong số hữu hạn các trạng thái, và bộ ghi
nhớ cho biết máy đang ở trạng thái nào. Tập tất cả các trạng thái có thể
ký hiệu là S. Trong số các trạng thái, có trạng thái khởi động (hay trạng
thái ban đầu), mặc định là máy Turing sẽ luôn ở trạng thái này khi bắt
đầu hoạt động (ví dụ khi bật máy lên).
• Một hàm chuyển trạng thái hay bảng câu lệnh quy định hoạt động của
máy Turing. Bảng này thường là danh sách chứa các quy tắc có dạng
Si Ci → Sj Cj Dj. Ở đây Si, Sj là các trạng thái trong S. Ci, Cj là các ký tự
trong bảng ký tự V (đọc được từ băng hoặc ghi lên băng). Dj là một trong
2 hướng di chuyển của đầu đọc, sang trái hoặc sang phải. Quy tắc
Si Ci → Sj Cj Dj có thể hiểu là: nếu máy đang ở trạng thái Si và đầu đọc
đọc được ký tự Ci thì thực hiện các công việc sau:
o Ghi đè ký tự Cj lên ô mà đầu đọc đang nằm trên
o Di chuyển đầu đọc lệch một ô theo hướng D j (sang trái hoặc
phải)
o Chuyển máy sang trạng thái Sj và ghi nhớ nó vào bộ ghi nhớ
trạng thái.
Trong một số mô hình, nếu máy đang ở trạng thái Si và đầu đọc đọc được ký
tự Ci, nhưng chưa có quy tắc nào quy định việc hành xử của máy lúc đó, thì
máy được dừng lại và không tiếp tục chạy nữa.
Trong số các trạng thái trong S, có thể quy định ra những trạng thái được gọi
là trạng thái kết thúc. Trong lý thuyết về ngôn ngữ hình thức, nếu một đoạn
ký tự (gọi là một từ hay một câu) ghi trên dải băng đưa máy Turing chạy từ
trạng thái ban đầu đến một trong số các trạng thái kết thúc thì câu viết đó
được gọi là đoán nhận bởi máy Turing đã cho.
Ngoài mô hình đã miêu tả, còn có nhiều dạng khác như dải băng chỉ có một
đầu (trái hoặc phải) là vô tận; hoặc máy có nhiều dải băng, nhiều đầu đọc,...
tuy nhiên tất cả các máy đó đều có hoạt động tương đương với máy đã mô
tả. Cụ thể hơn, trong lý thuyết ngôn ngữ hình thức, nếu có thể xây dựng máy
theo một dạng bất kỳ đoán nhận một tập hợp các từ nào đó, thì luôn có thể
xây dựng máy Turing theo dạng đã mô tả ở trên đoán nhận cùng tập hợp các
từ này.
Định nghĩa máy Turing;
Một máy Turing là một bộ năm (K, Σ, δ, s, H), với:
− K là một tập hữu hạn các trạng thái;
− Σ là một bảng chữ cái, chứa đựng kí tự khoảng trống/dấu cách t và kí tự
trái nhất ., nhưng không chứa các ký tự ← và →;
− s ∈ K là trạng thái khởi đầu;
− H ⊆ K là tập trạng thái kết thúc;
− δ, hàm chuyển, là một hàm từ (K − H) × Σ sang K × (Σ ∪ {←, →}) sao
cho:
(a) với mọi q ∈ K − H, nếu δ(q, .) = (p, b) thì b =→.
(b) với mọi q ∈ K − H và a ∈ Σ, nếu δ(q, a) = (p, b) thì b 6= .. SAMI-HUST
2021 Mật mã và độ phức tạp thuật toán
Định nghĩa cấu hình máy Turing:
Một cấu hình (configuration) của máy Turing M = (K, Σ, δ, s, H) là một
phần tử của K × .Σ ∗ × (Σ∗ (Σ − {t}) ∪ {ε}).
Chú ý:
− Mọi cấu hình đều được giả thiết là bắt đầu bởi ký hiệu trái nhất và không
bao giờ kết thúc với một dấu cách trừ khi dấu cách đang là ký tự hiện tại
được đọc. Vì vậy, (q, .a, aba),(h, . t tt, ta) và (q, . t a t t, ε) là các cấu hình,
nhưng (q, .baa, a, bct)-> do có 4 thành phần và (q, taa, ba) thì không phải->
do không có kí tự trái nhất
− Một cấu hình mà thành phần của nó có chứa trạng thái trong H được gọi là
một cấu hình dừng (halted configuration).
− Ta cũng qui ước dùng một kí hiệu đơn giản để mô tả nội dung băng vào
của cấu hình. Cụ thể, ta sẽ viết ωau để diễn tả nội dung băng vào của cấu
hình (q, ωa, u). Kí hiệu được gạch dưới chỉ ra vị trí của đầu đọc. Từ đây, ta
có thể viết gọn, chẳng hạn (q, ωau) thay cho (q, ωa, u). SAMI-HUST 2021
Mật mã và độ phức tạp thuật toán 19 /
1.2. Giải thích hoạt động
Đầu đọc di chuyển theo bảng trạng thái, máy turing thực hiện từng
bước 1, đến khi gặp trạng thái dừng thì dừng.
Qui tắc kết hợp các máy Turing cơ bản
Mỗi máy Turing cơ bản giống như một trạng thái của một otomat hữu
hạn. Cách kết hợp các máy Turing cơ bản tương tự cách kết nối các
trạng thái của một otomat hữu hạn với nhau. Tuy nhiên cần lưu ý là
việc kết nối từ máy này tới máy khác chỉ có hiệu lực khi máy thứ nhất
dừng và máy thứ hai bắt đầu từ trạng thái khởi đầu của nó với băng
vào và vị trí đầu đọc như ở thời điểm máy thứ nhất dừng.
* Ví dụ, cho M1, M2 và M3 là ba máy Turing cơ bản. Ta có một máy
Turing kết hợp làm việc như sau:
M1 A M2
B

M3
Quy tắc kết hợp các máy Turing đơn giản:

Giả sử M1 = (K1, Σ, δ1, s1, H1), M2 = (K2, Σ, δ2, s2, H2) và M3 = (K3, Σ,
δ3, s3, H3). Giả sử T3 i=1 Ki = ∅. Khi đó ta có M = (K, Σ, δ, s, H)

với: K = K1 ∪ K2 ∪ K3, s = s1, H = H2 ∪ H3.

Với mỗi σ ∈ Σ và q ∈ K − H, δ(q, σ) được định nghĩa như sau:

(a) Nếu q ∈ K1 − H1 thì δ(q, σ) = δ1(q, σ).

(b) Nếu q ∈ K2 − H2 thì δ(q, σ) = δ2(q, σ).

(c) Nếu q ∈ K3 − H3 thì δ(q, σ) = δ3(q, σ).

(d) Cuối cùng, nếu q ∈ H1 - trường hợp duy nhất - thì δ(q, σ) = s2 nếu σ = a,
δ(q, σ) = s3 nếu σ = b, và ngược lại δ(q, σ) ∈ H.

Mô tả hoạt động máy Turing sau:

Mô tả họat động của máy turing:

o Ban đầu đầu đọc dịch phải tới khi gặp cách thì dừng
o Dịch phải nếu gặp a khác cách thì ghi đè cách rồi dịch phải đến
khi gặp cách thì ghi đè a (2 lần), dịch trái đến khi gặp cách thì
ghi đè a( 2 lần) xong quay lại ban đầu.
1.3. Xác định ngôn ngữ đoán nhận
Định nghĩa : Cho máy Turing M = (K, Σ, δ, s, H) với H = {y, n} gồm
hai trạng thái dừng phân biệt (y và n tương ứng với "yes" và "no").
Bất kỳ cấu hình nào có chứa thành phần y được gọi là cấu hình chấp
nhận, còn cấu hình chứa thành phần n được gọi là cấu hình bác bỏ. Ta
nói rằng máy Turing M chấp nhận đầu vào (accepts input) ω nếu q0ω
` ∗ M uyv, nghĩa là khi tính toán trên từ vào ω, máy M chuyển từ cấu
hình ban đầu đến cấu hình chấp nhận.
Tập các từ vào mà máy M chấp nhận tạo thành ngôn ngữ chấp nhận
được của M, được gọi là ngôn ngữ của máy Turing (language of a
Turing machine) M và được ký hiệu bởi LM.
Định nghĩa: Ngôn ngữ L được gọi là đoán nhận được theo Turing
(Turing-recognizable) hay đơn giản là đoán nhận được (recognizable)
nếu nó là ngôn ngữ chấp nhận được của một máy Turing nào đó,
nghĩa là nếu tồn tại một máy Turing M sao cho L = LM. Khi đó ta nói
rằng "máy Turing M đoán nhận ngôn ngữ L", hay "ngôn ngữ L được
đoán nhận bởi máy Turing M". Ví dụ, ngôn ngữ (được đoán nhận bởi
máy Turing) bao gồm tất cả các điệp từ trong bảng chữ Σ là: L = {ω |
ω ∈ Σ ∗ , ω = ω R}, trong đó ω R là từ ngược của từ ω
Định nghĩa: Ngôn ngữ L được gọi là khẳng định được (decidable),
hay cụ thể hơn là khẳng định được theo Turing (Turing-decidable) nếu
nó được đoán nhận bởi máy quyết định M(máy turing dừng) nào
đó. Trong trường hợp ấy, ta nói rằng "máy Turing dừng M khẳng định
ngôn ngữ L"; ngược lại, ngôn ngữ L được gọi là không khẳng định
được (undecidable).
Vd1: cho ngôn ngữ L = {0𝑖 1𝑖 | 𝑖 = 1,2, . . . . } chứng minh L là ngôn
ngữ khẳng định được
VD2: cho ngôn ngữ L = {𝑎𝑛 𝑏 𝑛 𝑐 𝑛 ∶ 𝑛 >= 0} chứng minh L là một
ngôn ngữ khẳng định được
Ngôn ngữ L = {0 n 1 n 2 n | n≥1} đại diện cho một loại ngôn ngữ mà chúng
ta chỉ sử dụng 3 ký tự, tức là, 0, 1 và 2. Trong ngôn ngữ đầu tiên có một
số số 0, theo sau là số 1 bằng nhau và sau đó là số 2 bằng nhau. Bất kỳ
chuỗi nào thuộc danh mục này sẽ được ngôn ngữ này chấp nhận. Phần
đầu và phần cuối của chuỗi được đánh dấu bằng dấu $.
Ví dụ -
Đầu vào: 0 0 1 1 2 2
Đầu ra: Được chấp nhận
Đầu vào: 0 0 0 1 1 1 2 2 2 2
Đầu ra: Không được chấp nhận
Giả định: Chúng ta sẽ thay 0 bằng X, 1 bằng Y và 2 bằng Z
Phương pháp tiếp cận được sử dụng -
Đầu tiên thay số 0 từ phía trước bằng X, sau đó tiếp tục di chuyển sang
phải cho đến khi bạn tìm thấy số 1 và thay thế số 1 này bằng Y. Một lần
nữa, tiếp tục di chuyển sang phải cho đến khi bạn tìm thấy số 2, thay thế
nó bằng Z và di chuyển sang trái. Bây giờ tiếp tục di chuyển sang trái cho
đến khi bạn tìm thấy X. Khi bạn tìm thấy nó, hãy di chuyển sang phải, sau
đó làm theo quy trình tương tự như trên.
Một điều kiện xuất hiện khi bạn tìm thấy chữ X ngay sau đó là chữ Y. Tại
thời điểm này, chúng tôi tiếp tục di chuyển sang phải và tiếp tục kiểm tra
xem tất cả số 1 và số 2 đã được chuyển đổi thành Y và Z. Nếu không thì
chuỗi không được chấp nhận. Nếu chúng ta đạt đến $ thì chuỗi được
chấp nhận.

• Bước 1:
Thay 0 bằng X và di chuyển sang phải, Chuyển đến trạng thái
Q1.
• Bước 2:
Thay 0 bằng 0 và di chuyển sang phải, Giữ nguyên trạng thái
Thay Y bằng Y và di chuyển sang phải, Giữ nguyên trạng thái
Thay 1 bằng Y và di chuyển sang phải, chuyển sang trạng thái
Q2.
• Bước 3:
Thay thế 1 bằng 1 và chuyển sang phải, Giữ nguyên trạng thái
Thay Z bằng Z và di chuyển sang phải, Giữ nguyên trạng thái
Thay 2 bằng Z và di chuyển sang phải, chuyển đến trạng thái
Q3.
• Bước 4:
Thay thế 1 bằng 1 và di chuyển sang trái, Giữ nguyên trạng thái
Thay 0 bằng 0 và di chuyển sang trái, Giữ nguyên trạng thái
Thay Z bằng Z và di chuyển sang trái, Giữ nguyên trạng thái
Thay Y bằng Y và di chuyển sang trái, Giữ nguyên cùng trạng
thái
Thay X bởi X và chuyển sang phải, chuyển đến trạng thái Q0.
• Bước-5:
Nếu biểu tượng là Y, hãy thay thế nó bằng Y và di chuyển sang
phải và Chuyển đến trạng thái Q4
Khác chuyển sang bước 1
• Bước-6:
Thay Z bằng Z và di chuyển sang phải, Giữ nguyên trạng thái
Thay thế Y bằng Y và di chuyển sang phải, Giữ nguyên trạng
thái
Nếu biểu tượng là $ hãy thay nó bằng $ và di chuyển sang trái,
DÂY ĐƯỢC CHẤP NHẬN, ĐI ĐẾN CÂU cuối cùng Q5

Cách biểu diễn thứ 2:


➔ Bài này dễ không ra đâu, nghĩ chi cho nặng đầu
1.4. Biểu diễn, thiết kế máy turing
Bài tập 1.1 thiết kế máy turing tìm dấu cách trong 1 xâu
cho trước

Bài tập 1.2 thiết kế máy turing kiểm tra tính cân xứng cho
các từ trên bảng chữ cái cho trước
Bài 1.2
("q1","a"):("q2", "x", "R"),
("q1","b"):("q3", "x", "R"),
("q1","c"):("q7", "x", "R"),
("q1","x"):("y", "x", "R"),

("q2","a"):("q2", "a", "R"),


("q2","b"):("q2", "b", "R"),
("q2","c"):("q2", "c", "R"),
("q2","x"):("q4", "x", "L"),
("q2"," "):("q4", " ", "L"),

("q3","a"):("q3", "a", "R"),


("q3","b"):("q3", "b", "R"),
("q3","c"):("q3", "c", "R"),
("q3","x"):("q5", "x", "L"),
("q3"," "):("q5", " ", "L"),

("q4","x"):("y", "x", "R"),


("q4","a"):("q6", "x", "L"),
("q4","b"):("n", "b", "L"),
("q4","c"):("n", "c", "L"),

("q5","x"):("y", "x", "R"),


("q5","a"):("n", "a", "L"),
("q5","b"):("q6", "x", "L"),
("q5","c"):("n", "c", "L"),

("q6","a"):("q6", "a", "L"),


("q6","b"):("q6", "b", "L"),
("q6","c"):("q6", "c", "L"),
("q6","x"):("q1", "x", "R"),

("q7","a"):("q7", "a", "R"),


("q7","b"):("q7", "b", "R"),
("q7","c"):("q7", "c", "R"),
("q7"," "):("q8", " ", "L"),
("q7","x"):("q8", "x", "L"),

("q8","x"):("y", "x", "R"),


("q8","a"):("n", "a", "L"),
("q8","b"):("n", "b", "L"),
("q8","c"):("q6", "x", "L"),

Input on Tape: abccba


(q1) ▷ a_bccba
(q2) ▷ xb_ccba
(q2) ▷ xbc_cba
(q2) ▷ xbcc_ba
(q2) ▷ xbccb_a
(q2) ▷ xbccba_
(q2) ▷ xbccba
(q4) ▷ xbccba_
(q6) ▷ xbccb_x
(q6) ▷ xbcc_bx
(q6) ▷ xbc_cbx
(q6) ▷ xb_ccbx
(q6) ▷ x_bccbx
(q1) ▷ xb_ccbx
(q3) ▷ xxc_cbx
(q3) ▷ xxcc_bx
(q3) ▷ xxccb_x
(q3) ▷ xxccbx_
(q5) ▷ xxccb_x
(q6) ▷ xxcc_xx
(q6) ▷ xxc_cxx
(q6) ▷ xx_ccxx
(q1) ▷ xxc_cxx
(q7) ▷ xxxc_xx
(q7) ▷ xxxcx_x
(q8) ▷ xxxc_xx
(q6) ▷ xxx_xxx
(q1) ▷ xxxx_xx
(y) ▷ xxxxx_x
Bài tập ôn tập 1: thiết kế máy turing với bảng chữ đầu vào ∑ = {0,1}
sao cho nó chỉ chấp nhận các từ chứa một số chẵn kí tự 1
Bài tập ôn tập 2: Thiết kế máy turing với bảng chữ đầu vào ∑ = {0,1}
sao cho nó chỉ chấp nhận các từ w có chứa số kí tự 0 như số các kí tự
1.

Bài tập ôn tập 3: Thiết kế một máy Turing kiểm tra xem hai số nhị
phân cho trước có bằng nhau không. Hãy xác định độ phức tạp thời
gian của máy.

1.5. Xác định độ phức tạp thuật toán


2. Mối liên hệ giữa độ phức tạp và thuật toán
Slide Complexity
3. Lý thuyết mã và ứng dụng
3.1. Kiểm định mã, sinh mã Huffman
Thuật toán Sardinas Pattersan kiểm định mã
B1: 𝑈1 = 𝑋 −1 𝑋 − {𝜀}
B2: 𝑈𝑛+1 = 𝑈𝑛−1 𝑋 ∪ 𝑋 −1 𝑈𝑛
B3: if({𝜀} ∈ 𝑈𝑛+1 − −> 𝐵5
If 𝑈𝑛 = ∅ 𝑜𝑟 𝑈𝑘 = 𝑈𝑛 − −> 𝐵4
B4: X là mã, kết thúc
B5: X không là mã, kết thúc
Thuật toán modification of sardinas Pattersan( thuật toán mở rộng cải
tiến)
𝑉1 = 𝑋 −1 𝑋 − 𝜀

𝑉𝑖+1 = 𝑉𝑖−1 𝑋 ∪ 𝑋 −1 𝑉𝑖 ∪ 𝑉𝑖 , 𝑖 > 1


VÍ DỤ:

Mã hóa Huffman là một thuật toán mã hóa dùng để nén dữ liệu. Nó


dựa trên bảng tần suất xuất hiện các kí tự cần mã hóa để xây dựng một
bộ mã nhị phân cho các kí tự đó sao cho dung lượng ( số bít) ssau khi
mã hóa là nhỏ nhất.

Thuật toán 3.2 (Sinh mã Huffman)

Đầu vào: Dãy x1, x2, . . . , xn, xi ∈ X được sắp theo thứ tự giảm dần
của p(xi)

Đầu ra: Dãy ω1, ω2, . . . , ωn, ωi là mã Huffman của xi , i = 1, n

Bước 1: Đặt ωi = ∅, i = 1, n

Bước 2 (lặp): Hai phần tử có xác suất nhỏ nhất lập thành một phần tử
mới có xác suất là tổng xác suất của hai phần tử này. Phần tử có xác
suất nhỏ hơn được gán giá trị 0, phần tử có xác suất lớn hơn được gán
giá trị 1 và cập nhật các ωi (ωi = 0 || ωi hoặc ωi = 1 || ωi) liên quan.
Tiếp tục thực hiện tới khi dãy chỉ còn một phần tử.

Bước 3: Trả về dãy ω1, ω2, . . . , ωn.

3.2. Mật mã khóa bí mật( các hệ mật cổ điển)


3.2.1. Hệ mật dịch chuyển
3.2.2. Hệ mật thay thế

3.2.3. Hệ mật affine

3.2.4. Hệ mật Vigenere


3.2.5. Thám mã
Thám mã là công việc phân tích bản tin mã hóa để nhận được bản
tin rõ trông điều kiện khôgn biết trước mã
Thám mã chủ động: là việc thám mã sau đó tìm cách làm sai lạc
các dữ liệu truyền, nhận hoặc các dữ liệu lưu trữ phục vụ mục đích
của người thám mã
Thám mã thụ động: là việc thám mã đẻ có thông tin về bản rõ
phục vụ mục đích người thám mã
Nguyên lý Kerckhoffs - người thám mã đã biết rõ hệ mật được sử
dụng khi tiến hành phân tích mã.
Thám mã hệ mật affine, thay thế, vinge(slide)
Nhiều kỹ thuật thám mã sử dụng đặc điểm thống kê của tiếng Anh
để tiến hành phân tích mã, chẳng hạn sử dụng kết quả thống kê của
Beker và Piper (1983):
1. E, có xác suất khoảng 0.120
2. T, A, O, I, N, S, H, R, mỗi chữ cái có xác xuất nằm trong
khoảng từ 0.06 đến 0.09
3. D, L, mỗi chữ cái có xác xuất xấp xỉ 0.04
4. C, U, M, W, F, G, Y, P, B, mỗi chữ cái có xác xuất nằm trong
khoảng từ 0.015 đến 0.023
? Ngoài ra, tần suất xuất hiện của dãy hai hay ba chữ cái liên tiếp
được sắp theo thứ tự giảm dần như sau: T H, HE, IN, ER, . . . , T
HE, ING, AND, HER
3.2.6. Hệ mật one-time Pad

3.2.7. Entropy và mã huffman


Entropy: một đại lượng toán học dùng để đo độ không chắc chắn
của thông tin
Giả sử biến ngẫu nhiên X nhận giá trị trên một miền hữu hạn theo
phân phối xác xuất p(X). Khi đó ta nhận được thông tin gì từ một
sự kiện xảy ra theo phân phối xác xuất p(X)? Hoặc nếu một sự
kiện chưa xảy ra thì độ không chắc chắn là bao nhiêu
Định nghĩa 3.10 Giả sử X là một biến ngẫu nhiên nhận giá trị trên
một miền hữu hạn theo phân phối xác suất p(X). Khi đó, entropy
của X, kí hiệu là H(X), được xác định như sau:
H(X) = − ∑𝑛𝑖=1 𝑝𝑖 log2 pi .
Nếu các giá trị có thể có của X là xi , 1 ≤ i ≤ n thì
H(X) = − ∑𝑛𝑖=1 𝑝(𝑋 = 𝑥 𝑖) log2 p(X = xi).
Note:khái niệm entropy có liên quan mật thiết đến hiệu quả của
phép mã hóa
Độ dài trung bình của các từ mã hóa
Hiệu quả của phép mã hóa f được đo lường thông qua độ dài trung
bình các từ mã của X. Kí hiệu độ dài này là l(f), ta có
l(f) = X x∈X p(x)|f(x)|.
Vậy, khi l(f) nhỏ nhất thì f đạt hiệu quả tối ưu. Phép mã hóa hay
thuật toán Huffman (1952) đáp ứng điều kiện này. Cụ thể, phép mã
hóa Huffman f thỏa mãn
H(X) ≤ l(f) < H(X) + 1.
Mã hóa Huffman là một thuật toán mã hóa dùng để nén dữ liệu. Nó
dựa trên bảng tần suất xuất hiện các kí tự cần mã hóa để xây dựng một
bộ mã nhị phân cho các kí tự đó sao cho dung lượng ( số bít) ssau khi
mã hóa là nhỏ nhất.

3.2.8. ứng dụng của mật mã học

an toàn thông tin là thuật ngữ dùng để chỉ việc bảo vệ thông tin
số và các hệ thống thông tin chống lại các nguy cơ tự nhiên, các
hành dộng truy cập, sử dụng, phát tán, phá hoại, sửa đổi và phá
hủy bất hợp pháp nhằm đảm bảo cho các hệ thống thông tin thực
hiện đúng chức năng, phục vụ đúng đối tượng một cách sẵn sàng,
chính xác và tin cậy.

cơ hội nghề nghiệp:

• Chuyên viên an toàn thông tin, quản trị an ninh mạng, bảo mật
cơ sở dữ liệu trong các cơ quan, doanh nghiệp, trường học
• Chuyên viên phân tích, tư vấn, thiết kế hệ thống an toàn thông
tin trong các công ty phần mềm
• Chuyên viên kiểm tra, đánh giá an toàn thông tin trong các
công ty phần mềm
• Chuyên viên lập trình và phát triển ứng dụng đảm bảo an toàn
thông tin trong các công ty lập trình, doanh nghiệp.

You might also like