Tải bản đầy đủ (.doc) (65 trang)

Đồ án tốt nghiệp nghiên cứu xây dựng hệ thống bảo mật nội dung số

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 (1.32 MB, 65 trang )

1

MỤC LỤC
Danh mục hình vẽ................................................................................................2
Danh mục những từ viết tắt................................................................................3
LỜI NÓI ĐẦU.....................................................................................................4
CHƯƠNG 1. TỔNG QUAN VỀ MÃ HÓA.......................................................5
1.1. Khái niệm về mã hóa thơng tin................................................................5
1.2. Sơ lược lịch sử của mã hóa thơng tin.......................................................6
1.3. Hệ thống mã hóa......................................................................................7
1.4. Phân loại các thuật tốn mã hóa...............................................................8
1.4.1. Mã hóa cổ điển..................................................................................9
1.4.2. Mã hóa đối xứng.............................................................................10
1.4.3. Mã hóa bất đối xứng.......................................................................12
1.4.4. Hàm băm – Hashing........................................................................14
1.5.Ứng dụng mã hóa....................................................................................16
1.5.1. Giao thức SSL.................................................................................16
1.5.2. Chữ ký số........................................................................................19
1.5.3. Cơng cụ mã hóa PGP......................................................................21
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT.................................................................27
2.1. Hệ mã RSA............................................................................................27
2.1.1. Giới thiệu........................................................................................27
2.1.2. Q trình tạo khóa cho hệ mật RSA...............................................27
2.1.3. Q trình mã hóa.............................................................................29
2.1.4. Q trình giải mã.............................................................................30
2.1.5. Một số chú ý quan trọng về RSA....................................................31
2.2. Hệ mã AES.............................................................................................32
2.2.1. Giới thiệu........................................................................................32
2.2.2. Một số khái niệm và định nghĩa......................................................33
2.2.3. Cơ sở toán học của hệ mã...............................................................36
2.2.4. Thuật tốn mã hóa...........................................................................36




2

2.2.5. Thuật tốn giải mã...........................................................................41
2.2.6. An tồn của thuật tốn....................................................................43
2.3. Tìm hiểu về mã nguồn mở GnuPG........................................................45
2.3.1. Giới thiệu........................................................................................45
2.3.2. Cài đặt.............................................................................................45
2.3.3. Khố cơng khai và khố riêng tư....................................................46
2.3.4. Tạo cặp khóa...................................................................................46
2.3.5. Xuất, nhập và trao đổi khóa............................................................47
2.3.6. Mã hố và giải mã tài liệu...............................................................49
2.3.7. Tạo và xác minh chữ ký..................................................................50
2.3.8. Quản lý khóa...................................................................................51
CHƯƠNG 3. XÂY DỰNG CHƯƠNG TRÌNH..............................................58
3.1. Mơ tả chương trình sẽ xây dựng............................................................58
3.2. Kết quả đạt được....................................................................................59
3.3. Kết luận và kiến nghị.............................................................................62
KẾT LUẬN........................................................................................................64
Danh mục tài liệu tham khảo...........................................................................64

Danh mục hình vẽ
Hình 1. 1. Hệ thống mã hóa................................................................................7


3

Hình 1. 2. Bảng thay thế ký tự............................................................................9
Hình 1. 3. Mơ hình mã hóa sử dụng khóa đối xứng.......................................11

Hình 1. 4. Một số thuật tốn mã hóa đối xứng...............................................12
Hình 1. 5. Sơ đồ mã hóa cơng khai..................................................................14
Hình 1. 6. Lược đồ ký và kiểm tra chữ ký số..................................................21
Hình 2. 1. Mơ tả thuật tốn..............................................................................28
Hình 2. 2. Sơ đồ thuật tốn mã hóa và giải mã...............................................37
Hình 2. 3 Bảng thế S-box..................................................................................38
Hình 2. 4. Hàm ShiftRows................................................................................38
Hình 2. 5. Hàm MixColumns............................................................................39
Hình 2. 6. Hàm AddRoundKey........................................................................40
Hình 2. 7. Hàm InvShiftRows..........................................................................42
Hình 3. 1. Mã hóa dữ liệu.................................................................................58
Hình 3. 2. Giải mã dữ liệu.................................................................................59
Hình 3. 3. Giao diện chính................................................................................60
Hình 3. 4. Giao diện mã hóa.............................................................................60
Hình 3. 5. Giao diện giải mã.............................................................................61
Hình 3. 6. Giao diện sinh khóa.........................................................................61
Hình 3. 7. Giao diện thêm một khóa cơng khai mới.......................................62
Hình 3. 8. Giao diện mã hóa nội dung văn bản..............................................62

Danh mục những từ viết tắt
STT
01
02
03
04
05
06

Từ viết tắt
RSA

USB
DES
PKI
ECC
MAC

Giải nghĩa
Rivest, Shamir, Adleman
Universal Serial Bus
Data Encryption Standard
Public Key Infrastructure
Elliptic Curve Cryptography
Message Authentication Code


4

07
08
09
10
11
12
13
14
15
16
17
18
19

20
21
22
23
24

MD5
MD4
SHA-1
SSL
TCP/IP
IETF
TSL
HTTP
IMAP
FTP
3-DES
DSA
PGP
NIST
S/MIME
NSA
GCHQ
GPL

Message Digest 5
Message Digest 4
Secure Hash Algorithm 1
Secure Socket Layer
Transmission Control Protocol/ Internet Protocol

Internet Engineering Task Force
Transport Layer Security
Hypertext Transfer Protocol
Internet Message Access Protocol
File Transfer Protocol
Triple-DES
Digital Signature Algorithm
Pretty Good Privacy
National Institute of Standards and Technology
Secure/Multipurpose Internet Mail Extensions
National Security Agency
Government Communications Headquarters
General Public License

LỜI NÓI ĐẦU
Ngày nay với sự phát triển mạnh mẽ của công nghệ thông tin, gần như các
thông tin quan trọng của các cá nhân, doanh nghiệp hay chính phủ được lưu trữ
trên máy tính. Trong khi đó các nguy cơ về an ninh mạng và bảo mật an tồn
thơng tin đang ở mức báo động khi tình trạng bị hacker, virus, malware tấn cơng
hoặc từ những tổ chức khác như chương trình giám sát truyền thơng của cơ quan
An ninh Quốc gia Mỹ - National Security Agency mà Edward Snowden đã tiết
lộ khiến cho thông tin bị đánh cắp, bị theo dõi, mất quyền điều hành, lây truyền
virus sang máy tính khác, dữ liệu bị xóa… liên tục gia tăng không ngừng, gây ra
hậu quả và thiệt hại vô cùng lớn. Số vụ tấn công, xâm nhập hệ thống thông tin
đang gia tăng ở mức báo động về số lượng, đa dạng về hình thức, tinh vi về
công nghệ trở thành mối đe dọa đối với an ninh thơng tin địi hỏi những nỗ lực
phịng chống mạnh mẽ hơn nữa cho hoạt động thông tin trên toàn. An ninh
mạng tại Việt Nam hiện đang trở thành đề tài nóng sau hàng loạt các cuộc tấn
cơng rầm rộ vào các website tại Việt Nam kể từ cuối tháng 8 đến tháng 10 vừa



5

qua. Cho nên mỗi cá nhân, doanh nghiệp,… ngoài việc tuân theo các chính sách
bảo mật, dịch vụ về an tồn thơng tin từ các tổ chức hay cá nhân nào đó thì cũng
nên tự bảo vệ thơng tin của mình. Đó là lí do mà em đã chọn và nghiên cứu đề
tài “Nghiên cứu xây dựng hệ thống bảo mật nội dung số”. Đồ án tập trung tìm
hiểu về mã hóa thơng tin dựa trên mã nguồn mở. Được sự hướng dẫn nhiệt tình
của thầy giáo, em đã hồn thành đề tài đồ án tốt nghiệp.
Do lượng tài liệu chủ yếu bằng tiếng anh và kiến thức còn hạn chế nên
khơng tránh khỏi những sai sót, rất mong nhận được sự đóng góp của thầy cơ và
các bạn.

CHƯƠNG 1. TỔNG QUAN VỀ MÃ HĨA
1.1. Khái niệm về mã hóa thông tin
Thuật ngữ Cryptography đề cập tới ngành khoa học nghiên cứu về mã hóa
và giải mã thơng tin. Cụ thể hơn là nghiên cứu các cách thức chuyển đổi thông
tin từ dạng bản rõ sang dạng mờ và ngược lại. Đây là một phương pháp hỗ trợ
rất tốt trong việc chống lại những truy cập bất hợp pháp tới dữ liệu được truyền
đi trên mạng, áp dụng mã hóa sẽ khiến cho nội dung thông tin được truyền đi
dưới dạng mờ và không thể đọc được đối với bất kỳ ai cố tình muốn lấy thơng
tin đó.
Như chúng ta đã biết, Internet hình thành và phát triển từ yêu cầu của chính
phủ Mỹ nhằm phục vụ cho mục đích quân sự. Khi chúng ta tham gia trao đổi
thông tin, thì Internet là mơi trường khơng an tồn, đầy rủi ro và nguy hiểm,
khơng có gì đảm bảo rằng thơng tin mà chúng ta truyền đi không bị đọc trộm
trên đường truyền. Do đó, mã hóa được áp dụng như một biện pháp nhằm giúp
chúng ta tự bảo vệ chính mình cũng như những thơng tin mà chúng ta gửi đi.
Bên cạnh đó, mã hóa cịn có những ứng dụng khác như là bảo đảm tính tồn vẹn
của dữ liệu.



6

1.2. Sơ lược lịch sử của mã hóa thơng tin
Mật mã có lịch sử lâu dài và đầy màu sắc. Nói chung, những dạng sớm nhất
của cách viết bí mật (ngày nay gọi chung là mật mã cổ điển) chỉ cần có bút và
giấy. Hai phạm trù chính của mật mã cổ điển là mật mã hốn vị, trong đó người
ta sắp xếp lại trật tự các chữ cái của thơng điệp, và mật mã thay thế, trong đó
người ta thay thế có hệ thống các chữ cái hay các nhóm chữ cái bằng các chữ cái
hay các nhóm chữ cái khác. Văn bản được mật mã hóa bằng mật mã cổ điển có
xu hướng lộ ra các thơng tin thống kê nhất định về văn bản thường. Bằng cách
sử dụng các thông tin này, mật mã cổ điển rất dễ bị dị ra (ví dụ bằng phân tích
tần suất). Mật mã cổ điển vẫn còn được phổ biến tới ngày nay, chủ yếu thông
qua việc giải các ô đố chữ.
Các thiết bị và các kỹ thuật khác nhau đã được sử dụng để mật mã hóa. Một
trong những thiết bị sớm nhất có lẽ là gậy mật mã. Trong nửa đầu thế kỷ 20, một
số thiết bị cơ khí đã được phát minh để thực hiện mật mã hóa, bao gồm rotor
machines nổi tiếng nhất là máy Enigma được người Đức sử dụng trong thứ hai.
Mật mã thực hiện bằng các máy móc này đã tăng độ phức tạp lên đáng kể đối
với cơng việc phân tích mã.
Với sự ra đời của máy tính kỹ thuật số và điện tử học thì các mật mã cực kỳ
phức tạp đã có thể được thực hiện. Đặc trưng của mật mã máy tính là chúng
thực hiện trên các chuỗi nhị phân, khơng giống như trong các mơ hình mật mã
hóa cổ điển và cơ học (chỉ sử dụng bảng chữ cái với khoảng 26 ký tự-phụ thuộc
vào từng ngôn ngữ). Mật mã máy tính cũng có khả năng chịu đựng việc phân
tích mật mã tốt hơn; rất ít các mật mã như thế dễ bị tổn thương chỉ bởi kiểu tấn
công biết bản mã.
Các nghiên cứu rộng rãi có tính học thuật về mật mã hóa hiện đại là tương
đối gần đây nó chỉ được bắt đầu trong cộng đồng mở kể từ những năm thập niên

1970 với các chi tiết kỹ thuật của DES (viết tắt trong tiếng Anh của Data
Encryption Standard tức Tiêu chuẩn Mật mã hóa Dữ liệu) và sự phát minh


7

ra RSA. Kể từ đó, mật mã hóa đã trở thành công cụ được sử dụng rộng rãi trong
liên lạc và bảo mật máy tính.
Cũng giống như các bài học thu được từ trong lịch sử của nó, các nhà mật
mã hóa cũng rất thận trọng khi nhắc đến tương lai. Định luật Moore thơng
thường được nhắc đến khi nói về độ lớn khóa, và các hiệu ứng tiềm năng
của máy tính lượng tử.
1.3. Hệ thống mã hóa
Hệ thống mã hóa là một bộ năm thành phần (P, C, K, E, D) thỏa mãn điều
kiện sau:
- Tập nguồn P là tập hữu hạn tất cả các mẫu tin nguồn cần mã hóa có thể
có.
- Tập đích C là tập hữu hạn tất cả các mẫu tin có sau khi mã hóa.
- Tập khóa K là tập hữu hạn các khóa có thể được sử dụng.
-

E và D lần lượt là tập luật mã hóa và giải mã. Với mỗi khóa k thuộc K,
tồn tại luật mã hóa ek thuộc E và luật giải mã dk thuộc D tương ứng.
Luật mã hóa ek : P → C và luật giải mã d k : C → P là hai ánh xạ thỏa mãn
dk(ek(x)) = x, trong đó mọi x đều thuộc P.

Hình 1. 1. Hệ thống mã hóa
Bên cạnh việc làm thế nào để che dấu nội dung thì mã hóa cần phải đảm bảo
được các yếu tố sau:



8

• Tính bí mật (Confidentiality): Đảm bảo dữ liệu được truyền đi một cách
an tồn và khơng bị lộ thơng tin nếu như có ai đó cố tình muốn có được
nội dung của dữ liệu gốc ban đầu. Và chỉ những người được phép mới có
khả năng đọc được nội dung của dữ liệu ban đầu.
• Tính xác thưc (Authentication): Giúp cho người nhận dữ liệu xác định
được chắc chắn rằng dữ liệu mà họ nhận là dữ liệu gốc ban đầu. Kẻ giả
mạo khơng thể có khả năng để giả dạng một người khác hay nói cách
khác khơng thể mạo danh để gửi dữ liệu. Người nhận có khả năng kiểm
tra nguồn gốc của thông tin mà họ nhận được.
• Tính tồn vẹn (Integrity): Giúp cho người nhận dữ liệu kiểm tra được rằng
dữ liệu không bị thay đổi trong q trình truyền đi. Kẻ giả mạo khơng thể
có khả năng thay thế dữ liệu ban đầu bằng dữ liệu khác.
• Tính khơng thể chối bỏ (Non-repudation): Người gửi hay người nhận
không thể chối bỏ sau khi đã gửi hoặc nhận thơng tin.
1.4. Phân loại các thuật tốn mã hóa
Có rất nhiều các thuật tốn mã hóa khác nhau. Từ những thuật tốn được
cơng khai cho tất cả mọi người sử dụng và áp dụng như là một chuẩn chung cho
việc mã hóa dữ liệu đến nhưng thuật tốn mã hóa khơng được cơng bố. Có thể
phân loại các thuật tốn mã hóa như sau:
Phân loại theo phương pháp:
- Mã hóa cổ điển (Classical cryptography).
- Mã hóa đối xứng (Symetric cryptography).
- Mã hóa bất đối xứng (Asymetric cryptography).
- Hàm băm (Hash function).
Phân loại theo số lượng khóa:
- Mã hóa khóa bí mật (Private-key Cryptography).
- Mã hóa khóa cơng khai (Public-key Cryptography).

Dưới đây chúng ta tìm hiểu khái quát về các phương pháp mã hóa:


9

1.4.1. Mã hóa cổ điển
Xuất hiện trong lịch sử, thuật tốn khơng dùng khóa, đơn giản và dễ hiểu. Là
phương pháp mà từng kí tự (hay từng nhóm kí tự) trong bản rõ được thay thế
bằng một kí tự (hay một nhóm kí tự) khác tạo ra bản mã. Bên nhận chỉ việc đảo
ngược lại trình tự thay thế trên bản mã để có được bản rõ ban đầu.
Nhưng từ chính các phương pháp mã hóa này đã giúp ta tiếp cận với các
thuật tốn mã hóa đối xứng được sử dụng ngày nay. Trong mã hóa cổ điển có
hai phương pháp nổi bật đó là:
- Mã hóa thay thế (Substitution Cipher): Là phương pháp mà từng kí tự
(hay từng nhóm kí tự) trong bản rõ được thay thế bằng một kí tự (hay
một nhóm kí tự) khác để tạo ra bản mờ. Bên nhận chỉ cần đảo ngược
trình tự thay thế trên bản mờ để có được bản rõ ban đầu.

Hình 1. 2. Bảng thay thế ký tự
Ví dụ: Giả sử xây dựng một bảng thay thế các kí tự như trên và bạn
cũng có bảng thay thế này. Khi muốn truyền thông tin cho bạn, chẳng
hạn tôi gửi cho bạn một dịng văn bản như sau: CABBAC, thì dựa vào
bảng thay thế kí tự mà tơi và bạn đã xây dựng tơi chuyển thành như
sau: FEDDEF. Sau đó tôi gửi tới cho bạn, khi bạn nhận được thông tin
như trên, vì bạn đã có bảng thay thế bạn chỉ việc thay thế ngược lạo và
bạn sẽ có được thông tin ban đầu mà tôi muốn gửi cho bạn.
- Mã hóa hốn vị (Transposition Cipher) hay cịn gọi là mã hóa dịch
chuyển: Nếu như trong phương pháp mã hóa thay thế các kí tự trong
bản rõ được thay thế hồn tồn bằng các kí tự trong bản mờ, thì trong
phương pháp mã hóa hốn vị, các kí tự trong bản rõ vẫn được giữ



10

nguyên, chúng chỉ được sắp xếp lại vị trí để tạo ra bản mờ. Tức là các
kí tự trong bản rõ hồn tồn khơng bị thay đổi bằng kí tự khác.
Ngồi ra cịn có một số phương pháp khác: Phương pháp Affine, Vigenere,
Hill, …
1.4.2. Mã hóa đối xứng
Ở phần trên, chúng ta đã tìm hiểu về mã hố cổ điển, trong đó có nói rằng
mã hố cổ điển khơng dùng khố. Nhưng trên thực nếu chúng ta phân tích một
cách tổng quát, chúng ta sẽ thấy được như sau:
- Mã hố cổ điển có sử dụng khố. Bằng chứng là trong phương pháp
thay thế thì khố chính là phép dịch ký tự. Trong phương pháp mã hố
hốn vị thì khóa nằm ở số hàng hay số cột mà chúng ta qui định. Khố
này có thể được thay đổi tuỳ theo mục đích mã hố của chúng ta,
nhưng nó phải nằm trong một phạm vi cho phép nào đó.
- Để dùng được mã hố cổ điển thì bên mã hố và bên giải mã phải
thống nhất với nhau về cơ chế mã hố cũng như giải mã. Nếu như
khơng có cơng việc này thì hai bên sẽ khơng thể làm việc được với
nhau.
Mã hố đối xứng cịn có một số tên gọi khác như Secret Key Cryptography
(hay Private Key Cryptography), sử dụng cùng một khố cho cả hai q trình
mã hố và giải mã.
Quá trình thực hiện như sau:
Trong hệ thống mã hoá đối xứng, trước khi truyền dữ liệu, hai bên gửi và
nhận phải thoả thuận về khoá dùng chung cho q trình mã hố và giải mã. Sau
đó, bên gửi sẽ mã hoá bản rõ (Plaintext) bằng cách sử dụng khố bí mật này và
gửi thơng điệp đã mã hoá cho bên nhận. Bên nhận sau khi nhận được thơng điệp
đã mã hố sẽ sử dụng chính khố bí mật mà hai bên đã thoả thuận để giải mã và

lấy lại bản rõ (Plaintext).


11

Hình 1. 3. Mơ hình mã hóa sử dụng khóa đối xứng
Trong quá trình này, thì thành phần quan trọng nhất cần phải được giữ bí
mật chính là khố. Việc trao đổi, thoả thuận về thuật toán được sử dụng trong
việc mã hố có thế tiến hành một cách cơng khai, nhưng bước thoả thuận về
khoá trong việc mã hoá và giải mã phải tiến hành bí mật
Mã hố đối xứng có thế được phân thành 02 loại:
- Loại thứ nhất tác động trên bản rõ theo từng nhóm bits. Từng nhóm
bits này được gọi với một cái tên khác là khối (Block) và thuật toán
được áp dụng gọi là Block Cipher. Theo đó, từng khối dữ liệu trong
văn bản ban đầu được thay thế bằng một khối dữ liệu khác có cùng độ
dài. Đối với các thuật tốn ngày nay thì kích thước chung của một
Block là 64 bits.
- Loại thứ hai tác động lên bản rõ theo từng bit một. Các thuật toán áp
dụng được gọi là Stream Cipher. Theo đó, dữ liệu của văn bản được
mã hố từng bit một. Các thuật tốn mã hố dịng này có tốc độ nhanh
hơn các thuật tốn mã hố khối và nó thường được áp dụng khi lượng
dữ liệu cần mã hoá chưa biết trước.


12

Hình 1. 4. Một số thuật tốn mã hóa đối xứng
Phương thức mật mã đối xứng thực hiện nhanh hơn rất nhiều so với quá
trình sử dụng mật mã bất đối xứng. Với tốc độ nhanh nên thuật toán này được
thiết kế chỉ một khóa trong q trình mã hố và giải mã dữ liệu.

Tuy nhiên bạn có thể sử dụng một giải pháp thơng minh hơn đó là Public
Key Infrastructure (PKI), giải pháp được sử dụng kết hợp với mật mã đối xứng
trong q trình truyền thơng tin khóa. Việc truyền thơng tin khóa bằng việc sử
dụng một mã hố để truyền với sử dụng một phiên truyền thơng tin duy nhất.
Hiểu, sử dụng và triển khai sử dụng PKI khơng đơn giản và có nhiều giải pháp
của nhiều nhà sản xuất khác nhau.
1.4.3. Mã hóa bất đối xứng
Ý tưởng về hệ thống mã hóa khóa cơng khai được Martin Heilman, Ralph
Merkle và Whitfield Diffie tại Đại Học Stanford giới thiệu vào năm 1976. Sau
đó, phương pháp Diffie- Hellman của Martin Hellman và Whitfield Diffie được


13

cơng bố. Năm 1977 nhóm tác giả Ronald Rivest, Adi Shamir và Leonard
Adleman đã công bố phương pháp RSA, phương pháp mã hóa khóa cơng khai
nổi tiếng và được sử dụng trong các ứng dụng mã hóa và bảo vệ thơng tin.
Khóa cơng khai ra đời hỗ trợ thêm để giải quyết một số bài tốn an tồn, chứ
khơng phải thay thế khóa riêng (đối xứng). Cả 2 cùng tồn tại, phát triển và bổ
sung cho nhau.
Khóa cơng khai ( khóa bất đối xứng) bao gồm việc sử dụng 2 khóa : Khóa
cơng khai và khóa riêng:
- Bên gửi tạo ra một khố bí mật dùng để mã hố dữ liệu. Khố này cịn
được gọi là Session Key.
- Sau đó, Session Key này lại được mã hố bằng khố cơng khai của bên
nhận dữ liệu.
- Tiếp theo dữ liệu mã hoá cùng với Session Key đã mã hoá được gửi đi tới
bên nhận.
- Lúc này bên nhận dùng khoá riêng để giải mã Session Key và có được
Session Key ban đầu.

- Dùng Session Key sau khi giải mã để giải mã dữ liệu.


14

Hình 1. 5. Sơ đồ mã hóa cơng khai
Mật mã bất đối xứng hoạt động chậm hơn phương thức mật mã đối xứng,
khơng phải nó mã hố một khối lượng dữ liệu lớn. Nó thường được sử dụng để
bảo mật q trình truyền khóa của mật mã đối xứng. Nó cung cấp bảo mật cho
q trình truyền thơng tin bằng các dịch vụ: Authentication, Integrity,
Protection, và nonrepudiation.
Phương thức mật mã bất đối xứng sử dụng: RSA, Diffie-Hellman, ECC, …
1.4.4. Hàm băm – Hashing
Hashing là một phương thức mật mã nhưng nó khơng phải là một thuật tốn
mã hố. Đúng như vậy, hàm băm chỉ sử dụng một chứng chỉ số duy nhất được
biết đến với tên như "hash value - giá trị hash", "hash - băm", Message
Authentication Code (MAC), fingerprint - vân tay, hay một đoạn thông điệp. Dữ
liệu đầu vào của bạn có thể là một tệp tin, một ổ đĩa một q trình truyền thơng
tin trên mạng, hay một bức thư điện tử. Thông số giá trị băm được sử dụng để
phát hiện khi có sự thay đổi của tài nguyên. Nói cách khác, hằm băm sử dụng nó


15

để phát hiện ra dữ liệu có tồn vẹn trong q trình lưu trữ hoặc trong khi truyền
hay khơng.
Ví dụ, giá trị băm được tính tốn để so sánh với các giá trị băm được tạo ra
trước đó một tuần. Nếu hai giá trị này giống nhau thì dữ liệu chưa có sự thay
đổi. Nếu hai giá trị này có sự khác nhau thì tất nhiên là dữ liệu đã bị thay đổi.
Thơng số MAC được tính tốn bởi người gửi và người nhận với cùng một thuật

tốn.
Khơng như các phương thức mật mã khác, chúng sẽ làm thay đổi dữ liệu
thành một dạng mật mã, quá trình băm sử dụng một giá trị băm và không thay
đổi dữ liệu ban đầu. Bởi vì các tính năng đặc biệt, hàm băm có thể sử dụng để
bảo vệ và kiểm tra tính tồn vẹn của dữ liệu. Nó cũng có khả năng sử dụng để
kiểm tra khi có một tiến trình sao chép được thực hiện và đảm bảo tính chính
xác của dữ liệu khi chúng được sao chép.
Ví dụ, khi một ổ cứng tạo ra một bản sao, một quá trình băm được thực hiện
trên ổ đĩa trước khi quá trình nhân đơi được thực hiện. Nếu hai thơng số băm
của ổ cứng mới được tạo ra và thông số băm của ổ đĩa ban đầu giống nhau thì
quá trình nhân đơi dữ liệu được thực hiện chính xác và đảm bảo dữ liệu khơng
có sự thay đổi mất mát trong quá trình nhân bản. Việc băm sử dụng để đảm bảo
dữ liệu được nguyên bản giúp dữ liệu lưu ở dạng kỹ thuật số sẽ luôn giữ được
nguyên bản sau vô số lần sao chép và điều này không thể thực hiện khi lưu dữ
liệu các dạng khác - ví như bạn lưu thơng tin âm thanh bằng băng từ sẽ bị biến
dạng sau nhiều lần sao chép.
Ví dụ, Message Digest 5 (MD5) là một thuật toán băm với 128-bit. Điều này
có nghĩa khơng có vấn đề với dữ liệu đầu vào và dữ liệu đầu ra sau quá trình
băm bởi nó ln ln thêm vào 128 bits. Sức mạnh của q trình băm là nó
được thực hiện một chiều và khơng thể có phương thức nào có thể thực hiện
ngược lại được để chuyển thông số băm thành dữ liệu ban đầu. Nếu một vài
người có được các thông số băm của bạn, họ không thể lấy được dữ liệu ban
đầu. Tuy nhiên đó khơng phải là phương thức mật mã không thế tấn công. Hàm


16

băm khơng thể thực hiện ngược lại, bởi đó là một giải pháp bảo mật, có nghĩa
khơng có cơng cụ nào có thể chuyển ngược lại một mật khẩu được băm thành
một mật khẩu nguyên bản chưa được băm. Tuy nhiên một thuật tốn nào cũng

có những bất cập riêng, bằng việc sử dụng các phần mềm, password crackers
chúng có thể phát hiện ra đoạn mã thêm vào dữ liệu ban đầu và chỉ cần xoá đoạn
giá trị băm đi là có thể truy cập bình thường. Dữ liệu tài khoản thường khơng
được mã hố, và dữ liệu mật khẩu thường được băm do đó hầu hết các cơng cụ
crack mật khẩu chỉ có thể xố mật khẩu đã được đặt cho người dùng đó mà
khơng thể xem mật khẩu đó.
Thuật tốn băm thường được sử dụng: SHA-1, MD5, MD4, …
1.5.Ứng dụng mã hóa
Với sự phát triển nhanh chóng của cơng nghệ thơng tin thì các nguy cơ về
mất an tồn thơng tin cũng tang lên, vì thế mà mã hóa được ứng dụng phổ biến
trong các hoạt động bảo mật, thương mại điện tử, chính phủ điện tử,… Sau đây
là một số ứng dụng của mã hóa trong thực tế.
1.5.1. Giao thức SSL
SSL là từ viết tắt của Secure Socket Layer là một giao thức (protocol) cho
phép bạn truyền đạt thơng tin một cách bảo mật và an tồn qua mạng.
Việc kết nối giữa một Web browser tới bất kỳ điểm nào trên mạng Internet
đi qua rất nhiều các hệ thống độc lập mà khơng có bất kỳ sự bảo vệ nào với các
thông tin trên đường truyền. Không một ai kể cả người sử dụng lẫn
Web server có bất kỳ sự kiểm soát nào đối với đường đi của dữ liệu hay có thể
kiểm sốt được liệu có ai đó thâm nhập vào thơng tin trên đường truyền.
Để bảo vệ những thông tin mật trên mạng Internet hay bất kỳ mạng TCP/IP
nào, SSL đã kết hợp những yếu tố sau để thiết lập được một giao dịch an tồn:
- Xác thực: đảm bảo tính xác thực của trang mà bạn sẽ làm việc ở đầu kia
của kết nối. Cũng như vậy, các trang Web cũng cần phải kiểm tra tính xác
thực của người sử dụng.


17

- Mã hố: đảm bảo thơng tin khơng thể bị truy cập bởi đối tượng thứ ba. Để

loại trừ việc nghe trộm những thơng tin “ nhạy cảm” khi nó được truyền
qua Internet, dữ liệu phải được mã hoá để khơng thể bị đọc được bởi
những người khác ngồi người gửi và người nhận.
- Toàn vẹn dữ liệu: đảm bảo thơng tin khơng bị sai lệch và nó phải thể hiện
chính xác thơng tin gốc gửi đến.
Với việc sử dụng SSL, các Web site có thể cung cấp khả năng bảo mật thơng
tin, xác thực và tồn vẹn dữ liệu đến người dùng. SSL được tích hợp sẵn vào các
browser và Web server, cho phép người sử dụng làm việc với các trang Web ở
chế độ an toàn. SSL được phát triển bởi Netscape, ngày nay giao thức SSL đã
được sử dụng rộng rãi trên World Wide Web trong việc xác thực và mã hố
thơng tin giữa client và server.
Tổ chức IETF (Internet Engineering Task Force ) đã chuẩn hoá SSL và đặt
lại tên là TLS (Transport Layer Security). Mặc dù là có sự thay đổi về tên nhưng
TSL chỉ là một phiên bản mới của SSL. Phiên bản TSL 1.0 tương đương với
phiên bản SSL 3.1. Tuy nhiên SSL là thuật ngữ được sử dụng rộng rãi hơn.

SSL được thiết kế như là một giao thức riêng cho vấn đề bảo mật có thể hỗ trợ
cho rất nhiều ứng dụng. Giao thức SSL hoạt động bên trên TCP/IP và bên dưới
các giao thức ứng dụng tầng cao hơn như là HTTP, IMAP và FTP.
SSL không phải là một giao thức đơn lẻ, mà là một tập các thủ tục đã được
chuẩn hoá để thực hiện các nhiệm vụ bảo mật sau:
- Xác thực server: Cho phép người sử dụng xác thực được server muốn kết
nối. Lúc này, phía browser sử dụng các kỹ thuật mã hố cơng khai để
chắc chắn rằng certificate và public ID của server là có giá trị và được cấp


18

phát bởi một CA (certificate authority) trong danh sách các CA đáng tin
cậy của client. Điều này rất quan trọng đối với người dùng. Ví dụ như khi

gửi mã số credit card qua mạng thì người dùng thực sự muốn kiểm tra liệu
server sẽ nhận thơng tin này có đúng là server mà họ định gửi đến không.
- Xác thực Client: Cho phép phía server xác thực được người sử dụng
muốn kết nối. Phía server cũng sử dụng các kỹ thuật mã hố cơng khai để
kiểm tra xem certificate và public ID của server có giá trị hay khơng và
được cấp phát bởi một CA (certificate authority) trong danh sách các CA
đáng tin cậy của server không. Điều này rất quan trọng đối với các nhà
cung cấp. Ví dụ như khi một ngân hàng định gửi các thông tin tài chính
mang tính bảo mật tới khách hàng thì họ rất muốn kiểm tra định danh của
người nhận.
- Mã hoá kết nối: Tất cả các thông tin trao đổi giữa client và server được
mã hoá trên đường truyền nhằm nâng cao khả năng bảo mật. Điều này rất
quan trọng đối với cả hai bên khi có các giao dịch mang tính riêng tư.
Ngoài ra, tất cả các dữ liệu được gửi đi trên một kết nối SSL đã được mã
hố cịn được bảo vệ nhờ cơ chế tự động phát hiện các xáo trộn, thay đổi
trong dữ liệu. ( đó là các thuật toán băm – hash algorithm).
Giao thức SSL bao gồm 2 giao thức con:
- Giao thức SSL record: xác định các định dạng dùng để truyền dữ liệu.
- Giao thức SSL handshake (gọi là giao thức bắt tay) : sử dụng SSL record
protocol để trao đổi một số thông tin giữa server và client vào lấn đầu tiên
thiết lập kết nối SSL.
Các thuật toán dùng trong SSL
Các thuật toán mã hoá và xác thực của SSL được sử dụng bao gồm:
- DES (Data Encryption Standard) là một thuật toán mã hố có chiều dài
khố là 56 bit.
-

3-DES (Triple-DES): là thuật tốn mã hố có độ dài khố gấp 3 lần độ
dài khoá trong mã hoá DES.



19

-

DSA (Digital Signature Algorithm): là một phần trong chuẩn về xác thực
số đang được được chính phủ Mỹ sử dụng.

- KEA (Key Exchange Algorithm) là một thuật toán trao đổi khố đang
được chính phủ Mỹ sử dụng.
- MD5 (Message Digest algorithm) được phát thiển bởi Rivest.
- RSA: là thuật toán mã hố cơng khai dùng cho cả q trình xác thực và
mã hoá dữ liệu được Rivest, Shamir, and Adleman phát triển.
- RSA key exchange: là thuật toán trao đổi khoá dùng trong SSL dựa trên
thuật toán RSA.
- RC2 and RC4: là các thuật toán mã hoá được phát triển bởi Rivest dùng
cho RSA Data Security.
- SHA-1 (Secure Hash Algorithm): là một thuật tốn băm đang được chính
phủ Mỹ sử dụng.
Khi một client và server trao đổi thông tin trong giai đoạn bắt tay
(handshake), họ sẽ xác định bộ mã hố mạnh nhất có thể và sử dụng chúng trong
phiên giao dịch SSL.
1.5.2. Chữ ký số
Chữ ký số - Digital Signature được tạo ra và kiểm tra bằng mật mã, đó là
một phương pháp thuộc lĩnh vực tốn học, nó chuyển tồn bộ message thành
một dạng khó có thể nhận dạng và có thể được giải mã. Chữ ký số sử dụng hai
khóa thơng dụng, một khóa để tạo ra chữ ký số hoặc chuyển message thành dạng
khó nhận dạng, một khóa dùng để kiểm tra digital signature hoặc để chuyển
message đã mã hóa về dạng nguyên thủy của nó.
Digital signature là cách cơ bản để bảo mật cho một tài liệu điện tử (e-mail,

spreaDigital Signatureheet_bảng tính, text file,...) đáng tin cậy. Đáng tin nghĩa là
bạn biết ai đã tạo ra tài liệu và bạn biết nó khơng bị thay đổi theo bất cứ cách
nào từ người tạo ra nó.


20

Digital signature dựa vào thuật toán mã hoá đế bảo đảm độ tin cậy. Độ tin
cậy là quá trình kiểm tra xác nhận được thông tin đến từ một nguồn tin cậy. Hai
quá trình này liên quan

chặt chẽ đến digital signature.

Một Digital Signature có thể được xem như một giá trị số, được biểu diễn
như một dãy các ký tự, và được sử dụng trong tin học như một biểu thức toán
học. Biểu thức phụ thuộc vào hai đầu vào: dãy các ký tự biểu diễn dòng dữ liệu
điện tử được ký và số bảo mật được tham chiếu đến như một signature public
key, điều này có nghĩa là với mỗi chữ ký thì chỉ duy nhất người đã ký mới có thể
truy xuất đến public key. Public key là khố cơng khai cho tất cả mọi người, nó
giống như số điện thoại trong danh bạ điện thoại, cho phép việc kiểm tra chữ ký.
Kết quả cho thấy việc biểu diễn chữ ký số gắn vào dữ liệu điện tử giống như sử
dụng chữ ký tay trên giấy trong tài liệu văn bản.
Digital signature làm việc dựa trên hai khoá là public key và private key và
thực hiện qua hai giai đoạn là việc hình thành chữ ký trên tài liệu ở phía người
gửi và việc xác nhận tài liệu nhận được chính xác và ngun vẹn hay khơng ở
phía người nhận.
Vấn đề bảo mật ở digital signature không giống với các phương pháp mã
hoá cổ điển là chỉ dùng một khoá cho cả việc mã hoá ở người gửi và giải mã ở
người nhận mà sử dụng hai khoá: private key để mã hoá và public key để giải
mã kiểm tra.



21

Hình 1. 6. Lược đồ ký và kiểm tra chữ ký số
Chữ ký số có một vai trị rất quan trọng trong thương mại điện tử. Với chữ
ký tay trên văn bản, người nhận rất khó có thể kiểm tra được độ chính xác, tính
xác thực của chữ ký. Tình trạng sử dụng chữ ký giả rất dễ xảy ra bởi không cần
phải làm đăng ký cho loại chữ ký này (trừ công chức cao cấp). Tuy nhiên, với
chữ ký số, người sử dụng phải đăng ký, vừa được đảm bảo độ an tồn, chính xác
bằng cơng nghệ hiện đại, vừa được xác thực bởi các tổ chức chứng thực... Do
đó, độ an tồn của chữ ký số cao hơn rất nhiều so với chữ ký tay truyền thống.
Chính bởi những ưu việt trên, cùng với sự phát triển nhanh chóng của mơi
trường giao dịch điện tử, chữ ký điện tử đã được công nhận và sử dụng rộng rãi
tại nhiều nước trên thế giới. Ngoài các nước phát triển như Mỹ, EU, Singapore,
Nhật Bản, Hàn Quốc..., chữ ký điện tử cũng đã được các nước Trung Quốc, Ấn
Độ, Brazil... cơng nhận và sử dụng.
1.5.3. Cơng cụ mã hóa PGP
Một ứng dụng cơ bản dễ thấy nhất của mã hóa chính là mã hóa dữ liệu lưu
trữ hoặc dữ liệu truyền đi. Có nhiều phần mềm ứng dụng được tạo ra dựa trên
đặc tính này của mã hóa. Ví dụ như để mã hóa cho email có phần mềm Outlook,
Thunderbird, Evolution,… hay sử dụng các kỹ thuật để mã hóa dữ liệu thì có


22

TrueCrypt, PGP Desktop,… Cơng cụ mã hóa PGP là rất nổi bật trong lĩnh vực
này.
1.5.3.1. Giới thiệu chung
Mã hóa PGP là một phần mềm máy tính dùng để mật mã hóa dữ liệu và xác

thực. Phiên bản PGP đầu tiên do Phil Zimmermann được công bố vào năm
1991. Kể từ đó, phần mềm này đã có nhiều cải tiến và hiện nay tập đoàn PGP
cung cấp phần mềm dựa trên nền tảng này.
1.5.3.2. Mục đích sử dụng PGP
Mục tiêu ban đầu của PGP nhằm vào mật mã hóa nội dung các thơng
điệp thư điện tử và các tệp đính kèm cho người dùng phổ thông. Bắt đầu
từ 2002, các sản phẩm PGP đã được đa dạng hóa thành một tập hợp ứng dụng
mật mã và có thể được đặt dưới sự quản trị của một máy chủ. Các ứng dụng
PGP giờ đây bao gồm: thư điện tử, chữ ký số, mật mã hóa ổ đĩa cứng máy tính
xách tay, bảo mật tệp và thư mục, bảo mật các phiên trao đổi IM, mật mã hóa
luồng chuyển tệp, bảo vệ các tệp và thư mục lưu trữ trên máy chủ mạng.
Phiên bản PGP Desktop 9.x dành cho máy để bàn bao gồm các tính năng:
thư điện tử, chữ ký số, bảo mật IM, mật mã hóa ổ đĩa cứng máy tính xách tay,
bảo mật tệp và thư mục, tệp nén tự giải mã, xóa file an tồn. Các tính năng riêng
biệt được cấp phép theo các cách khác nhau tùy theo yêu cầu.
Phiên bản PGP Universal 2.x dành cho máy chủ cho phép triển khai ứng
dụng tập trung, thiết lập chính sách an ninh và lập báo cáo. Phần mềm này được
dùng để mật mã hóa thư điện tử một cách tự động tại cổng ra vào (gateway) và
quản lý các phần mềm máy khách PGP Desktop 9.x. Nó làm việc với máy chủ
khóa cơng khai PGP (gọi là PGP Global Directory) để tìm kiếm khóa của người
nhận và có khả năng gửi thư điện tử an toàn ngay cả khi khơng tìm
thấy khóa của người nhận bằng cách sử dụng phiên làm việc HTTPS.
Với ứng dụng PGP Desktop 9.0 được quản lý bởi PGP Universal Server 2.0,
tất cả các ứng dụng mật mã hóa PGP được dựa trên nền kiến trúc proxy mới.
Các phần mềm này giúp loại bỏ việc sử dụng các plug-in của thư điện tử và


23

tránh cho người dùng việc sử dụng các ứng dụng khác. Tất cả các hoạt động của

máy chủ cũng như máy khách đều tự động tuân theo một chính sách an ninh.
PGP Universal server cịn tự động hóa các q trình tạo, quản lý và kết thúc các
khóa chia sẻ giữa các ứng dụng PGP.
Các phiên bản mới của PGP cho phép sử dụng cả 2 tiêu chuẩn: OpenPGP và
S/MIME, cho phép trao đổi với bất kỳ ứng dụng nào tuân theo tiêu chuẩn
của NIST.
1.5.3.3. Hoạt động của PGP
PGP sử dụng kết hợp mật mã hóa khóa cơng khai và thuật tốn khóa đối
xứng cộng thêm với hệ thống xác lập mối quan hệ giữa khóa cơng khai và chỉ
danh người dùng (ID). Phiên bản đầu tiên của hệ thống này thường được biết
dưới tên mạng lưới tín nhiệm dựa trên các mối quan hệ ngang hàng (khác với hệ
thống X.509 với cấu trúc cây dựa vào cácnhà cung cấp chứng thực số). Các
phiên bản PGP về sau dựa trên các kiến trúc tương tự như hạ tầng khóa cơng
khai.
PGP sử dụng thuật tốn mật mã hóa khóa bất đối xứng. Trong các hệ thống
này, người sử dụng đầu tiên phải có một cặp khóa: khóa cơng khai và khóa bí
mật. Người gửi sử dụng khóa cơng khai của người nhận để mã hóa một khóa
chung (cịn gọi là khóa phiên) dùng trong các thuật tốn mật mã hóa khóa đối
xứng. Khóa phiên này chính là khóa để mật mã hóa các thơng tin được gửi qua
lại trong phiên giao dịch. Rất nhiều khóa cơng khai của những người sử dụng
PGP được lưu trữ trên các máy chủ khóa PGP trên khắp thế giới (các máy chủ
mirror lẫn nhau).
Người nhận trong hệ thống PGP sử dụng khóa phiên để giải mã các gói tin.
Khóa phiên này cũng được gửi kèm với thơng điệp nhưng được mật mã hóa
bằng hệ thống mật mã bất đối xứng và có thể tự giải mã với khóa bí mật của
người nhận. Hệ thống phải sử dụng cả 2 dạng thuật toán để tận dụng ưu thế của
cả hai: thuật toán bất đối xứng đơn giản việcphân phối khóa cịn thuật tốn đối
xứng có ưu thế về tốc độ (nhanh hơn cỡ 1000 lần).



24

Một chiến lược tương tự cũng được dùng (mặc định) để phát hiện xem thơng
điệp có bị thay đổi hoặc giả mạo người gửi. Để thực hiện 2 mục tiêu trên người
gửi phải ký văn bản với thuật toán RSA hoặc DSA. Đầu tiên, PGP tính giá trị
hàm băm của thơng điệp rồi tạo ra chữ ký số với khóa bí mật của người gửi. Khi
nhận được văn bản, người nhận tính lại giá trị băm của văn bản đó đồng thời giải
mã chữ ký số bằng khóa cơng khai của người gửi. Nếu 2 giá trị này giống nhau
thì có thể khẳng định (với xác suất rất cao) là văn bản chưa bị thay đổi kể từ khi
gửi và người gửi đúng là người sở hữu khóa bí mật tương ứng.
Trong q trình mã hóa cũng như kiểm tra chữ ký, một điều vơ cùng quan
trọng là khóa cơng khai được sử dụng thực sự thuộc về người được cho là sở
hữu nó. Nếu chỉ đơn giản là download một khóa cơng khai từ đâu đó sẽ khơng
thể đảm bảo được điều này. PGP thực hiện việc phân phối khóa thơng
qua chứng thực số được tạo nên bởi những kỹ thuật mật mã sáo cho việc sửa đổi
(không hợp pháp) có thể dễ dàng bị phát hiện. Tuy nhiên chỉ điều này thơi thì
chưa đủ vì nó chỉ ngăn chặn được việc sửa đổi sau khi chứng thực đã được tạo
ra. Người dùng còn cần phải được trang bị khả năng kiểm tra xem khóa cơng
khai có thực sự thuộc về người được cho là sở hữu hay không. Từ phiên bản đầu
tiên, PGP đã có một cơ chế hỗ trợ điều này gọi là mạng lưới tín nhiệm. Mỗi
khóa cơng khai (rộng hơn là các thơng tin gắn với một khóa hay một người) đều
có thể được một bên thứ 3 xác nhận (theo cách điện tử).
Trong các đặc tả gần đây của OpenPGP, các chữ ký tin cậy có thể được sử
dụng để tạo ra các nhà cung cấp chứng thực số (CA). Một chữ ký tin cậy có thể
chứng tỏ rằng mơt khóa thực sự thuộc về một người sử dụng và người đó đáng
tin cậy để ký xác nhận một khóa của mức thấp hơn. Một chữ ký có mức 0 tương
đương với chữ ký trong mơ hình mạng lưới tín nhiệm. Chữ ký ở mức 1 tương
đương với chữ ký của một CA vì nó có khả năng xác nhận cho một số lượng
khơng hạn chế chữ ký ở mức 0. Chữ ký ở mức 2 tương tự như chữ ký trong danh
sách các CA mặc định trong Internet Explorer; nó cho phép người chủ tạo ra các

CA khác.


25

PGP cũng được thiết kế với khả năng hủy bỏ/thu hồi các chứng thực có khả
năng đã bị vơ hiệu hóa. Về một khía cạnh nào đó, điều này tương đương
với danh sách chứng thực bị thu hồi của mô hình hạ tầng khóa cơng khai. Các
phiên bản PGP gần đây cũng hỗ trợ tính năng hạn sử dụng của chứng thực.
Vấn đề xác định mối quan hệ giữa khóa công khai và người sở hữu không
phải là vấn đề riêng của PGP. Tất cả các hệ thống sử dụng khóa cơng khai/bí
mật đều phải đối phó với vấn đề này và cho đến nay chưa có một giải pháp hồn
thiện nào được tìm ra. Mơ hình ban đầu của PGP trao cho quyền quyết định cuối
cùng người sử dụng cịn các mơ hình PKI thì quy định tất cả các chứng thực
phải được xác nhận (có thể khơng trực tiếp) bởi một nhà cung cấp chứng thực
trung tâm.
1.5.3.4. Tính an toàn của PGP
Khi được sử dụng đúng cách, PGP được xem là có độ an tồn rất cao. Hiện
nay chưa có phương pháp nào được biết tới có khả năng phá vỡ được PGP ở tất
cả các phiên bản. Năm 1996, nhà mật mã học Bruce Schneier đánh giá các phiên
bản đầu tiên của PGP là "thứ gần nhất với mật mã hóa của quân đội mà mọi
người có được" (Applied Cryptography, xuất bản lần 2, trang 587).
Trái với những hệ thống an ninh/giao thức như SSL chỉ nhằm bảo vệ thơng
tin trên đường truyền, PGP có thể bảo vệ cả dữ liệu cho mục đích lưu trữ lâu dài
(hệ thống file).
Cũng giống như các hệ thống mật mã và phần mềm khác, an ninh của PGP
có thể bị vô hiệu trong trường hợp sử dụng sai hoặc thông qua các dạng tấn công
gián tiếp. Trong một trường hợp, FBI đã được tịa án cho phép cài đặt bí mật
phần mềm ghi nhận bàn phím (keystroke logging) để thu thập mật khẩu PGP của
người bị tình nghi. Sau đó, tồn bộ các tệp/email của người đó bị vơ hiệu và là

chứng cứ để kết án.
Ngoài những vấn đề trên, về khía cạnh mật mã học, an ninh của PGP phụ
thuộc vào các giả định về thuật tốn mà nó sử dụng trong điều kiện về thiết bị và
kỹ thuật đương thời. Chẳng hạn, phiên bản PGP đầu tiên sử dụng thuật


×