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 messagedigest ........................................................................................................................ 9 5.4 Quá trình mã hóa.................................................................................................................................. 10 5.5 Khả năng tương thích với PrivacyEnhanced 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. Keymã hóa quá trình.......................................................................................................................... 16 7. Các loại nội dung Signedandenvelopeddata ............................................................................................... 16 7.1. SignedAndEnvelopedData Các loại nội dung ký kếtvàbaodữ liệu có kiểu ASN.1................. 18 7.2. Digest_quá trình mã hóa ...................................................................................................................... 19 7.3. Khả năng tương thích với PrivacyEnhanced Mail.............................................................................. 19 HỆ THỐNG CHỨNG THỰC SỐ KTMT02 2 8. Digesteddata content type............................................................................................................................. 20 9. Encrypteddata content type........................................................................................................................... 21 10. Đối tượng nhận dạng.................................................................................................................................... 22 II. CHUẨN MÃ HÓA DỮ LIỆU DES (DATA ENCRYPTION STANDARD) ............................................... 24 1. Giới thiệu chung về DES ............................................................................................................................... 24 2. Mô tả thuật toán ............................................................................................................................................. 25 3.Hoán vị khởi đầu............................................................................................................................................. 26 4. Khoá chuyển đổi ............................................................................................................................................ 27 5. Hoán vị mở rộng ............................................................................................................................................ 28 6. Hộp thay thế S................................................................................................................................................ 28 7. Hộp hoán vị P................................................................................................................................................. 30 8. Hoán vị cuối cùng .......................................................................................................................................... 31 9. Giải mã DES .................................................................................................................................................. 31 10. Phần cứng và phần mềm thực hiện DES....................................................................................................... 32 11. Sự an toàn của DES ..................................................................................................................................... 32 12. Tranh luận về DES....................................................................................................................................... 33 13. DES trong thực tế......................................................................................................................................... 35 III. DEMO........................................................................................................................................................ 356 TÀI LIỆU THAM KHẢO ................................................................................................................................. 47
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 7.3. Khả năng tương thích với Privacy-Enhanced Mail 19 HỆ THỐNG CHỨNG THỰC SỐ KTMT02 2 8. Digested-data content type 20 9. Encrypted-data content type 21 10. Đối tượng nhận dạng 22 II. CHUẨN MÃ HÓA DỮ LIỆU DES (DATA ENCRYPTION STANDARD) 24 1. Giới thiệu chung về DES 24 2. Mô tả thuật toán 25 3.Hoán vị khởi đầu 26 4. Khoá chuyển đổi 27 5. Hoán vị mở rộng 28 6. Hộp thay thế S 28 7. Hộp hoán vị P 30 8. Hoán vị cuối cùng 31 9. Giải mã DES 31 10. Phần cứng và phần mềm thực hiện DES 32 11. Sự an toàn của DES 32 12. Tranh luận về DES 33 13. DES trong thực tế 35 III. DEMO 356 TÀI LIỆU THAM KHẢO 47 HỆ THỐNG CHỨNG THỰC SỐ KTMT02 3 I. CRYPTOGRAPHIC MESSAGE SYNTAX STANDARD Tiêu chuẩn này mô tả cú pháp chung cho dữ liệu mà có thể có mật mã, áp dụng cho nó, chẳng hạn như chữ ký số và phong thư kỹ thuật số. 1.Tổng quan chung Các phần sau trình bày về các dạng hữu dụng (useful), cú pháp chung, sáu dạng nội dung và nhận dạng đối tượng. 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- encryption dưới dạng một message digest có thể được mã hóa. Ví dụ thuật toán mã hóa RSA PKCS #1. Một thuật toán digest-encryption 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 octet khác (bản mã) dưới sự kiểm soát của một khóa digest-encryption. Hoạt động giải mã là nghịch đảo của hoạt động mã hóa. DigestEncryptionAlgorithmIdentifier ::= AlgorithmIdentifier 2.5. ExtendedCertificateOrCertificate Các dạng ExtendedCertificateOrCertificate có hai loại hoặc là PKCS #6 gia hạn giấy chứng nhận hay chứng nhận X.509. Dạng này theo cú pháp giới thiệu trong phần 6 của PKCS#6: ExtendedCertificateOrCertificate ::= CHOICE { certificate Certificate, X.509 extendedCertificate [0] IMPLICIT ExtendedCertificate } 2.6. ExtendedCertificatesAndCertificates Các dạng ExtendedCertificatesAndCertificates cho một tập hợp mở rộng các chứng nhận và giấy chứng nhận X.509. Nó được đự định rằng các thiết lập đủ để chứa các chuỗi từ HỆ THỐNG CHỨNG THỰC SỐ KTMT02 5 “root” hay “top-level certification authority” được công nhận cho tất cả những người ký giấy chứng nhận người mà đưa ra thiết lập có liên quan, nhưng có thể có nhiều giấy chứng nhận hơn mức cần thiết, hay ít hơn mức cần thiết. ExtendedCertificatesAndCertificates ::= SET OF ExtendedCertificateOrCertificate 2.7. IssuerAndSerialNumber Các dạng IssuerAndSerialNumber xác định một giấy chứng nhận bởi tên phân biệt của người phát hành giấy chứng nhận và một tổ chức phát hành cụ thể số serial của giấy chứng nhận. IssuerAndSerialNumber ::= SEQUENCE { issuer Name,serialNumber CertificateSerialNumber } 2.8. KeyEncryptionAlgorithmIdentifier Các dạng KeyEncryptionAlgorithmIdentifier xác định một thuật toán khóa mã hóa(key-encryption) theo đó một khóa mã hóa nội dung có thể được mã hóa. Một ví dụ là 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à không có người ký tên vào nội dung. Các trường hợp suy biến cung cấp một phương tiện phổ biến các danh sách chứng nhận và thu hồi chứng nhận. Dự kiến ứng dụng điển hình của loại nội dung dữ liệu được ký sẽ được đại diện bởi một chữ ký số của người ký trên nội dung của dạng nội dung dữ liệu. Một ứng dụng tiêu biểu sẽ được phổ biến danh sách các chứng nhận và thu hồi chứng nhận. Quá trình mà ký dữ liệu được xây dựng liên quan đến các bước sau: Đối với mỗi người ký, message digest được tính toán dựa trên nội dung thuật toán message digest với một người ký cụ thể.( Nếu có từ hai người ký sử dụng cùng một thuật toán message digest, sau đó message digest cần được tính toán cho chỉ một người trong số họ được HỆ THỐNG CHỨNG THỰC SỐ KTMT02 7 sử dụng). Nếu người ký đang chứng thực bất kì thông tin nào khác ngoài nội dung, nội dung của message digest và bất kì thông tin nào khác được digest với thuật toán message digest của người ký và kết quả sẽ trở thành “message digest”. Đối với mỗi người ký, message digest và liên kết thông tin được mã hóa với khóa private của người ký. Đối với mỗi người ký, message digest được mã hóa và thông tin người ký cụ thể khác được thu thập thành một giá trị SignerInfo. Danh sách chứng nhận và thu hồi chứng nhận cho mỗi người ký, và những người không tương ứng với bất kỳ người ký nào được thu thập trong bước này. Thuật toán message digest và những giá trị SignerInfo cho tất cả người ký được thu thập liên quan đến nội dung giá trị SignData. Một người nhận xác minh chữ ký bằng cách giải mã message digest được mã hóa cho mỗi người ký với khóa công khai của người ký, sau đó so sánh các message digest được thu hồi với tính độc lập message digest. Khóa công khai của người ký là phần hoặc được chứa trong một chứng nhận bao gồm thông tin người ký, hoặc được tham chiếu bởi tên phân biệt công ty phát hành và một số tổ chức phát hành cụ thể mà nhận ra duy nhất giấy chứng nhận cho khóa công khai. 5.1 Dạng SignedData Các dạng nội dung chữ ký dữ liệu(signed-data) : 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. DegestAlgorithm xác định các thuật toán message-digest( và bất kỳ các thông số có liên quan) theo đó nội dung và các thuộc tính xác thực (nếu có) được digest. Nó sẽ là một trong số những phần trong digestAlgorithms của giá trị SignerInfo. AuthenticateAttributes là một tập các thuộc tính được ký bởi người ký. DigestEncyptionAlgorithm xác định thuật toán mã hóa message-digest ( và bất kì các thông số có liên quan) theo đó message digest và những thông tin liên quan được mã hóa với khóa private của người ký. EncryptedDigest là kết quả của việc mã hóa message digest và thông tin liên quan với khóa private của người ký. HỆ THỐNG CHỨNG THỰC SỐ KTMT02 9 UnauthenticatedAttributes là một tập các thuộc tính mà không phải ký(tức là,chứng thực) bởi người ký. Lĩnh vực này là tùy chọn. 5.3 Quá trình message-digest Quá trình message-digest tính toán một message digest hoặc là nội dung được ký hoặc nội dung liên quan đến thuộc tính xác thực của người ký. Trong cả hai trường hợp, đầu vào cho quá trình message-digest là “giá trị” của nội dung được ký. Cụ thể, đầu vào ban đầu là nội dung chuỗi octet của mã DER của lĩnh vực nội dung của giá trị ContentInfo mà quá trình ký được áp dụng.Chỉ nội dung octet của mã DER của trường này được digest, không phải là nhận dạng octet hay chiều dài octet. Kết quả của quá trình message-digest phụ thuộc vào trường authenticatedAttributes là hiện diện. Khi trường này vắng mặt, kết quả chỉ là nội dung message-digest. Khi trường này hiện diện, tuy nhiên, kết quả là message-digest của mã DER hoàn thiện của giá trị Attribute chứa trong trường authenticatedAttributes. Khi nội dung được ký có chứa dạng dữ liệu và trường authenticatedAttributes vắng mặt, sau đó chỉ cần giá trị của dữ liệu(nội dung các file) được digest. Điều này có lợi thế rằng chiều dài cảu nội dung được ký không cần phải được biết trước quá trình mã hóa. Phương thức này tương thích với Privacy-Enhanced Mail. Mặc dù nhận diện octet và chiều dài octet không được digest, chúng vẫn được bảo vệ bởi thành phần cùng chức năng khác. Chiều dài octet được bảo vệ bởi bản chất của thuật toán 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á trị DigestInfo để hạn chế thiệt hại do việc thỏa hiệp của một thông điệp mã hóa thuật toán. Ví dụ, giả sử một đối thủ có thể tìm thấy thư với một tin nhắn MD2 cho mã hóa. Kẻ thù sau đó có thể giả mạo một chữ ký bằng cách tìm một tin nhắn với thông điệp cùng MD2 mã hóa là một trong những người ký tên trước đây đã ký kết, và trình bày chữ ký trước đây là chữ ký trên các tin nhắn mới. Cuộc tấn công này sẽ thành công nếu người ký trước đây sử dụng MD2, vì giá trị DigestInfo chứa các thông điệp mã hóa thuật toán. Nếu người ký không [...]... 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ì"... 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... các nội dung được mã hóa thành một giá trị SignedAndEnvelopedData Một người nhận mở phong bì và xác nhận chữ ký theo hai bước Thứ nhất, một trong các phím mã hóa nội dung mã hóa được giải mã với khóa riêng của người nhận, và các nội dung mã hóa được giải mã với khóa mã hóa nội dung phục hồi Thứ hai, thông điệp được mã hóa gấp đôi tiêu hóa cho mỗi người ký tên là giải mã với khóa mã hóa nội dung phục... ký, và kết quả là mã hóa với khóa mã hóa nội dung (Các mã hoá thứ hai có thể yêu cầu rằng các kết quả của việc mã hóa đầu tiên được đệm thêm vào một bội số của một số kích thước khối 6 Đối với mỗi người ký, thông báo gấp đôi mã hóa tiêu hóa và các thông tin cụ thể của người ký được thu thập vào một giá trị SignerInfo 7 Nội dung được mã hóa với khóa mã hóa nội dung 8 Thông điệp -mã hóa thuật toán cho... mã hóa dữ liệu đó không có người nhận cũng không mã hóa nội dung các khóa mã hóa Các phím được cho là được quản lý bởi các phương tiện khác Dự kiến ứng dụng điển hình của kiểu nội dung mã hóa dữ liệu sẽ được mã hóa nội dung của các loại nội dung dữ liệu cho việc lưu trữ địa phương, có lẽ nơi mà các khóa mã hóa là một mật khẩu Các loại nội dung mã hóa dữ liệu EncryptedData loại ASN.1: EncryptedData ::=... thêm vào HỆ THỐNG CHỨNG THỰC SỐ KTMT02 II CHUẨN MÃ HÓA DỮ LIỆU DES (DATA ENCRYPTION STANDARD) 1 Giới thiệu chung về DES Chuẩn mã hoá dữ liệu DES được Văn phòng tiêu chuẩn của Mỹ (U.S National Bureau for Standards) công bố năm 1971 để sử dụng trong các cơ quan chính phủ liên bang Giải thuật được phát triển tại Công ty IBM dựa trên hệ mã hoá LUCIFER của Feistel DES là thuật toán mã hoá khối (block algrithm),... 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ự... kết-và-bao -dữ liệu cung cấp các cải tiến mã hóa tương tự nhưnhững hệ quả từ 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 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 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ữ. .. trình mã hóa của PEM xảy ra khi các kiểu nội dung của các giá trị ContentInfo được ký kết và bao trùm là dữ liệu, tin nhắn, tiêu hóa thuật toán là md2 hoặc md5, thuật toán mã hóa nội dung là DES trong chế độ CBC, thuật toán mã HỆ THỐNG CHỨNG THỰC SỐ KTMT02 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ã. .. 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 . khóa mã hóa( key-encryption) theo đó một khóa mã hóa nội dung có thể được mã hóa. Một ví dụ là 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ã. hóa& quot; 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à. nội dung mã hóa được giải mã với khóa mã hóa nội dung phục hồi. Thứ hai, thông điệp được mã hóa gấp đôi tiêu hóa cho mỗi người ký tên là giải mã với khóa mã hóa nội dung phục hồi, kết quả là giải mã