TIểu luận môn CHỨNG THỰC SỐ TÌM HIỂU CHUẨN MÃ HÓA DỮ LIỆU DES - Pdf 24

HỆ THỐNG CHỨNG THỰC SỐ KTMT02
1
MỤC LỤC
I. CRYPTOGRAPHIC MESSAGE SYNTAX STANDARD 3
1.Tổng quan chung 3
2. Các thành phần được sử dụng 3
2.1. CertificateRevocationLists 3
2.2. ContentEncryptionAlgorithmIdentifier 3
2.3. DigestAlgorithmIdentifier 4
2.4. DigestEncryptionAlgorithmIdentifier 4
2.5. ExtendedCertificateOrCertificate 4
2.6. ExtendedCertificatesAndCertificates 4
2.7. IssuerAndSerialNumber 5
2.8. KeyEncryptionAlgorithmIdentifier 5
2.9. Version 5
3. Cú pháp chung 5
4. Dạng nội dung dữ liệu 6
5. Loại dạng dung dữ liệu được ký 6
5.1 Dạng SignedData 7
5.2 Dạng SignerInfo 8
5.3 Quá trình message-digest 9
5.4 Quá trình mã hóa 10
5.5 Khả năng tương thích với Privacy-Enhanced Mail 11
6. Enveloped _các loại nội dung dữ liệu 12
6.1. Các loại EnvelopedData 13
6.2. RecipientInfo type 14
6.3. Nội dung quá trình mã hóa 14
6.4. Key-mã hóa quá trình 16
7. Các loại nội dung Signed-and-enveloped-data 16
7.1. SignedAndEnvelopedData Các loại nội dung ký kết-và-bao-dữ liệu có kiểu ASN.1 18
7.2. Digest_quá trình mã hóa 19

Dạng nội dung này có hai lớp : cơ bản và nâng cao. Loại nội dung trong dạng cơ bản
chỉ chứa dữ liệu, không có mật mã nâng cao. Hiện nay, một trong những nội dung loại này là
của lớp cơ bản. Các loại nội dung trong lớp nâng cao có chứa nội dung của một số loại (có thể
mã hóa), và mã hóa nâng cao khác.
Ví dụ, dữ liệu bao phủ nội dung có thể chứa (mã hóa) nội dung dữ liệu đã ký, mà cũng
có thể chứa nội dung dữ liệu. Bốn loại nội dung không chứa dữ liệu thuộc các lớp nâng cao.
Các loại nội dung trong lớp nâng cao do đó sử dụng sự đóng gói, tạo ra các điều khoản bên
ngoài và bên trong nội dung.
2. Các thành phần được sử dụng
2.1. CertificateRevocationLists
Các dạng CertificateRevocationLists cho một tập hợp các chứng nhận thu hồi các danh
sách. Nó được dự định rằng các thiết lập có chứa đủ thông tin để xác định xem liệu các chứng
nhận,cái mà được thiết lập có liên quan đến “hot list”,nhưng có thể có nhiều danh sách chứng
nhận được thu hồi hơn mức cần thiết, hoặc có thể ít hơn mức cần thiết.
CertificateRevocationLists ::= SET OF CertificateRevocationList
2.2. ContentEncryptionAlgorithmIdentifier
Các dạng ContentEncryptionAlgorithmIdentifier xác định một thuật toán mã hóa nội
dung như thuật toán DES. Một một thuật toán mã hóa nội dung hỗ trợ mã hóa và giải mã các
hoạt động(operation). Hoạt động mã hóa sắp đặt một chuỗi octet (tin nhắn) đến một chuỗi
HỆ THỐNG CHỨNG THỰC SỐ KTMT02
4
octet khác (bản mã) dưới sự kiểm soát của một khóa mã hóa nội dung. Hoạt động giải mã là
nghịch đảo của hoạt động mã hóa.
ContentEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
2.3. DigestAlgorithmIdentifier
Các dạng DigestAlgorithmIdentifier xác định một thuật toán message-digest. Ví dụ
như thuật toán MD2 và MD5.
DigestAlgorithmIdentifier ::= AlgorithmIdentifier
2.4. DigestEncryptionAlgorithmIdentifier
Các dạng DigestEncryptionAlgorithmIdentifier xác định một thuật toán digest-

thuật toán mã hóa RSA PKCS#1. Một thuật toán khóa mã hóa(key-encryption) hỗ trợ mã hóa
và giải mã các hoạt động của nó. Hoạt động mã hóa sắp đặt một chuỗi octet (tin nhắn) đến
một chuỗi octet khác (khóa được mã hóa) dưới sự kiểm soát của một khóa key-encryption.
Hoạt động giải mã là nghịch đảo của hoạt động mã hóa.
KeyEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
2.9. Version
Các dạng version cho biết một số phiên bản cú pháp.
Version ::= INTEGER
3. Cú pháp chung
ContentInfo ::= SEQUENCE {contentType ContentType,content [0] EXPLICIT ANY
DEFINED BY contentType OPTIONAL }
HỆ THỐNG CHỨNG THỰC SỐ KTMT02
6
ContentType ::= OBJECT IDENTIFIER
ContentType cho biết các dạng nội dung.Bao gồm sáu dạng nội dung sau : data,
signedData, envelopedData, signedAndEnvelopedData, digestedData, và encryptedData.
Content là nội dung. Kiểu dữ liệu này là tùy chọn và nếu không có mặt của nó, giá trị
dự định của nó phải được thay bởi kiểu dữ liệu cùng loại khác. Dạng của nó được xác định
cùng với đối tượng nhận diện cho ContentType.
4. Dạng nội dung dữ liệu
Các dạng nội dung dữ liệu chỉ là một chuỗi octet. Nó có kiểu dữ liệu ASN.1 :
Data ::= OCTET STRING
Dạng nội dung dữ liệu được dự định để chỉ đến chuỗi octet tùy ý, chẳng hạn như tập
tin văn bản ASCII. Những chuỗi như vậy không cần có bất kỳ cấu trúc nội bộ nào( mặc dù
chúng có thể, chúng thậm chí có thể được mã hóa bởi thuật toán DER.).
5. Loại dạng dung dữ liệu được ký
Các dạng nội dung dữ liệu được ký bao gồm bất kỳ loại nội dung nào và nội dung
message digest được mã hóa cho nhiều người ký hoặc không ai cả. Message digest cho một
người ký là một chữ kỹ số trên nội dung cho người ký đó. Bất kỳ dạng nội dung nào có thể
được ký bởi bất kỳ số người ký song song. Hơn nữa, cú pháp có một trường hợp suy biến mà

SignedData ::= SEQUENCE {version Version,digestAlgorithms
DigestAlgorithmIdentifiers,contentInfo ContentInfo,certificates[0] IMPLICIT
ExtendedCertificatesAndCertificates OPTIONAL,crls[1] IMPLICIT
CertificateRevocationLists OPTIONAL,signerInfos SignerInfos }
DigestAlgorithmIdentifiers ::=SET OF DigestAlgorithmIdentifier
SignerInfos ::= SET OF SignerInfo
DigestAlgorithms là một tập hợp message-digest,nhận dạng thuật toán digest. Có thể
có bất kỳ số lượng thành phần trong tập hợp, bao gồm cả số không. Mỗi yếu tố xác định thuật
toán message-digest và theo đó nội dung được digest cho một số người ký.
HỆ THỐNG CHỨNG THỰC SỐ KTMT02
8
ContentInfo là nội dung được ký. Nó có thể có bất kỳ dạng nội dung được xác định.
Crls là một tập hợp danh sách thu hồi chứng nhận. Nó xem xét có đủ thông tin để xác
định có hay không các chứng nhận trong danh sách chứng nhận “hot listed” , nhưng như vậy
thường không cần thiết. Có thể có nhiều danh sách chứng nhận thu hồi hơn mức cần thiết và
có thể có ít hơn danh sách chứng nhận thu hồi hơn mức cần thiết.
SignerInfos là tập hợp thông tin của mỗi người ký. Có thể có bất kỳ yếu tố nào trong
tập hợp, bao gồm số không.
5.2 Dạng SignerInfo
Thông tin mỗi người ký được đại diện trong dạng SignerInfo :
SignerInfo ::= SEQUENCE {version Version,issuerAndSerialNumber
IssuerAndSerialNumber,digestAlgorithm DigestAlgorithmIdentifier,authenticatedAttributes
[0] IMPLICIT Attributes OPTIONAL,digestEncryptionAlgorithm
DigestEncryptionAlgorithmIdentifier, encryptedDigest EncryptedDigest,
unauthenticatedAttributes[1] IMPLICIT Attributes OPTIONAL }
EncryptedDigest ::= OCTET STRING
Version là số phiên bản cú pháp. Nó sẽ là một phiên bản của tài liệu này.
IssuerAndSerialNumber quy định cụ thể giấy chứng nhận của người ký( và do đó phân
biệt tên người ký và khóa công khai) theo tên phân biệt công ty phát hành và số serial cụ thể
của tổ chức phát hành.

message-digest từ khi nó là cách giả định tính toán không khả thi để tìm bất kỳ hai khác biệt
tin nhắn của bất kỳ chiều dài nào có cùng message-digest.Hơn nữa, giả sử rằng dạng nội dung
duy nhất xác định nhận dạng octet, các định danh octet được bảo vệ hoàn toàn trong một hai
cách sau:hoặc bao gồm dạng nội dung trong thuộc tính xác thực, hoặc bằng cách sử dụng
PEM-tương thích thay thế trong đó có nghĩa là các dạng nội dung dữ liệu.
HỆ THỐNG CHỨNG THỰC SỐ KTMT02
10
5.4 Quá trình mã hóa
Các đầu vào cho quá trình mã hóa - giá trị cung cấp cho các thuật toán mã
hóa của người ký - bao gồm các kết quả của quá trình mã hóa thông điệp (không chính
thức, các "thông báo ") và các mã hóa thuật toán nhận dạng (hoặc đối tượng định danh) .Kết
quả của quá trình mã hóa là mã hóa với khóa riêngcủa người ký của các mã hóa BER của
một giá trị của loại DigestInfo:
DigestInfo ::= SEQUENCE { digestAlgorithm DigestAlgorithmIdentifier, digest
Digest }
Digest ::= OCTET STRING
Các loại DigestInfo có ý nghĩa sau đây:
DigestAlgorithm xác định các thông điệp mã hóa thuật toán(và bất kỳ các thông số liên
quan), theo đó các nội dung và cácthuộc tính xác thực được mã hóa. Nó sẽ giống
như các trường digestAlgorithm của giá trị SignerInfo cấp trên.
Mã hóa là kết quả của quá trình mã hóa thông điệp.
Chú ý.
1. Sự khác biệt duy nhất giữa quy trình chữ ký được định nghĩa ở đây và chữ ký
của các thuật toán xác định trong PKCS # 1 là có chữ ký có đại diện là chuỗi bit, cho phù
hợp với X.509 các chữ ký vĩ mô. Ở đây, mã hóa tin mã hóa tạo ra được chuỗi octet.
2. Các đầu vào cho quá trình mã hóa thông thường sẽ có 30 octet hoặc ít
hơn . Nếu digestEncryptionAlgorithm là PKCS # 1 của rsaEncryption, sau đó điều này có
nghĩa rằng các đầu vào có thểđược mã hóa trong một khối miễn là độ dài của mô đun RSA ít
nhất là 328 bit, điều này hợp lý và phù hợp với các khuyến nghị về độ an toàn .
3. Một tin nhắn, mã hóa thuật toán nhận dạng được bao gồm trong giá

1. Các giá trị đầu vào tin nhắn, phân loại thuật toán trong PEM là giống như trong tài
liệu này khi không có các thuộc tính xác thực. MD2 và MD5 trong PEM
giống như md2 và md5.
2. Giá trị mã hóa với khóa riêng của người ký trong PEM (theoquy định tại RFC 1423)
là tương tự như trong tài liệu này khi không có các thuộc tính xác thực. RSA tin-key mã
hóa trong PEM là giốngnhư rsaEncryption của PKCS # 1.
HỆ THỐNG CHỨNG THỰC SỐ KTMT02
12
Các phần khác trong nội dung các loại ký kết dữ liệu (giấy chứng nhận, CRLs, nhận
dạng thuật toán, vv) có thể dễ dàng dịch sang từ các thành phần tương ứng của PEM.
6. Enveloped _các loại nội dung dữ liệu
Các kiểu nội dung dữ liệu bao gồm các nội dung được mã hóa của bất kỳ loại
hình và nội dung các khóa mã hóa mật mã cho một hoặc nhiều người nhận. Sự kết
hợp của nội dung được mã hóa và khóa mã hóa nội dung mã hóa cho người nhận là một "
digital envelope " cho người nhận. Bất kỳ loại nội dung nào cũng có thể được bao bọc cho bất
kỳ số lượng người nhận song song.
Dự kiến ứng dụng điển hình của các loại nội dung bao-dữ liệu sẽ được đại diện
cho một hoặc nhiều người nhận về nội dung của dữ liệu, mã hóa, dữ liệu, hoặc các loại nội
dung ký kết dữ liệu.
Quá trình mà dữ liệu được xây dựng bao gồm các bước sau:
1. Một khóa mã hóa nội dung cho một thuật toán mã hóa nội dung cụ thể được tạo
ra ngẫu nhiên.
2. Đối với mỗi người nhận, các khóa mã hóa nội dung đượcmã hóa với khóa công
cộng của người nhận.
3. Đối với mỗi người nhận, mã hóa nôi dung của các khóa và các thông tin người
nhận cụ thể khác thu thập được thành một giá trị RecipientInfo
4. Nội dung được mã hóa với khóa mã hóa nội dung. (Nội dung mã hóa có thể yêu
cầu rằng nội dung được đệm thêm vào một bội số của một khối với kích thước nào
đó; xem Phần 10,3 thảo luận).
5. RecipientInfo _Các giá trị cho tất cả những người nhận được thu thập cùng

số liên quan) theo đó nội dung được mã hóa.
Quá trình mã hóa nội dung được mô tả trong mục 10.3.Thuật toán này là như
nhau cho tất cả người nhận.
EncryptedContent là kết quả của mã hóa nội dung. Lĩnh vực này là tùy
chọn, và nếu trường không có, giá trị dự định của nó phải được cung cấp bởi các phương
tiện khác.
HỆ THỐNG CHỨNG THỰC SỐ KTMT02
14
Lưu ý.
Thực tế là lĩnh vực recipientInfos đến trước khi các trường encryptedContentInfo làm
cho nó có thể xử lý một giá trị EnvelopedData trong một truyền đơn.
6.2. RecipientInfo type
Mỗi thông tin người nhận được đại diện trong loại RecipientInfo :
RecipientInfo ::= SEQUENCE {version Version, issuerAndSerialNumber
IssuerAndSerialNumber, keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
encryptedKey EncryptedKey }
EncryptedKey ::= OCTET STRING
Các lĩnh vực loại RecipientInfo có ý nghĩa sau đây:
Version là phiên bản số cú pháp. Nó sẽ là 0 cho phiên bảncủa tài liệu.
IssuerAndSerialNumber quy định cụ thể của người nhận giấy chứng nhận (và do
đó tên phân biệt của người nhận và khoá công khai) theo tên công ty phát hành tốt và tổ chức
phát hành cụ thể số.
KeyEncryptionAlgorithm xác định các thuật toán mã hóa khóa(và bất kỳ liên quan
đến các thông số), theo đó các phím mã hóa nội dung được mã hóa với khóa công cộng của
người nhận. Quá trìnhmã hóa chính được mô tả trong mục 10.4.
EncryptedKey là kết quả của mã hóa nội dung quan trọnghóa với khóa công
cộng của người nhận
6.3. Nội dung quá trình mã hóa
Các đầu vào cho quá trình mã hóa nội dung là "giá trị " của nội dung đang được bao
bọc. Cụ thể, đầu vào là các octet nội dung của một mã hóa BER xác định độ dài của lĩnh

.
.
k k k k if l mod k = 0
HỆ THỐNG CHỨNG THỰC SỐ KTMT02
16
Đệm này có thể được loại bỏ rõ ràng từ đầu vào tất cả được đệm và không
có chuỗi đệm là một hậu tố khác. Phương pháp này đệm được xác định nếu và chỉ
nếu k <256; phương pháp k lớn hơn là một vấn đề mở cho nghiên cứu thêm.
6.4. Key-mã hóa quá trình
Các đầu vào cho quá trình mã hóa khóa - giá trị cung cấp cho cácthuật toán mã
hóa khóa của người nhận - chỉ là "giá trị" của khóa mã hóa nội dung.
7. Các loại nội dung Signed-and-enveloped-data
Các loại nội dung ký kết-và-bao-dữ liệu bao gồm các nội dung được mã hóa của bất
kỳ loại, nội dung các khóa mã hóa mật mã cho một hoặc nhiều người nhận, và giải mã cho
một hoặc nhiều người ký tên. Các "đôi mã hóa" bao gồm một mã
hóa với khóa riêng của người ký tên tiếp theo là một mã hóa với khóa mã hóa nội dung.
Sự kết hợp của nội dung được mã hóa và khóa mã hóa nội dung mã hóa cho người
nhận là một "kỹ thuật số phong bì" cho người nhận. Các tin nhắn được mã hóa đơn
phương thu hồi mã hóa cho người ký là một "chữ ký số" vào nội dung thu hồi cho người
ký đó.Bất kỳ loại nội dung có thể được bao bọc cho bất kỳ số lượng người nhận và chữ ký
của bất kỳ số lượng người ký tên song song.
Dự kiến ứng dụng điển hình của kiểu nội dung đã ký kết-và-bao-dữ liệu sẽ được đại
diện cho một trong những người ký chữ ký số và một hoặc nhiều người nhận "phong bì kỹ
thuật số trên nội dung của các kiểu nội dung dữ liệu.
Quá trình Signed-and-enveloped-data được xây dựng bao gồm các bước sau:
1. Một khóa mã hóa nội dung cho một thuật toán mã hóa nội dung cụ thể được tạo ra
ngẫu nhiên.
2. Đối với mỗi người nhận, các khóa mã hóa nội dung được mã hóa với khóa công
cộng của người nhận.
3. Đối với mỗi người nhận, nội dung, mã hóa mật mã khóa và các thông tin người nhận

Tuy nhiên, kể từ khi loại ký-và-bao-dữ liệu nội dung không có chứng thực hoặc chưa
được xác định các thuộc tính, cũng không cung cấp bao bọc của người ký thông
HỆ THỐNG CHỨNG THỰC SỐ KTMT02
18
tin khác với chữ ký, sự kết hợp của các ký tự dữ liệu và các loại nội dung bao dữ liệu thường
được ưa chuộng hơn các loại nội dung Signed AndEnvelopedData, trừ khi khả năng tương
thích với các loại quá trình mã hóa trong Privacy-Enhanced Mailtrong dự định.
7.1. SignedAndEnvelopedData
Các loại nội dung ký kết-và-bao-dữ liệu có kiểu ASN.1
SignedAndEnvelopedData:
SignedAndEnvelopedData ::= SEQUENCE { version Version, recipientInfos
RecipientInfos, digestAlgorithms DigestAlgorithmIdentifiers, encryptedContentInfo
EncryptedContentInfo, certificates [0] IMPLICIT ExtendedCertificatesAndCertificates
OPTIONAL, crls[1] IMPLICIT CertificateRevocationLists OPTIONAL, signerInfos
SignerInfos }
Các lĩnh vực loại SignedAndEnvelopedData có ý nghĩa sau đây:
Phiên bản là phiên bản số cú pháp. Nó sẽ là 1 cho phiên bản của tài liệu.
RecipientInfos là một bộ sưu tập của mỗi người nhận thông tin, như trong Mục 10.
Phải có ít nhất một phần tử trong bộ sưu tập.
DigestAlgorithms là một bộ sưu tập của tin nhắn, tiêu hóa thuật toán nhận dạng, như
trong Mục 9. Quá trình tiêu hóa thông điệp tương tự như trong Mục 9 trong trường hợp khi
không có các thuộc tính xác thực.
EncryptedContentInfo là nội dung được mã hóa, như trong Mục 10. Nó có thể có bất
kỳ các loại nội dung quy định.
Giấy chứng nhận là một bộ PKCS # 6 mở rộng các chứng chỉ và giấy chứng nhận
X.509, như trong Mục 9.
CRLs là một tập hợp các danh sách thu hồi chứng chỉ, như trong Mục 9.
SignerInfos là một bộ sưu tập của mỗi người ký thông tin. Phải có ít nhất một phần tử
trong bộ sưu tập. SignerInfo giá trị có cùng một nghĩa như trong Mục 9 ngoại trừ lĩnh vực
encryptedDigest.

20
hóa tiêu hóa là PKCS # 1 của rsaEncryption, và các thuật toán mã hóa khóa PKCS # 1 của
rsaEncryption. Trong tất cả những điều kiện, thông điệp được mã hóa gấp đôi tiêu hóa và các
nội dung được mã hóa mã hóa khóa phù hợp với những người sản xuất trong PEM vì lý do
tương tự như nêu trong mục 9.5, cũng như những điều sau đây:
1. Các giá trị đầu vào đến các thuật toán mã hóa nội dung trong PEM là giống như
trong tài liệu này. DES trong chế độ CBC giống như desCBC.
2. Các giá trị đầu vào đến các thuật toán mã hóa khóa trong PEM là giống như trong
tài liệu này (xem Phần 10,4). RSA khoá công khai mã hóa trong PEM là giống như
rsaEncryption PKCS # 1.
3. Quá trình mã hóa hai lần áp dụng cho các thông điệp tiêu hóa trong tài liệu này và
PEM là như nhau.
Các bộ phận khác của các loại nội dung ký kết-và-bao-dữ liệu (giấy chứng nhận,
CRLs, nhận dạng thuật toán, vv) có thể dễ dàng dịch sang và từ các thành phần tương ứng của
PEM. (CRLs được thực hiện trong một tin nhắn PEM riêng.)
8. Digested-data content type
Các loại nội dung giải mã dữ liệu bao gồm các nội dung của bất kỳ loại nào và một tin
nhắn tiêu hóa của nội dung.
Dự kiến ứng dụng điển hình của kiểu nội dung tiêu hóa, dữ liệu sẽ được cho thêmtính
toàn vẹn nội dung của kiểu dữ liệu nội dung, và rằng kết quả sẽ trở thành đầu vàonội dung
cho các loại nội dung bao-dữ liệu.
Quá trình mà giải mã dữ liệu được xây dựng bao gồm các bước sau:
1. Một tin nhắn mã hóa được tính vào nội dung với một tin nhắn, giả mã thuật toán.
2. Thông điệp-giải mã thuật toán và thông tin giải mã được thu thập cùng với các nội
dung vào một giá trị DigestedData.
Một người nhận xác minh thông tin giải mã bằng cách so sánh các thông điệp giải mã
với một thông báo độc lập tính toán giải mã.
Các kiểu nội dung dữ liệu giải mã có trách nhiệm ASN.1 DigestedData loại:
HỆ THỐNG CHỨNG THỰC SỐ KTMT02
21

10. Đối tượng nhận dạng
Tài liệu này định nghĩa bởi bảy đối tượng nhận dạng: PKCS-7, dữ
liệu, signedData envelopedData,, signedAndEnvelopedData, digestedData, vàEncryptedData.
Các đối tượng nhận dạng PKCS-7 xác định tài liệu này.
pkcs-7 OBJECT IDENTIFIER ::={ iso(1) member-body(2) US(840) rsadsi(113549)
pkcs(1) 7 }
Các đối tượng nhận dạng dữ liệu, bao gồm : signedData, envelopedData,signed
ndEnvelopedData, digestedData, và EncryptedData, xác định, tương ứng, các dữ liệu, ký
kết, dữ liệu, bao bọc dữ liệu, ký kết-và-bao-dữ liệu, tiêu hóa, dữ liệu, và các loại dữ liệu được
mã hóa nội dung quy định trong mục 8-13.
data OBJECT IDENTIFIER ::= { pkcs-7 1 }
signedData OBJECT IDENTIFIER ::= { pkcs-7 2 }
envelopedData OBJECT IDENTIFIER ::= { pkcs-7 3 }
signedAndEnvelopedData OBJECT IDENTIFIER ::={ pkcs-7 4 }
digestedData OBJECT IDENTIFIER ::= { pkcs-7 5 }
encryptedData OBJECT IDENTIFIER ::= { pkcs-7 6 }
Những định danh đối tượng được định để được sử dụng trong lĩnh vực contentType
của một giá trị của loại ContentInfo (xem Phần 5). Các loại thành phần nội dung, trong đó có
cú pháp kiểu nội dung cụ thể bất kỳ được xác định bởi contentType, sẽ có kiểu dữ liệu
ASN.1, SignedData, EnvelopedData, SignedAndEnvelopedData, DigestedData, và
EncryptedData, tương ứng. Những định danh đối tượng cũng dự định được sử dụng trong một
thuộc tính nội dung kiểu PKCS # 9.
Lịch sử sửa đổi
Phiên bản 1.0-1.3
1.0-1.3 phiên bản đã được phân phát cho người tham gia RSA Data Security, Key
Cryptography trong cuộc họp tiêu chuẩn vào tháng Hai và tháng Ba năm 1991.
Phiên bản 1.4
HỆ THỐNG CHỨNG THỰC SỐ KTMT02
23
Phiên bản 1.4 là một phần của phiên bản 03 tháng 6 năm 1991 phát hành ra công

bít chẵn lẻ nằm ở các vị trí 8, 16, 24, , 64. Tức là cứ 8 bít khoá thì trong đó có 1 bít kiểm
soát lỗi, bít này qui định số bít có giá trị “1” của khối 8 bít đó theo tính bù chẵn.
Nền tảng để xây dựng khối của DES là sự kết hợp đơn giản của các kỹ thuật thay thế
và hoán vị bản rõ dựa trên khoá. Đó là các vòng lặp. DES sử dụng 16 vòng lặp, nó áp dụng
cùng một kiểu kết hợp của các kỹ thuật trên khối bản rõ 16 lần (Như hình vẽ)Thuật toán chỉ
sử dụng các phép toán số học và lôgíc trên các số 64 bít, vì vậy nó dễ dàng thực hiện vào
những năm 1970 trong điều kiện về công nghệ phần cứng lúc bấy giờ. Ban đầu, sự thực hiện
các phần mềm kiểu này rất thô sơ, nhưng hiện tại thì việc đó đã tốt hơn, và với đặc tính lặp đi
lặp lại của thuật toán đã tạo nên ý tưởng sử dụng chíp với mục đích đặc biệt này.
HỆ THỐNG CHỨNG THỰC SỐ KTMT02
25
Tóm lại DES có một số đặc điểm sau:
♦ Sử dụng khoá 56 bít.
♦ Xử lý khối vào 64 bít, biến đổi khối vào thành khối ra 64 bít.
♦ Mã hoá và giải mã được sử dụng cùng một khoá.
♦ DES được thiết kế để chạy trên phần cứng.
DES thường được sử dụng để mã hoá các dòng dữ liệu mạng và mã hoá dữ liệu được lưu trữ
trên đĩa.
2. Mô tả thuật toán
DES thực hiện trên từng khối 64 bít bản rõ. Sau khi thực hiện hoán vị khởi đầu, khối
dữ liệu được chia làm hai nửa trái và phải, mỗi nửa 32 bít. Tiếp đó, có 16 vòng lặp giống hệt
nhau được thực hiện, được gọi là các hàm ƒ, trong đó dữ liệu được kết hợp với khoá. Sau 16

Trích đoạn Sự an toàn của DES Tranh luận về DES
Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status