VoIP加密方案,BEEO加密算法原理及实现

豆豆网   技术应用频道   2008年07月08日  【字号: 收藏本文

内容摘要:本方案力争以简单的运算,规定一种适应于加密在Internet上传输的IP电话(包括信令、媒体以及短信等)相关业务的较高强度的加密方法——BEEO。本方案适应的信令标准包括SIP、MGCP、H.323,适应的媒体传输方式为RTP,适应的网络结构包括客户服务器模式和端到端模式。

  本方案力争以简单的运算,规定一种适应于加密在Internet上传输的IP电话(包括信令、媒体以及短信等)相关业务的较高强度的加密方法——BEEO。本方案适应的信令标准包括SIP、MGCP、H.323,适应的媒体传输方式为RTP,适应的网络结构包括客户服务器模式和端到端模式。

  一、 基本原理

  本方案规定的加解密所处的网络位置在OSI网络体系结构的第五层,加密的内容是TCP/UDP的负载,VoIP信令结构也属于被加密的内容。

  在发送端,把输入内容按数据位排列成矩阵,按照协商的方式和密钥形成一个列加密矩阵、行加密矩阵和加扰矩阵,用列加密矩阵对输入数据的列进行数据位交换,用行加密矩阵对输入数据的行进行数据位交换,用加扰矩阵对数据块按字节进行异或操作,从而达到加密的目的。在接收端,使用同样三个矩阵的逆矩阵顺序进行去扰、行恢复和列恢复,还原出原始数据。

  在整个加解密过程中,我们仅仅使用数据位交换和异或操作,于是我们把这种加密方法命名位BEEO,英文字母取自单词Bit-Exchange和Exclusive-OR。

  为了计算简单而且保证输入输出的数据长度完全一样,我们建议使用8行×N列 矩阵,这样,每个字节对应于矩阵的一列,顺序排列形成矩阵。

  我们使用密钥交换算法产生一个属于通讯双方共有的6个私有数值,三个作为密钥,与公共密钥一起计算一个三个HASH数字签名;剩余三个作为矩阵生成偏移量;把数字签名根据矩阵生成偏移量进行循环移位,生成列交换矩阵、行交换矩阵和加扰矩阵。

  加密矩阵生成方式很多,一般情况下,我们建议选用8行×32列共计128位的加密矩阵;采用DH(Diffie-Hellman)算法完成密钥交换,并选择密钥和矩阵生成偏移量的DH特征值长度分别为160位和16位;选择MD5产生HASH数字签名,数字签名长度为128位;

责编:豆豆技术应用

正在加载评论...