Although based on the DVB Common Scrambling algorithm, BISS is quite different than normal scrambling systems in so much as the key is never carried within the transmission channel - it has to be entered manually into the receiver. While easier to defeat than regular scrambling systems involving an access card, BISS provides reasonable protection for remote to studio links usually by simply communicating a 12 character number.
According to the standard, BISS actually supports three different scrambling modes. Mode-0 has no scrambling so not really BISS – just standard MPEG-2 transport stream. BISS Mode-1 is the standard that broadcasters actually use and is the one supported by TSReader’s plugin. Mode-E has a hidden key inside the encoder and decoder. These keys are combined with a “session key” that is communicated between the transmitter and receiver. We have never seen BISS Mode-E being used.
DVB Scrambling
The DVB Common Scrambling algorithm scrambles the payload section of MPEG-2 transport stream packets based on odd and even keys. This allows the keys to be switched on a packet by packet basis and gives the system time to receive a new key for the upcoming packet in the case of very secure scrambling systems. Some conditional access systems change the scrambling keys ten times a second to ensure even the fastest computers trying to break the scrambling system can’t keep up. BISS doesn’t do this – DSNG feeds typically aren’t around for very long and therefore this simple scrambling method is perfect for these types of links.
Normally in BISS the same key is used for both odd and even packets therefore keeping the key short. That said, there are some BISS streams that use dual keys - one for odd packets and a different key for even packets. These are typically called DCW keys or Dual Code Word keys.TSReader's BISS plugin supports both, but for historic reasons, straight BISS keys are 12 characters in length whereas DCW keys are 32 characters.
The DVB Common Scrambling algorithm scrambles data based on a 64-bit key but BISS uses a 48 bit key to keep the length of the key short and easy to communicate. All keys are in hexadecimal so 0-9 and A-F i.e. base 16.
BISS Keys
Imagine the following key:
1234567890AB
This 48-bit key is converted into a 64-bit descrambling key by taking the first three bytes, adding them and then the next three keys again adding them, discarding anything but the last two digits. In this case:
12 + 34 + 56 = 9C
78 + 90 + AC = 1B4
Resulting in the actual key sent to the descrambler as:
1234569C7890ACB4
All standard BISS keys used in the TSReader BISS plugin are in this format, i.e. 12 characters and the plugin does the conversion into the actual 16 character (64-bit) key used to descramble the content.
Dual Code Word Keys
For historic reasons and for compatibility with existing plugins, TSReader displays and accepts DCW keys in the full 128-bit (32 character) format. So imagine the following odd and even keys:
1234567890AB BA0987654321
This is 96-bits in length (two times 48) but again is converted into the 128-bit key used by the Common Scrambler – 64-bits for even packets and 64-bits for odd:
12 + 34 + 56 = 9C
78 + 90 + AC = 1B4
BA + 09 + 87 = 14A
65 + 43 + 21 = C9
The resulting key sent to the descrambler is therefore:
1234569C7890ACB4 BA09874A654321C9
Using the BISS plugin
You’ll see that when TSReader tunes a BISS signal, the video and audio PIDs will be shown as red in the PID chart. Click on the PMT PID for that program in the left hand tree view. If the key for that service has been entered before, those PIDs will change to green (indicating descrambled) and provided the key is correct, the program can be played back via VLC or recorded and so on. Pressing the F5 key will refresh the TSReader thumbnails which is also a quick way to ensure the descrambling key has been entered correctly.
If the key hasn’t be entered before, click Plugins/CCW/CCW Key in TSReader and enter the descrambling key. This can be:
- 12 characters for standard BISS keys- this is by far the most popular format.
- 32 character for dual code word keys.
Standard BISS keys are stored in the BISS.INI file in the TSReader installation folder and DCW keys in the DCW.INI file.