一种数字电视的加密货币计算方法、系统及存储介质与流程

文档序号:23092898发布日期:2020-11-27 12:48阅读:218来源:国知局
一种数字电视的加密货币计算方法、系统及存储介质与流程

本发明涉及加密货币领域,特别是涉及一种数字电视的加密货币计算方法、系统及存储介质。



背景技术:

数字电视收费需要将具体的收费同机顶盒或者智能卡对应起来,以便条件接收系统知道怎样对机顶盒授权,加密货币的去中心化和匿名特性,使得加密货币支付难以同现实中的支付者对应起来,加密货币,比如比特币支付是一串字符,是加密且隐匿的,一般来讲,不能追踪究竟是谁支付的,只知道是从某个地址支付的,因此加密货币支付也就难以同支付对应的机顶盒挂钩,本发明使用加密货币计算方法将助记词序列转化为种子,将某个支付地址映射到某个机顶盒中,使得加密货币同支付对应的机顶盒方便简捷的挂钩。



技术实现要素:

针对上述问题,本发明提供了一种数字电视的加密货币计算方法、系统及存储介质,具有使得加密货币同支付对应的机顶盒方便简捷的挂钩。

本发明的技术方案是:

一方面,本发明提供了一种数字电视的加密货币计算方法,包括以下步骤:

步骤1:获取单词词库,并对所述单词词库中的单词进行随机选取生成助记词序列;

步骤2:将所述助记词序列根据转化规则转化为种子;

步骤3:对所述种子进行加密生成根私钥和根公钥;

步骤4:根据所述根公钥生成子公钥库,在所述子公钥库中随机选取一个子公钥;

步骤5:根据所述子公钥生成对应的孙公钥;

步骤6:选取机顶盒卡号范围,预置机顶盒卡号,根据所述孙公钥序号找到对应的唯一机顶盒卡号,并进行支付操作;

步骤7:使用过所述孙公钥后,再从所述子公钥库中随机选择一个新的子公钥,重复所述步骤4至6,匹配到对应的机顶盒卡号。

上述技术方案的工作原理如下:

本技术方案设计了一种类似hd钱包的钱包来收费。

从助记词库(一般2048个挑选出来的词,对中文来讲就是单字),随机挑选一组,比如15个:“仰脸铅损屈蒸传呼盖合泰睡飘估截”,即助记词序列;利用一个函数,比如类似hmac-sha512的函数,从这一组助记词计算得到一组随机数序列,即种子;利用一种算法,从种子(随机数序列)计算得到一组公钥和一组私钥,这两组密钥就是根密钥对;根据bip32中定义的算法,对于一组确定的父公钥,那么计算它的第n组子密钥是确定的;每个机顶盒都有一个独立的序列号,在机顶盒出厂时,我们赋予每个机顶盒一个独立的随机序号,这个序号是一个小于2的31次方的整数;从根公钥,根据所有机顶盒序号(即机顶盒序号库),计算出子公钥库,根据序号即可确定每个机顶盒对应的子密钥(机顶盒公钥);从根私钥,根据所有机顶盒序号(即机顶盒序号库),计算出子私钥库,根据序号即可确定每个机顶盒对应的子密钥(机顶盒私钥);机顶盒出厂时,写入它的公私钥对;交易时,服务器(收费方)随机挑选一个小于2的31次方的整数作为交易密钥的序号,并为所有机顶盒计算出交易密钥,即这次交易的交易密钥库,其计算方法是,以各机顶盒公钥和私钥为父密钥,计算其第n(n为交易密钥序号)组子密钥;服务器广播此次交易的地址和交易密钥序号;机顶盒收到交易地址和交易密钥序号后,根据保存的机顶盒密钥和交易序号,计算出交易密钥,完成支付;服务器收到支付信息后,遍历交易密钥库,也就是用交易信息中的密钥跟交易密钥库中的密钥一组一组比对,找出完成交易的机顶盒序号;至此,服务器得到了交易所有信息,可以对机顶盒授权。

生成一个助记词序列bip39助记符,该助记词序列使用pbkdf2转化为种子bip39种子,pbkdf2简单而言就是将加盐哈希加密进行多次重复计算,这个次数是可选择的,如果计算一次所需要的时间是1微秒,那么计算1百万次就需要1秒钟,假如攻击一个密码所需的彩虹表有1千万条,建立所对应的彩虹表所需要的时间就是115天,这个代价足以让大部分的攻击者忘而生畏。从助记词库中选择助记词序列,根据助记词序列计算出一组种子,根据种子可以计算出一对公私密钥,即根密钥对;以根公钥为父密钥,可以计算出确定的子密钥空间,即2的32次方个子密钥,其中前一半为普通子密钥,即我们使用的密钥库;后一半为硬子密钥,暂时不使用;将机顶盒序列号映射到子密钥空间,即一个机顶盒序列号对应一个子密钥;交易时,我们以机顶盒对应的子密钥为父密钥,计算出它的之密钥库,即孙密钥库,随机挑选一组为交易密钥,这样,每次交易,我们都能够跟踪到是哪个机顶盒发起的交易。

使用加密方法hmac-sha512生成根私钥bip32根密钥和根公钥。根据bip32使根公钥生成子公钥,其中节点布局由bip44设置,bip43对bip32树结构增加了子索引标识目的的拓展m/purpose'/*,bip44是在bip43和bip32的基础上增加了多币种,通过hd钱包可以派生多个地址,可以同时管理主网和测试网的比特币,bip44提出了5层的路径建议如下:m/purpose'/coin_type'/account'/change/address_index,bip32的定义为hd钱包,是一个系统可以从单一个种子产生一树状结构储存多组私钥和公钥,因为都只需要种子,可以方便的备份、转移到其他相容装置以及分层的权限控制。bip32是hd钱包的核心提案,通过种子来生成主私钥,然后派生海量的子私钥和地址,通过bip32设计的目的是记住助记词序列,重构整个秘钥库,根据bip32,可以从一组根密钥生成2的31次方个普通子钥和同样数量的硬子钥强化子密钥,由根私钥和根公钥生成普通子钥和硬子钥,前2的31次方是普通子钥,后一半是硬子钥,可以根据父公钥派生子公钥,也可以根据父私钥派生子公钥和子私钥,子私钥只能根据父私钥派生,这样本算法在派生子公钥时候不需要私钥的参与,提高了安全性。父密钥,就是用来派生子密钥的密钥,孙密钥可以看作交易密钥,普通密钥就是我们一般使用的密钥,硬子钥是bip32中定义的,一组父密钥可以计算生成2的32次方个子密钥,在本实施例中用前一半作为子密钥库。

从子公钥生成对应的孙公钥,由于2的31次方是一个非常大的数2147483648,实践中,我们选取一个范围,比如序号80000000到90000000,作为对应的卡号,每个机顶盒都赋予一个唯一的卡号用来寻址范围,每个孙公钥序号对应一个机顶盒卡号,服务器根据卡号范围计算出对应的孙公钥库以及相应的收费地址库,孙公钥库在每次使用后重新生成,当一组孙公钥使用之后,随机选择一组新的子公钥生成新的孙公钥库。

将当前有效子公钥和收费费率广播出去,由于实际上每个广播频道的不同,每次广播时,根据广播频道的数量从子公钥库中选择若干子公钥,每个子公钥对应一个频道去广播,机顶盒收到有效子公钥后,机顶盒根据此有效子公钥生成本次收费的孙公钥库,机顶盒再根据自己的卡号计算出对应的孙公钥,然后根据此孙公钥计算出相应的收费链接,并生成二维码显示出来,用户扫描二维码支付,服务器收到后,根据收到的付费地址中的孙公钥查找出对应的本机顶盒卡号,找到付费的机顶盒,最后根据卡号和金额计算出授权信息发送给条件接收系统,通过条件接收系统对机顶盒授权。

在进一步的技术方案中,对所述单词词库中的单词进行随机选取生成助记词序列的方法如下:所述单词词库拥有2048个单词,并在所述单词词库中随机选择12个单词生成所述助记词序列。

对所述单词词库中的单词进行随机选取生成助记词序列的方法,解决了现有技术中没有助记词序列导致的当种子是一串很长的随机数时不好记录的技术问题。

在进一步的技术方案中,将所述助记词序列根据转化规则转化为种子,应用一个伪随机函数以导出密钥的转化规则,使得所述助记词序列转化为种子。

应用一个伪随机函数以导出密钥的转化规则,解决了现有技术中一串种子很长不好记录还有安全隐患的技术问题。

在进一步的技术方案中,根据所述根公钥生成子公钥库,在所述子公钥库中随机选取一个子公钥的方法如下:所述根公钥生成2的32次方个子钥;在前2的31次方个子钥中随机选择一段作为子公钥库。

在前2的31次方个子钥中随机选择一段作为子公钥库,子钥一共可以有2的32次方个,前2的31次方是普通子钥,后一半是硬子钥,本技术方案只使用普通子钥,派生子公钥时不需要根私钥的参与,解决了现有技术中派生子公钥时安全性的技术问题。在进一步的技术方案中,根据所述孙公钥序号找到对应的唯一机顶盒卡号的方法如下:服务器根据所述卡号范围计算出对应的孙公钥库以及对应的收费地址库;所述收费地址库中包括收费费率;所述机顶盒根据所述收费费率和所述子公钥计算出对应的孙公钥序号和收费链接;根据所述对应的孙公钥序号找到对应的机顶盒卡号。

根据所述对应的孙公钥序号找到对应的机顶盒卡号,解决了现有技术中加密货币支付难以同支付对应的机顶盒挂钩的技术问题。

在进一步的技术方案中,进行支付操作的方法如下:根据所述收费链接生成二维码,用户扫描所述二维码进行支付。

根据所述收费链接生成二维码,用户扫描所述二维码进行支付,解决了现有技术中用户支付数字电视机顶盒费用时程序繁琐麻烦的技术问题。

在进一步的技术方案中,用户扫描二维码进行支付后,服务器收到支付信息,服务器根据所述支付信息确定收费地址,根据所述收费地址确定所述机顶盒对应的卡号,根据所述卡号和所述支付信息计算出授权信息发送给条件接收系统,通过所述条件接收系统对所述机顶盒进行授权。

根据所述卡号和所述支付信息计算出授权信息发送给条件接收系统,通过所述条件接收系统对所述机顶盒进行授权,解决了现有技术中加密货币支付难以同现实中的支付者对应起来的技术问题。

另一方面,本发明提供了一种数字电视的加密货币计算系统,所述系统包括:采集单元、转化单元、加密单元、筛选单元和匹配单元,其中:采集单元,用于获取单词词库,并采集所述单词词库中的助记词序列;转化单元,用于将所述助记词系列转化为种子,用于根据所述子公钥生成对应的孙公钥;加密单元,用于将所述种子进行加密生成根私钥和根公钥;筛选单元,用于将所述根公钥生成子公钥库并在所述子公钥库中选取子公钥;匹配单元,用于根据所述孙公钥序号匹配对应的机顶盒卡号。

数字电视的加密货币计算系统,解决了现有技术中加密货币支付难以同支付对应的机顶盒挂钩的技术问题。

在进一步的技术方案中,所述系统还包括:授权单元,用于通过所述条件接收系统对所述机顶盒进行授权;存储单元,用于存储所述加密货币的计算程序,用于存储所述机顶盒卡号范围,用于存储所述收费地址库,用于存储所述收费链接生成的二维码,并实施存储所述支付信息和授权信息。

授权单元和存储,解决了现有技术中通过条件接收系统对机顶盒授权以及存储所有相关信息的技术问题。

另一方面,本发明提供了一种计算机可读存储介质,存储能够被处理器加载并执行上述方法。

本发明的有益效果是:1、当种子是一串很长的随机数时方便记录;

2、本技术中的加密货币算法同时具有安全性;

3、加密货币支付更容易同支付对应的机顶盒挂钩,加密货币支付同现实中的支付者更容易对应起来;

4、用户支付数字电视机顶盒费用时程序方便快捷。

附图说明

图1是本发明实施例的一种数字电视的加密货币计算方法的流程图;

图2是本发明实施例所述一种数字电视的加密货币计算系统的流程图。

附图标记说明:

10、采集单元;11、转化单元;12、加密单元;20、筛选单元;30、匹配单元;40、授权单元;50、存储单元。

具体实施方式

下面结合附图对本发明的实施例作进一步说明。

实施例:

如图1所示,一种数字电视的加密货币计算方法,包括以下步骤:

步骤1:获取单词词库,并对所述单词词库中的单词进行随机选取生成助记词序列;

步骤2:将所述助记词序列根据转化规则转化为种子;

步骤3:对所述种子进行加密生成根私钥和根公钥;

步骤4:根据所述根公钥生成子公钥库,在所述子公钥库中随机选取一个子公钥;

步骤5:根据所述子公钥生成对应的孙公钥;

步骤6:选取机顶盒卡号范围,预置机顶盒卡号,根据所述孙公钥序号找到对应的唯一机顶盒卡号,并进行支付操作;

步骤7:使用过所述孙公钥后,再从所述子公钥库中随机选择一个新的子公钥,重复所述步骤4至6,匹配到对应的机顶盒卡号。

上述技术方案的工作原理如下:

本技术方案设计了一种类似hd钱包的钱包来收费。从助记词库(一般2048个挑选出来的词,对中文来讲就是单字),随机挑选一组,比如15个:“仰脸铅损屈蒸传呼盖合泰睡飘估截”,即助记词序列;利用一个函数,比如类似hmac-sha512的函数,从这一组助记词计算得到一组随机数序列,即种子;利用一种算法,从种子(随机数序列)计算得到一组公钥和一组私钥,这两组密钥就是根密钥对;根据bip32中定义的算法,对于一组确定的父公钥,那么计算它的第n组子密钥是确定的;每个机顶盒都有一个独立的序列号,在机顶盒出厂时,我们赋予每个机顶盒一个独立的随机序号,这个序号是一个小于2的31次方的整数;从根公钥,根据所有机顶盒序号(即机顶盒序号库),计算出子公钥库,根据序号即可确定每个机顶盒对应的子密钥(机顶盒公钥);从根私钥,根据所有机顶盒序号(即机顶盒序号库),计算出子私钥库,根据序号即可确定每个机顶盒对应的子密钥(机顶盒私钥);机顶盒出厂时,写入它的公私钥对;交易时,服务器(收费方)随机挑选一个小于2的31次方的整数作为交易密钥的序号,并为所有机顶盒计算出交易密钥,即这次交易的交易密钥库,

其计算方法是,以各机顶盒公钥和私钥为父密钥,计算其第n(n为交易密钥序号)组子密钥;服务器广播此次交易的地址和交易密钥序号;机顶盒收到交易地址和交易密钥序号后,根据保存的机顶盒密钥和交易序号,计算出交易密钥,完成支付;服务器收到支付信息后,遍历交易密钥库,也就是用交易信息中的密钥跟交易密钥库中的密钥一组一组比对,找出完成交易的机顶盒序号;至此,服务器得到了交易所有信息,可以对机顶盒授权。

本技术方案中首先生成一个助记词序列bip39助记符,该助记词序列使用pbkdf2转化为种子bip39种子,pbkdf2简单而言就是将加盐哈希加密进行多次重复计算,这个次数是可选择的,如果计算一次所需要的时间是1微秒,那么计算1百万次就需要1秒钟,假如攻击一个密码所需的彩虹表有1千万条,建立所对应的彩虹表所需要的时间就是115天,这个代价足以让大部分的攻击者忘而生畏。

将所述助记词序列根据转化规则转化为种子,从记忆到播种,用户可能决定用密码来保护他们的记忆。如果不存在密码短语,则使用空字符串“”。为了从助记符中创建二进制种子,我们使用pbkdf2函数和助记符句子(utf-8nfkd)作为密码,字符串“助记符”+密码短语(同样是utf-8nfkd)作为盐迭代计数设置为2048,使用hmac-sha512作为伪随机函数。派生密钥的长度为512位(64字节)。这个种子可以在以后使用bip-0032或类似的方法生成确定性钱包。将助记符句子转换为二进制种子完全独立于句子的生成。这导致了相当简单的代码;句子结构没有限制,客户端可以自由实现自己的单词列表甚至是整个句子生成器,从而为检测错误或其他目的提供了单词列表的灵活性。虽然可以使用“生成助记符”部分中描述的算法以外的助记符,但是不建议这样做,软件必须使用单词列表计算助记符句子的校验和,如果无效则发出警告。所描述的方法也提供了似是而非的否认,因为每个密码短语都会产生一个有效的种子(从而产生一个确定性的钱包),但只有正确的那个才能产生所需的钱包。从助记词库中选择助记词序列,根据助记词序列计算出一组种子,根据种子可以计算出一对公私密钥,即根密钥对;以根公钥为父密钥,可以计算出确定的子密钥空间,即2的32次方个子密钥,其中前一半为普通子密钥,即我们使用的密钥库;后一半为硬子密钥,暂时不使用;将机顶盒序列号映射到子密钥空间,即一个机顶盒序列号对应一个子密钥;交易时,我们以机顶盒对应的子密钥为父密钥,计算出它的之密钥库,即孙密钥库,随机挑选一组为交易密钥,这样,每次交易,我们都能够跟踪到是哪个机顶盒发起的交易。

使用加密方法hmac-sha512生成根私钥bip32根密钥和根公钥。bip32的定义为hd钱包,是一个系统可以从单一个种子产生一树状结构储存多组私钥和公钥。因为都只需要种子,可以方便的备份、转移到其他相容装置以及分层的权限控制。根据bip32使根公钥生成子公钥,其中节点布局由bip44设置,bip43对bip32树结构增加了子索引标识目的的拓展m/purpose'/*,bip44是在bip43和bip32的基础上增加了多币种,通过hd钱包可以派生多个地址,可以同时管理主网和测试网的比特币,bip44提出了5层的路径建议如下:m/purpose'/coin_type'/account'/change/address_index,bip32是hd钱包的核心提案,通过种子来生成主私钥,然后派生海量的子私钥和地址,通过bip32设计的目的是记住助记词序列,重构整个秘钥库,根据bip32,可以从一组根密钥生成2的31次方个普通子钥和同样数量的硬子钥,由根私钥和根公钥生成普通子钥和硬子钥,前2的31次方是普通子钥,后一半是硬子钥,整个密钥体系,就是根据助记词序列,根据一定算法,得到一组种子(种子,随机数),然后根据bip32中定义的算法,得到一组公私钥,这就是根密钥,根据根密钥一层一层推导子密钥,子密钥的上一层就是父密钥。可以根据父公钥派生子公钥,也可以根据父私钥派生子公钥和子私钥,子私钥只能根据父私钥派生,这样本算法在派生子公钥时候不需要私钥的参与,提高了安全性。父密钥,就是用来派生子密钥的密钥,孙密钥可以看作交易密钥,普通密钥就是我们一般使用的密钥,硬子钥是bip32中定义的,一组父密钥可以计算生成2的32次方个子密钥,在本实施例中用前一半作为子密钥库。

从子公钥生成对应的孙公钥,由于2的31次方是一个非常大的数2147483648,实践中,我们选取一个范围,比如序号80000000到90000000,作为对应的卡号,每个机顶盒都赋予一个唯一的卡号用来寻址范围,每个孙公钥序号对应一个机顶盒卡号,服务器根据卡号范围计算出对应的孙公钥库以及相应的收费地址库,孙公钥库在每次使用后重新生成,当一组孙公钥使用之后,随机选择一组新的子公钥生成新的孙公钥库。

将当前有效子公钥和收费费率广播出去,由于实际上每个广播频道的不同,每次广播时,根据广播频道的数量从子公钥库中选择若干子公钥,每个子公钥对应一个频道去广播,机顶盒收到有效子公钥后,机顶盒根据此有效子公钥生成本次收费的孙公钥库,机顶盒再根据自己的卡号计算出对应的孙公钥,然后根据此孙公钥计算出相应的收费链接,并生成二维码显示出来,用户扫描二维码支付,服务器收到后,根据收到的付费地址中的孙公钥查找出对应的本机顶盒卡号,找到付费的机顶盒,最后根据卡号和金额计算出授权信息发送给条件接收系统,通过条件接收系统对机顶盒授权。

在另外一个实施例中,所述步骤1中获取单词词库,并对所述单词词库中的单词进行随机选取生成助记词序列的方法如下:

所述单词词库拥有2048个单词,并在所述单词词库中随机选择12个单词生成所述助记词序列。

本实施例对所述单词词库中的单词进行随机选取生成助记词序列的方法,转化成助记词序列后,因为助记词序列方便保存和记录,所以解决了没有助记词序列导致的当种子是一串很长的随机数时不好记录的问题。

在另外一个实施例中,所述步骤2中所述转化规则为:

应用一个伪随机函数以导出密钥的转化规则,使得所述助记词序列转化为种子。

应用一个伪随机函数以导出密钥的转化规则,一串种子很长不好记录时能够很好记录并且保证了记录时候的安全性,所述助记词序列使用pbkdf2,pbkdf2应用一个伪随机函数以导出密钥,导出密钥的长度本质上是没有限制的。

在另外一个实施例中,所述步骤4中所述根据所述根公钥生成子公钥库,在所述子公钥库中随机选取一个子公钥的方法如下:

所述根公钥生成2的32次方个子钥;

在前2的31次方个子钥中随机选择一段作为子公钥库。

在前2的31次方个子钥中随机选择一段作为子公钥库,子钥一共可以有2的32次方个,前2的31次方是普通子钥,后一半是硬子钥,本技术方案只使用普通子钥,派生子公钥时不需要根私钥的参与。

在另外一个实施例中,所述步骤6中选取机顶盒卡号范围,预置机顶盒卡号,根据所述孙公钥序号找到对应的唯一机顶盒卡号的方法如下:

服务器根据所述卡号范围计算出对应的孙公钥库以及对应的收费地址库;

所述收费地址库中包括收费费率;

所述机顶盒根据所述收费费率和所述子公钥计算出对应的孙公钥序号和收费链接;

根据所述对应的孙公钥序号找到对应的机顶盒卡号。

根据所述对应的孙公钥序号找到对应的机顶盒卡号,一个孙公钥序号对应一个唯一的机顶盒卡号,这样加密货币支付同支付对应的机顶盒所挂钩。

在另外一个实施例中,所述步骤6中进行支付操作的方法如下:

根据所述收费链接生成二维码,用户扫描所述二维码进行支付。

用户扫描所述二维码进行支付,解决了现有技术中用户支付数字电视机顶盒费用时程序繁琐麻烦的技术问题。

在另外一个实施例中,所述根据所述收费链接生成二维码,用户扫描所述二维码进行支付的方法如下:

用户扫描二维码进行支付后,服务器收到支付信息,服务器根据所述支付信息确定收费地址,根据所述收费地址确定所述机顶盒对应的卡号,根据所述卡号和所述支付信息计算出授权信息发送给条件接收系统;

通过所述条件接收系统对所述机顶盒进行授权。

根据所述卡号和所述支付信息计算出授权信息发送给条件接收系统,通过所述条件接收系统对所述机顶盒进行授权,加密货币支付以同现实中的支付者便对应起来。

在另外一个实施例中,如图2所示,本实施例公开了一种数字电视的加密货币计算系统,所述系统包括:采集单元、转化单元、加密单元、筛选单元和匹配单元,其中:

采集单元,用于获取单词词库,并采集所述单词词库中的助记词序列;

转化单元,用于将所述助记词系列转化为种子,用于根据所述子公钥生成对应的孙公钥;

加密单元,用于将所述种子进行加密生成根私钥和根公钥;

筛选单元,用于将所述根公钥生成子公钥库并在所述子公钥库中选取子公钥;

匹配单元,用于根据所述孙公钥序号匹配对应的机顶盒卡号。

在另外一个实施例中,一种数字电视的加密货币计算系统,所述系统还包括:

授权单元,用于通过所述条件接收系统对所述机顶盒进行授权。

存储单元,用于存储所述加密货币的计算程序,用于存储所述机顶盒卡号范围,用于存储所述收费地址库,用于存储所述收费链接生成的二维码,并实施存储所述支付信息和授权信息。

以上所述实施例仅表达了本发明的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1