As per Relevance of the word compression, we have this rfc below:
Network Working Group P.
Request for Comments: 3274 University of
Category: Standards Track June 2002
Compressed Data Content Type
Cryptographic Message Syntax (CMS
Status of this
This document specifies an Internet standards track protocol for
Internet community, and requests discussion and suggestions
improvements. Please refer to the current edition of the "
Official Protocol Standards" (STD 1) for the standardization
and status of this protocol. Distribution of this memo is unlimited
Copyright
Copyright (C) The Internet Society (2002). All Rights Reserved
This document defines a format for using compressed data as
Cryptographic Message Syntax (CMS) content type. Compressing
before transmission provides a number of advantages, including
elimination of data redundancy which could help an attacker,
up processing by reducing the amount of data to be processed by
steps (such as signing or encryption), and reducing overall
size. Although there have been proposals for adding compression
other levels (for example at the MIME or SSL level), these don'
address the problem of compression of CMS content unless
compression is supplied by an external means (for example
intermixing MIME and CMS).
1.
This document describes a compressed data content type for CMS.
is implemented as a new ContentInfo type and is an extension to
types currently defined in CMS [RFC2630]. CMS implementations
include support for the CompressedData content type
The format of the messages are described in ASN.1 [ASN1].
Gutmann Standards Track [Page 1]
RFC 3274 Compressed Data Content Type for CMS June 2002
The key words "MUST", "MUST NOT", "REQUIRED", "SHOULD", "SHOULD NOT",
"RECOMMENDED", "MAY", and "OPTIONAL" in this document are to
interpreted as described in [RFC2119].
1.1 Compressed Data Content
The compressed-data content type consists of content of any type
compressed using a specified algorithm. The following
identifier identifies the compressed-data content type
id-ct-compressedData OBJECT IDENTIFIER ::= { iso(1) member-body(2)
us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) ct(1) 9 }
The compressed-data content type shall have ASN.1
CompressedData
CompressedData ::= SEQUENCE {
version CMSVersion
compressionAlgorithm CompressionAlgorithmIdentifier
encapContentInfo
}
The fields of type CompressedData have the following meanings
version is the syntax version number. It MUST be 0. Details
the CMSVersion type are discussed in CMS [RFC2630],
10.2.5.
compressionAlgorithm is a compression algorithm identifier,
defined in section 2.
encapContentInfo is the content which is compressed. Details
the EncapsulatedContentInfo type are discussed in CMS [RFC2630],
section 5.2.
Implementations SHOULD use the SMIMECapabilities attribute
indicate their ability to process compressed content types.
of SMIMECapabilities are discussed in MSG [RFC2633], section 2.5.2.
A compression SMIMECapability consists of the AlgorithmIdentifier
the supported compression algorithm. In the case of the
specified in this document, this is id-alg-zlibCompression,
specified in section 2. Alternatively, the use of compression may
handled by prior arrangement (for example as part of
interoperability profile).
Gutmann Standards Track [Page 2]
RFC 3274 Compressed Data Content Type for CMS June 2002
The SMIMECapability SEQUENCE representing the ability to
content compressed with the algorithm identified by id-alg
zlibCompression MUST be DER-encoded as the following
string
30 0D 06 0B 2A 86 48 86 F7 0D 01 09 10 03 08
(but see also the implementation note in section 2.1).
2. Compression
CMS implementations that support the CompressedData content type
include support for the ZLIB compression algorithm [RFC1950]
[RFC1951], which has a freely-available, portable and
reference implementation. The following object identifier
ZLIB
id-alg-zlibCompress OBJECT IDENTIFIER ::= { iso(1) member-body(2)
us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) alg(3) 8 }
This algorithm has no parameters. The parameters field SHOULD
encoded as omitted, but MAY be encoded as NULL (see
implementation note in section 2.1).
2.1. Implementation
ZLIB allows for a number of compression levels ranging from good
slow compression, to less good but fast compression. The
level is always compatible with the decompression algorithm, so
is no need to specify the compression level as an
parameter
There are two possible encodings for the ZLIB null parameters
which arise from the fact that when the 1988 syntax
AlgorithmIdentifier was translated into the 1997 syntax, the
associated with the AlgorithmIdentifier parameters got lost.
it was recovered via a defect report, but by then, everyone
that algorithm parameters were mandatory. Because of this,
implementations will encode null parameters as an ASN.1 NULL
and some will omit them entirely (see for example section 12 of
[RFC2630]). Although the correct encoding is to omit the
field, implementations may encounter encodings which use an ASN.1
NULL element for the parameters
Gutmann Standards Track [Page 3]
RFC 3274 Compressed Data Content Type for CMS June 2002
3. Security
This RFC is not concerned with security, except for the fact
compressing data before encryption can enhance the security
by other processing steps by reducing the quantity of known
available to an attacker. However, implementations should be
of possible security threats of combining security sensitive
with possibly untrusted data before the compression and encryption
This is because information about the sensitive data may be
from knowing the untrusted data and the compression ratio
4. IANA
The CompressedData content type and compression algorithms
identified by object identifiers (OIDs). OIDs were assigned from
arc contributed to the S/MIME Working Group by RSA Security.
additional compression algorithms be introduced, the advocates
such algorithms are expected to assign the necessary OIDs from
own arcs. No action by the IANA is necessary for this document
any anticipated updates
[ASN1] CCITT Recommendation X.208: Specification of
Syntax Notation One (ASN.1), 1988.
[RFC2119] Bradner, S., "Key Words for Use in RFC's to
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC1950] Deutsch, P. and J-L Gailly, "ZLIB Compressed Data
Specification version 3.3", RFC 1950, May 1996.
[RFC1951] Deutsch, P., "DEFLATE Compressed Data Format
version 1.3", RFC 1951, May 1996.
[RFC2630] Housley, R., "Cryptographic Message Syntax", RFC 2630,
1999.
[RFC2633] Rmasdell, B., "S/MIME Version 3 Message Specification",
2633, June 1999.
Gutmann Standards Track [Page 4]
RFC 3274 Compressed Data Content Type for CMS June 2002
Appendix A: ASN.1
{ iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
smime(16) modules(0) compress(11) }
DEFINITIONS IMPLICIT TAGS ::=
CMSVersion, EncapsulatedContentInfo FROM
{ iso(1) member-body(2) us(840) rsadsi(113549)
pkcs(1) pkcs-9(9) smime(16) modules(0) cms(1) }
AlgorithmIdentifier FROM
{ joint-iso-itu-t ds(5) module(1) authenticationFramework(7) 3 };
CompressedData ::= SEQUENCE {
version CMSVersion, -- Always set to 0
compressionAlgorithm CompressionAlgorithmIdentifier
encapContentInfo
}
CompressionAlgorithmIdentifier ::=
-- Algorithm
id-alg-zlibCompress OBJECT IDENTIFIER ::= { iso(1) member-body(2)
us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) alg(3) 8 }
-- Content Type Object
id-ct-compressedData OBJECT IDENTIFIER ::= { iso(1) member-body(2)
us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) ct(1) 9 }
Author
Peter
University of
Private Bag 92019
Auckland, New
EMail: pgut001@cs.auckland.ac.
Gutmann Standards Track [Page 5]
RFC 3274 Compressed Data Content Type for CMS June 2002
Full Copyright
Copyright (C) The Internet Society (2002). All Rights Reserved
This document and translations of it may be copied and furnished
others, and derivative works that comment on or otherwise explain
or assist in its implementation may be prepared, copied,
and distributed, in whole or in part, without restriction of
kind, provided that the above copyright notice and this paragraph
included on all such copies and derivative works. However,
document itself may not be modified in any way, such as by
the copyright notice or references to the Internet Society or
Internet organizations, except as needed for the purpose
developing Internet standards in which case the procedures
copyrights defined in the Internet Standards process must
followed, or as required to translate it into languages other
English
The limited permissions granted above are perpetual and will not
revoked by the Internet Society or its successors or assigns
This document and the information contained herein is provided on
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED,
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE
Funding for the RFC Editor function is currently provided by
Internet Society
Gutmann Standards Track [Page 6]
if you see any problems within the linking, don't worry be happy,
this is version 0.1 of the Relevance System and you gotta expect some crappy subroutines sometimes,
just be content we did not write this in Java, which would have made this "bigger and better" HAHAHHA.
RFC documents can be found at I.E.T.F.
Relevance System Copyright © 2002 Spectrum WorldResearch
other technical nosh by ServerMasters Corporation
collaboration of BobX