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. Azure 8月众多新版本公布

    Azure 8月新发布:IoT 中心S3 版,Azure 热/冷存储层,DocumentDB,SQL Server Stretch Database, MySQL 5.7, Cloud Foundry ...

  2. Spring MVC controller控制器映射无法访问问题!!!

    月 26, 2019 2:47:58 上午 org.apache.coyote.AbstractProtocol start信息: Starting ProtocolHandler ["aj ...

  3. 最简单的nginx教程 - 如何把一个web应用部署到nginx上

    Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Ра ...

  4. JavaMail简单应用

    版权声明:本文为博主原创文章,未经博主同意不得转载. --caicongyang https://blog.csdn.net/caicongyang/article/details/33731395 ...

  5. 【洛谷P3225】[HNOI2012]矿场搭建

    矿场搭建 题目链接 根据题意,发生事故时会有一个挖煤点坍塌, 只有当这个点是割点,会对图的连通性产生影响, 我们首先Tarjan一遍找到所有割点,将原图除去这些割点后, 遍历一遍,找出所有连通块,分三 ...

  6. HDU 1254 推箱子(BFS加优先队列)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1254 推箱子 Time Limit: 2000/1000 MS (Java/Others)    Me ...

  7. centOS 7 更改root密码

    Linux忘记密码怎么办,不用重装系统,进入emergency mode 更改root密码即可. 首先重启系统,按下 向下 按钮, 定位在第一个,摁 e ,进行编辑 找到 ro , 把ro改为 rw ...

  8. mobileeye

    if a human can drive a car based on vision alone – so can a computer. 但是目前哪家能做到?

  9. html单选框(性别选择)

    在写单选框时,如何实现只能同时只能选择一个radio. 将name设置为一样的数值:代码如下: <input class="myforms-3-2" type="r ...

  10. 与select2有关的知识点总结

    1.多选下拉框设置提示 var datass = [ { id:0, text: '你好' }, { id:1, text: '好久不见' }, { id:2, text: '好想你' } ]; va ...