Skip to content

Documentation

Conditional Access & DVB SimulCrypt

Conditional access is two separate systems that people routinely discuss as one: a scrambling layer that encrypts packet payloads, and a messaging layer that distributes the keys. Get the split clear and the rest — CSA versus CISSA, even and odd keys, ECM against EMM, why one multiplex can carry four CA systems at once, why BISS exists for contribution — stops being folklore and becomes structure you can reason about.

  • 2026-09-24 17:24
  • 2026-09-24 17:24

The Model

Two layers, not one

Almost every confusion about CA dissolves once these are separated.

1. Scope and sources

This sheet describes the architecture of DVB conditional access as it is publicly specified: how the scrambling layer is signalled, how key-bearing messages are carried, how a head-end serves several CA systems from one multiplex, and where descrambling physically happens in a modern IP-based facility. Every structural claim is traceable to the standards listed in section 18.

What this sheet deliberately does not contain. No key material, no control words, no CA system identifiers tied to live services, and nothing about circumventing conditional access. The cryptographic cores of DVB-CSA v2 and v3 are not public — the XRC component of v3 is explicitly DVB-confidential, released only under NDA through the DVB Common Scrambling Algorithm Custodian. Where a value would be operator-specific it is written as a placeholder. This is head-end engineering documentation: the intended reader is someone building, monitoring or debugging a facility that carries scrambled services under a legitimate agreement with the rights holder.

The distinction that organises everything below appears in the standards themselves. ETSI TS 100 289 specifies the scrambling — one algorithm, fully interoperable, identical for every operator. ETSI TS 103 197 specifies the interfaces between a head-end and one or more conditional access systems — deliberately leaving the CA systems themselves as black boxes. Scrambling is standardised so that any receiver can descramble; conditional access is proprietary so that only authorised receivers get the chance.

2. Two layers, routinely conflated

A scrambled DVB service involves two independent mechanisms. They are specified in different documents, they fail in different ways, and they are diagnosed with different tools.

Why the split is designed this way. If scrambling were proprietary, every operator would need its own silicon in every receiver. If key distribution were standardised, an operator could not distinguish its subscribers from anyone else’s. Standardising the cipher and leaving entitlement proprietary lets one chip descramble any DVB service in the world while still requiring a per-operator authorisation path. It is also what makes SimulCrypt possible at all — see section 8.

3. What is encrypted, and what is never encrypted

Scrambling is deliberately partial. Enough of the stream stays in the clear that a receiver can navigate it, find the CA messages and synchronise its clock without holding any key at all.

3.1 The remainder that stays in the clear

Both AES-based DVB scrambling algorithms operate on 16-byte blocks, and a TS payload is generally not a multiple of 16. CISSA resolves this explicitly: an integer number of contiguous 16-byte blocks is encrypted with CBC chaining, and any remaining 1 to 15 bytes are left in the clear at the end of the packet. A payload shorter than 16 bytes is not encrypted at all.

A practical consequence when reading hex. In a CISSA-scrambled packet the tail bytes are plaintext. This is not a weakness in any meaningful sense — a fragment under 16 bytes with no context yields nothing useful — but it does mean that “the last few bytes look like real data” is not evidence that a packet is unscrambled. Check the scrambling-control bits in the header instead; they are authoritative and always in the clear.

4. The scrambling algorithms

Four algorithms appear in DVB systems. They are not interchangeable, and a receiver must be told which one is in use.

Why CISSA exists alongside CSA v3. The name says it: software-oriented. CSA was designed for hardware descramblers, and its v3 construction includes a confidential component that cannot be implemented from public documentation. CISSA is plain AES-128-CBC, so it can be implemented in software by anyone, on any platform, with no NDA and no licensed core. For IP delivery — where scrambling and descrambling happen on general-purpose CPUs rather than in a set-top box ASIC — that matters more than the hardware efficiency CSA was optimised for. It is also why BISS2 replaced CSA1 with CISSA.

4.1 Signalling which algorithm is in use

The algorithm is carried in a scrambling_descriptor in the program map section. Its single 8-bit scrambling_mode field is coded as follows.

Three rules govern mixing modes, and they are frequently violated by ad-hoc remultiplexing:

5. Even and odd keys, and the crypto period

The two scrambling-control bits in the TS packet header are the entire signalling of key state. MPEG-2 Systems defines only one of the four values; DVB defines the rest.

Read the bits as two independent flags. The first says whether the payload is scrambled at all; the second selects even or odd. Note that 00 at the TS level does not prove the content is clear — scrambling may still be applied at the PES level. The two levels use deliberately similar coding so that one descrambler implementation can serve both.

5.1 Why two keys are needed

A crypto period is, in the words of TS 103 197, the period during which a particular control word is being used by the scrambler. Keys change on crypto period boundaries. If there were only one key register, the moment of change would be a race: the receiver would have to install the new key in exactly the gap between the last packet of one period and the first of the next, with no tolerance.

Two registers eliminate the race. While the scrambler is using the even key, the next control word is already being delivered and loaded into the odd register. The parity bit in each packet header tells the descrambler which register to use, so the handover is instantaneous and requires no timing precision from the receiver at all — it simply follows the bit. The control word for the next period must arrive before the parity flips, which is why the SimulCrypt timing parameters in section 11 exist.

The diagnostic that follows from this. If a service breaks up rhythmically — clean for a period, corrupt for a period, clean again — suspect a key delivery problem on one parity, not a signal problem. Signal impairment does not respect crypto period boundaries. A stream where only even-key packets descramble correctly points at the odd-key path: the ECM for that parity is arriving late, not at all, or is being filtered out somewhere in the chain.

6. Signalling conditional access: the CAT and the CA_descriptor

A receiver needs to answer two questions: which CA systems are present in this multiplex, and where are their messages? Two structures answer them.

Within a PMT the descriptor’s position is significant again. In the first descriptor loop — the program-level loop — it applies to the whole service. In a component’s descriptor loop it applies to that elementary stream alone, which is how a broadcaster can scramble video while leaving one audio track clear, or use different ECM streams for different components.

The consequence that bites in practice. Because CA information lives in the PMT and the CAT rather than in the packets themselves, stripping it changes what a downstream client believes about the stream without changing a single payload byte. That is exactly what SAT>IP Servers Pro’s -t / --cleanpsi does: it removes all CA information from the PSI so that a successfully descrambled service is presented to the client as a clear one. Useful, because many client applications refuse to play a service whose PMT still advertises a CA system they cannot see — but it also means a PMT is not a reliable witness to whether content was ever scrambled.

7. ECM and EMM — what each one carries

Two message types do all the work. They are easy to keep straight once you see that they operate on completely different timescales.

The logic chains: an EMM tells the secure module what this subscriber may watch. An ECM says here is the key for this service right now, and here are the conditions. The module compares the ECM’s access criteria against the entitlements it holds from EMMs, and only if they match does it release the control word to the descrambler. Neither message alone is sufficient.

Why EMM problems are slow and confusing. Because entitlements persist, an EMM path that has been broken for days produces no symptom until something expires — and then services fail in an order determined by expiry dates rather than by anything happening at that moment. A facility that monitors ECM presence but not EMM continuity will discover the fault from customers rather than from its own alarms.

8. SimulCrypt — why one multiplex serves several CA systems

A platform operator has a problem. Its subscriber base holds set-top boxes from more than one generation, or it distributes the same multiplex to several affiliates, each with its own CA vendor. Scrambling the content twice is not an option: each copy would consume full bandwidth, and a receiver cannot descramble a stream twice.

SimulCrypt’s answer follows directly from the two-layer split. The content is scrambled once, with one control word. That same control word is then handed to every participating CA system, and each generates its own ECM stream carrying it, protected under its own keys. The multiplex carries several parallel ECM streams and several parallel EMM streams — one set per CA system — all describing the same scrambled payload.

The cost of SimulCrypt is bandwidth in the signalling, not in the content. Each additional CA system adds its ECM and EMM streams — a small, roughly fixed overhead — rather than another copy of the video. A receiver reads the PMT, finds the CA_system_ID it recognises, ignores the others entirely, and takes the control word from its own ECM stream. Because all the systems deliver the same control word, they interoperate without ever being aware of one another.

ETSI TS 103 197, titled Head-end implementation of DVB SimulCrypt, exists to make this work between equipment from different vendors. It addresses interoperability between two or more conditional access systems at a head-end, specifying the architecture, the timing relationships, the message structures and the control.

9. The SimulCrypt head-end

TS 103 197 decomposes the head-end into named functional components with defined interfaces between them. The value of knowing these names is diagnostic: vendor logs and error messages use them directly.

Four interfaces are defined between these components. Three are mandatory: ECMG ⇔ SCS, EMMG ⇔ MUX and C(P)SIG ⇔ (P)SIG. The PDG ⇔ MUX interface is optional and, where implemented, follows the EMMG ⇔ MUX definition.

The architecture is not mandated, only the interfaces. TS 103 197 states plainly that the SCS and MUX could be built independently, and that neither architecture is mandated. In practice they are often one product. This is why two conformant head-ends can look nothing alike internally while still accepting the same vendor ECMG.

10. The SimulCrypt protocol on the wire

All the CA-to-head-end interfaces share one connection-oriented design built on TCP, with a channel-and-stream hierarchy: a channel is the association between two components, and streams within it correspond to individual ECM or EMM streams. Messages are type-length-value: a message type, a length, then parameters each carrying a 16-bit parameter_length and a variable-length parameter_value.

All three mandatory interfaces use protocol version 0x03. Message types are allocated in blocks per interface — a detail worth knowing when reading a packet capture, because the type value alone tells you which interface you are looking at.

The two that carry the actual work are CW_provision and ECM_response. Everything else is session management. Note also stream_BW_request and stream_BW_allocation on the EMMG side: EMM bandwidth is explicitly negotiated with the multiplexer, because a CA system cycling a large subscriber base can demand a substantial and bursty share of the multiplex.

11. Timing — the parameters that decide whether it works

SimulCrypt is a real-time pipeline. A control word must reach the receiver before the parity bit flips to its register, which means the ECM must be generated, returned, inserted and transmitted inside one crypto period. TS 103 197 exposes this as explicit, negotiable parameters rather than leaving it to implementation.

Where this shows up as a fault. A CA system whose ECMG responds slowly, or a network path with jitter between SCS and ECMG, pushes ECM insertion past the parity flip. The symptom is not a clean failure: it is intermittent breakup that correlates with crypto period boundaries and gets worse under load. Shortening the crypto period — often reached for as a security improvement — makes this worse, because it reduces the time available for the whole round trip. The `lead_CW` window exists precisely so that a slow ECMG can still deliver in time.

12. BISS — the contribution answer

Everything so far describes distribution: one operator, many subscribers, individual entitlement management. Contribution — a feed from an event back to a broadcaster, or between broadcasters — has different requirements. There are a handful of known receivers, the link may exist for only a few hours, and there is no subscriber base to manage. Deploying a full CA system for a two-hour sports feed is absurd.

The EBU’s Basic Interoperable Scrambling System answers this. BISS version 1 used CSA1 for transport stream scrambling and DES for session word encryption. BISS2, specified in EBU Tech 3292, replaces both: DVB-CISSA for scrambling and AES-128 for key encryption.

A signalling detail worth knowing. The CAT is required to be present in the multiplex for BISS Mode 1 and Mode E — but it shall be empty, because no entitlement messages exist in those modes. It carries real content only in Mode CA. An empty CAT on a BISS feed is correct, not a fault. Equipment supporting Mode CA is also required to support Modes 0, 1 and E.

13. BISS-CA — real-time entitlement without a CA vendor

Modes 1 and E share a structural weakness: the session word, encrypted or not, has to reach the receiver by some channel outside the stream — email, phone, a spreadsheet. That does not scale, it cannot be revoked quickly, and it means a leaked key stays valid for the life of the feed.

BISS-CA, published as EBU Tech 3292 Supplement 1, is built on top of Mode E and adds in-stream key exchange. It combines AES-128 for symmetric scrambling with RSA asymmetric cryptography for key delivery, which lets a rights holder grant and revoke reception rights for individual decoders in real time, with rolling keys, while the feed is running.

Why this matters commercially. BISS-CA is open, royalty-free and interoperable. It gives a contribution feed the property that previously required a commercial CA system — revoke a single decoder, immediately, without touching anything else — with no per-subscriber licensing and no vendor lock-in. It is the reason a modern contribution link no longer has to choose between a shared static key and a full CA deployment.

14. Where descrambling physically happens

The standards describe messages, not placement. In a real facility the secure module can sit in several places, and the choice has more operational consequence than any other decision in this sheet.

The point that is widely got wrong. Descrambling does not have to happen where the signal was received. Because the scrambled MPTS is just a transport stream, it can be delivered over IP to wherever the secure hardware lives and descrambled there. Only legacy modules that require a CI slot adjacent to the tuner impose physical co-location. Modern professional multi-CAM equipment and card-server paths descramble an IP-delivered MPTS perfectly well — which decouples “where the dish is” from “where the smartcards are” entirely.

15. SAT>IP Servers Pro — the CA paths

SAT>IP Servers Pro implements both descrambling paths described above and exposes them as explicit options. Listing them together is the clearest way to see how the abstractions map onto a running system.

Building with CA support needs both libraries, because the two paths are genuinely separate: libdvbcsa-dev for the software descrambler used by the card-server path, and libssl-dev for the hardware CA path used by cards with their own CA support.

When ECM or CAT mapping misbehaves, that log selection is the place to start: the ca subsystem emits the ECM and CAT mapping lines, and -l ddci with -v ddci adds DDCI detail on top.

16. Delivering a tuner where the beam does not reach

One configuration deserves separating out, because it inverts the usual assumption that reception and descrambling are the same place.

A satellite beam covers a footprint. If a facility sits outside it — or the required orbital position is not visible from that site — no amount of local equipment helps. The conventional answer is to build a receiving station inside the footprint and backhaul the content, which means encoding, transport and a second decode.

The alternative is to keep the transport stream intact. A SAT>IP tuner inside the footprint receives the transponder and delivers the MPTS over IP to the facility, where the CAM and smartcard live. The -s host:port option does exactly this: SAT>IP Servers Pro uses a remote tuner while the CI/DDCI module stays local.

What each half contributes. The remote tuner solves geography — it puts reception inside a footprint the facility cannot see. The local CAM solves authorisation — the smartcard stays in the operator’s own rack, under its own physical control, which is usually what the agreement with the rights holder requires. Neither half works alone: a remote tuner without local descrambling delivers a stream nobody can read, and a local CAM without a remote tuner has nothing to descramble.

This is also the honest case for dedicated hardware. If the requirement is a physical CI/CAM module, a GPU for transcoding, or a large DVR array, a dedicated server is the right answer and no virtual tuner replaces it. What SAT>IP changes is not whether you need that hardware, but whether it has to sit under the dish.

17. What breaks, and how to tell

CA faults are diagnosable if you know which layer to look at. The table below maps symptoms to the layer that produces them.

The first question, always. Read the transport_scrambling_control bits. They are in the clear, in every packet header, and they tell you whether the content is scrambled at all and on which parity. A surprising share of “CA problems” turn out to be streams that were never scrambled, or that were already descrambled upstream — and two bits settle it before any deeper investigation starts.

18. Standards and sources

Gleb Sazanov

Chief Technology Officer

Gleb Sazanov is an accomplished Chief Technology Officer (CTO) with over 20 years of experience in software development, system architecture, and cloud-based solutions. As the CTO of SATLINE, a leading provider of virtual and colocation services tailored to SATCOM businesses, Gleb drives the company’s technological strategy, fostering innovation and efficiency in data center services. His expertise spans various domains, including DevOps, system scaling, and high-performance infrastructure management. With a deep passion for cutting-edge technologies, Gleb plays a pivotal role in shaping the future of the SATCOM industry.