Luồng mã hóa giản lược phải được ghi lại theo các bước sau:
1.Dò lên từ điểm bắt đầu của luồng mã hóa giản lược mỗi 8 byte để cung cấp không gian cho các trường StreamDescriptorArrayOffset và
StreamDescriptorArraySize, việc này sẽ được ghi lại ở bước 8. Cho
BlockNumber ban đầu là 0x00000000.
2.Nếu các luồng hoặc các kho bổ sung được cung cấp bởi ứng dụng, cho mỗi luồng hoặc mỗi kho thực hiện theo các bước sau:
a) Nếu dữ liệu được chứa cùng với một luồng thì lấy lại nội dung của luồng. Chuẩn bị khóa mã như đã nêu ở mục 4.1.8, sử dụng một block 0x00000000 và mã hóa dữ liệu luồng. Ghi các byte đã mã hóa vào trong luồng mã hóa giản lược.
b) Nếu dữ liệu được chứa cùng với một kho thì biến đổi kho vào một file. Chuẩn bị khóa mã như đã nêu ở mục 4.1.8, sử dụng một
BlcokNumber và mã hóa dữ liệu kho như một luồng các byte. Ghi các byte đã mã hóa vào trong luồng mã hóa giản lược.
c) Thiết lập các trường có EncryptedStreamDescriptor đã được liên kết cho luồng hoặc kho. Chưa ghi nó vào luồng mã hóa giản lược ngay.
d) Tăng BlockNumber.
3.Sinh hoặc thu được toàn bộ nội dung của luồng
\0x05SummaryInformation. Khởi tạo khóa mã như đã nêu ở mực 4.1.8, sử dụng số block của BlockNumber, và mã hóa dữ liệu
\0x05SummaryInformationStream. Ghi các byte đã mã hóa vào trong luồng mã hóa giản lược. Tăng BlockNumber.
4.Thiết lập các trường cùng với EncryptedStreamDescriptor đã được liên kết cho luồng \0x05SummaryInformation. Chưa ghi nó vào luồng mã hóa giản lược ngay.
55
5.Sinh hoặc thu được dữ liệu được chứa cùng luồng
\0x05DocumentSummaryInformation. Khởi tạo khóa mã như đã nêu ở 4.1.8, sử dụng số block của BlockNumber và mã hóa dữ liệu
\0x05DocumentSummaryInformationStream. Ghi các byte đã mã hóa vào luồng mã hóa giản lược theo ngay sau dữ liệu đã ghi ở bước 2. 6.Thiết lập các trường cùng với EncryptedStreamDescriptor đã được
liên kết cho luồng \0x05DocumentSummaryInformation. Chưa ghi nó vào luồng mã hóa giản lược ngay.
7.Ghi EncryptedStreamDescriptorCount và
EncryptedStreamDescriptorArray theo sự khởi tạo khóa mã như đã nêu ở mục 4.1.8, sử dụng số block của 0x00000000. Móc nối và mã hóa
EncryptedStreamDescriptorCount và EncryptedStreamDescriptor. Ghi các byte đã mã hóa vào luồng mã hóa giản lược.
8.Khởi tạo các trương StreamDescriptorArrayOffset và
StreamDescriptorArraySize để chỉ rõ vị trí đã mã hóa của
EncryptedStreamDescriptorCount và kích thước của
EncryptedStreamDescriptorCount và
EncryptedStreamDescriptorArray cùng với luồng mã hóa giản lược. Khởi tạo khóa mã như đã nêu ở mục 4.1.8, sử dụng số block của 0x00000000.