1、每个ts数据包由:1、包头 2、包数据
  包头有个字段 PID ,该字段指示包数据的类型。比如说:
  PID 为 0x0000 包数据的类型就是 PAT表
  PID 为 0x0001 包数据的类型就是 CAT表

2、PAT表定义了当前TS流中所有的节目,其PID为0x0000,
要查寻找节目必须从PAT表开始查找。也就是说每个频点有且只有一个PAT表

3、当包数据为PAT表时,PAT表主要包含该频点下面的每个节目对应的号码和PMT的PID值,以及一个NIT表的PID。
当PAT表的program_number的值为0时,获得的是NIT表的PID。
当PAT表的program_number的值大于0时,获得的是PMT表的PID。
机顶盒可以根据获得的PID在ts流中找到对应的ts包。该ts包的包数据就是对应的表。

4、使用SK加密后的CW形成ECM,使用PDK加密后的SK形成EMM。

5、解扰:就是解密EMM和ECM的到CW,并用CW对加扰的流进行解扰的过程。
1、在信号的接收端,解码器首先在传送流中查找到PMT和CAT表,从中获取到EMM_PIDS,ECM_PIDS,CASystemIDS
等信息.
2、根据EMM_PID,找到相应的加密的EMM信息,智能卡中存有加密系统号和ECM密钥,EMM密钥等,智能卡首先
使用EMM密钥对加密的EMM解密,根据解出的EMM信息来确定本智能卡是否被授权看该套节目,如没授权则不能进行
后续的解密,也不就不能收看该节目.
3、如该卡已被授权,则利用ECM_PID,找到相应的加密的ECM信息,利用智能卡的ECM密钥对ECM进行解密,得到
控制字CW.
4、利用CW解扰。

ECM和EMM怎么获取?
1、前面提到在传输流中查找PMT表和CAT表,CAT的PID为0x0001,所以可以直接在传输流中直接查找。而PMT表则需要
先获取PAT表,从PAT表的program_number 和 program_map_pid字段中,获取每个节目号码对应的PID,也就是PMT
表的PID,由此我0们就可以查找获得PMT表。
2、接收到相应的PMT和CAT表,这两个表中可能会存在CA_descriptor(){加密节目的PMT表会出现}的描述符,通过该描
述符号,可以获取到对应的EMM_PIDS,ECM_PIDS,CASystemIDS。
CA_system_ID: 表示适用于相关ECM和EMM流的相关的CA系统类型(CA厂家标识符).
CA_PID: PMT表中的该描述信息为ECM_PID, CAT 表中的该描述信息为EMM_PID.
一般来说,ecm table id为0x80/0x81,emm table id为0x82~0x8F这个值是由ca厂家决定的。

Slot说明:
1、Slot可以把其看成一个管理对象,管理PID、Filter、Buffer。
2、一个Slot对应一个PID,一个Buffer空间,但可以对应多个Filter。

CAS解扰小结的更多相关文章

  1. 原子变量与CAS算法小结

    CAS算法 CAS(compare-and-swap)是一种硬件对并发的支持,针对多处理器操作而设计的处理器中的一种特殊指令,用于管理对共享数据的并发访问. CAS是一种无锁非阻塞算法的实现. CAS ...

  2. [数据结构]RMQ问题小结

    RMQ问题小结 by Wine93 2014.1.14   1.算法简介 RMQ问题可分成以下2种 (1)静态RMQ:ST算法 一旦给定序列确定后就不在更新,只查询区间最大(小)值!这类问题可以用倍增 ...

  3. [图论]Dijkstra 算法小结

    Dijkstra 算法小结  By Wine93 2013.11 1. Dijkstra 算法相关介绍 算法阐述:Dijkstra是解决单源最短路径的算法,它可以在O(n^2)内计算出源点(s)到图中 ...

  4. [图论]Floyd 算法小结

    Floyd 算法小结  By Wine93 2013.11 1. Floyd算法简介 Floyd算法利用动态规划思想可以求出任意2点间的最短路径,时间复杂度为O(n^3),对于稠密图, 效率要高于执行 ...

  5. 计算机程序的思维逻辑 (70) - 原子变量和CAS

    从本节开始,我们探讨Java并发工具包java.util.concurrent中的内容,本节先介绍最基本的原子变量及其背后的原理和思维. 原子变量 什么是原子变量?为什么需要它们呢? 在理解synch ...

  6. Springboot security cas整合方案-实践篇

    承接前文Springboot security cas整合方案-原理篇,请在理解原理的情况下再查看实践篇 maven环境 <dependency> <groupId>org.s ...

  7. Springboot security cas源码陶冶-ExceptionTranslationFilter

    拦截关键的两个异常,对异常进行处理.主要应用异常则跳转至cas服务端登录页面 ExceptionTranslationFilter#doFilter-逻辑入口 具体操作逻辑如下 public void ...

  8. Springboot security cas源码陶冶-FilterSecurityInterceptor

    前言:用户登录信息校验成功后,都会获得当前用户所拥有的全部权限,所以对访问的路径当前用户有无权限则需要拦截验证一发 Spring security过滤器的执行顺序 首先我们需要验证为啥FilterSe ...

  9. Springboot security cas源码陶冶-CasAuthenticationFilter

    Springboot security cas整合方案中不可或缺的校验Filter类或者称为认证Filter类,其内部包含校验器.权限获取等,特开辟新地啃啃 继承结构 - AbstractAuthen ...

随机推荐

  1. ARM 虚拟机使用同一个公共 IP 访问公网的解决方案

    ARM 虚拟机使用同一个公共 IP 访问公网的解决方案 2017-2-21 作者 Azure 目前有两种部署模型:资源管理器 ARM 和经典部署模型 ASM.ASM 的虚拟机默认公用云服务的 VIP ...

  2. patch 修改有问题的

    diff --git a/include/net/tcp.h b/include/net/tcp.h@@ -1013,8 +1048,13 @@ static inline u32 keepalive ...

  3. 收缩事务日志(sqlserver)

    sqlserver数据库的日志文件其实是由很多个逻辑上的日志文件组成,我们可以通过命令看一下数据库日志文件 ​可以看到的是sqlserver数据库日志文件是由很多文件组成的,当数据库日志文件已满的时候 ...

  4. (三)svn 服务器端之创建仓库

    创建仓库 svn服务端创建完成需要创建仓库,仓库中存放 要被管理的文件. 通过开始菜单进入  VisualSVN server manager: 主界面为: 右键点击Repositories创建仓库 ...

  5. IEEP-网络实施-项目交付流程

    1.项目交付流程 1.1 定义 项目交付流程规定了对项目实施的管理和作业控制要求,保证了工程项目实施按照规定的程序进行 1.2 重要性 1.2.1提高客户满意度 1.2.2 提高工程效率,节约成本 1 ...

  6. 简单记录一下http请求的7个步骤

    1.建立TCP连接 2.客户端发送请求命令 3.客户端发送请求头信息 4.服务端应答请求,返回版本号和状态码 5.服务端应答头信息 6.服务端向客户端发送数据 7.服务器关闭TCP连接(Connect ...

  7. ACM-ICPC (10/14)

    动态规划的四个姿势 动态规划要学好,姿势一定要骚,在实战的时候,你将你的转移方程按照以下四种姿势搞一发后,一定会是耳目一新,引来萌妹子的注意~~~哈哈!!! 言归正传了!!! 之所以写动态规划优化,是 ...

  8. Codeforces Round #515 (Div. 3) B. Heaters【 贪心 区间合并细节 】

    任意门:http://codeforces.com/contest/1066/problem/B B. Heaters time limit per test 1 second memory limi ...

  9. java 线程状态图

  10. spring boot应用启动原理分析

    spring boot quick start 在spring boot里,很吸引人的一个特性是可以直接把应用打包成为一个jar/war,然后这个jar/war是可以直接启动的,不需要另外配置一个We ...