发明名称 一种智能终端APP应用程序与服务器数据通信加解密方法
摘要 本发明公开了一种智能终端APP应用程序与服务器数据通信加解密方法,智能终端采用一种基于数据本身特征的加密解密算法,对获得的原始数据进行加密,将加密后的数据传输到服务器端;智能终端将从服务器端接收来的数据进行解密处理并对数据进行显示。本发明具有加密复杂度高,相应解密算法效率高,适用于计算性能有限的智能终端。
申请公布号 CN105933105A 申请公布日期 2016.09.07
申请号 CN201610197137.X 申请日期 2016.03.26
申请人 重庆大学 发明人 朱竑见
分类号 H04L9/06(2006.01)I;H04L29/06(2006.01)I 主分类号 H04L9/06(2006.01)I
代理机构 代理人
主权项 一种智能终端APP应用程序与服务器数据通信加解密方法,其特征在于,智能终端采用一种基于数据本身特征的加密解密算法,对获得的原始数据进行加密,将加密后的数据传输到服务器端;智能终端将从服务器端接收来的数据进行解密处理并对数据进行显示;具体包括以下步骤:步骤1、获取数据项集D={d<sub>1</sub>,d<sub>2</sub>,d<sub>3</sub>,...,d<sub>S</sub>},其中,S为数据集中数据项总个数;步骤2、若执行加密操作,则执行步骤4到步骤10;步骤3、若执行解密操作,则执行步骤11到步骤16;步骤4、引入步骤1中的数据项集D={d<sub>1</sub>,d<sub>2</sub>,d<sub>3</sub>,...,d<sub>S</sub>},设q为循环变量,q=0,q<=S,若数据项d<sub>q</sub>需加密处理,则执行步骤5到步骤9;步骤5、设数据项d<sub>q</sub>={c<sub>1</sub>,c<sub>2</sub>,c<sub>3</sub>,...,c<sub>N‑1</sub>,c<sub>N</sub>},其中,N为数据项d<sub>q</sub>中字符总数;步骤6、设p为循环变量,p=N,p>=1,若c<sub>p</sub>∈bnum={′1′,′2′,′3′,′4′,′5′,′6′,′7′,′8′,′9′},设变量num,i,将第一个满足条件的字符c<sub>p</sub>对应的十进制数值赋值给变量num,否则将十进制数字N除以客户端与服务器端约定的数值i得到的商赋值给变量num;步骤7、设bu<sub>q</sub>={b<sub>1</sub>,b<sub>2</sub>,b<sub>3</sub>,…,b<sub>m</sub>}为数据项d<sub>q</sub>对应的二进制值,其中,m为二进制值的总位数;步骤8、对bu<sub>q</sub>={b<sub>1</sub>,b<sub>2</sub>,b<sub>3</sub>,…,b<sub>m</sub>}进行二进制循环右移num位,得到移位后的二进制值bu<sub>q</sub>′={b<sub>m‑num‑1</sub>,...,b<sub>m‑2</sub>,b<sub>m‑1</sub>,b<sub>m</sub>,b<sub>1</sub>,b<sub>2</sub>,b<sub>3</sub>,...b<sub>m‑num‑2</sub>};步骤9、将bu<sub>q</sub>′采用服务器端指定的编码格式重新编码,将变量num对应的字符插入在字符串最后,得到加密后的数据并重新赋值给b<sub>q</sub>;步骤10、得到加密后的数据集Sd={d<sub>1</sub>,d<sub>2</sub>,d<sub>3</sub>,...,d<sub>S</sub>};步骤11、引入步骤1中的数据项集D={d<sub>1</sub>,d<sub>2</sub>,d<sub>3</sub>,...,d<sub>S</sub>},设m为循环变量,m=0,m<=s,若数据项d<sub>m</sub>需解密处理,则执行步骤12到步骤15;步骤12、设整型变量bnum,设数据项d<sub>m</sub>={c<sub>1</sub>,c<sub>2</sub>,c<sub>3</sub>,…,c<sub>T‑1</sub>,c<sub>T</sub>},其中,T为数据项d<sub>m</sub>中字符总个数,将dm={c<sub>1</sub>,c<sub>2</sub>,c<sub>3</sub>,…,c<sub>T‑1</sub>,c<sub>T</sub>}的第一个字符c<sub>1</sub>对应的十进制数值赋值给bnum;步骤13、设d<sub>m</sub>′={bc<sub>2</sub>,bc<sub>3</sub>,...,bc<sub>T‑1</sub>,bc<sub>T</sub>}为d<sub>m</sub>去掉首字符得到的字符串,设d<sub>m</sub>″为d<sub>m</sub>′对应的二进制值d<sub>m</sub>″={bic<sub>1</sub>,bic<sub>2</sub>,…,bic<sub>g</sub>};步骤14、对d<sub>m</sub>″={bic<sub>1</sub>,bic<sub>2</sub>,...,bic<sub>g</sub>}进行二进制循环左移bnum位,得到移位后的二进制串为bu<sub>q</sub>″={bic<sub>bnum+1</sub>,bic<sub>bnum+2</sub>,...,bic<sub>g</sub>,bic<sub>1</sub>,bic<sub>2</sub>,...,bic<sub>bnum</sub>};步骤15、将bu<sub>q</sub>″利用客户端指定的编码格式重新编码,得到解密后的数据项重新赋值给b<sub>q</sub>;步骤16、得到解密后的数据集Sed={d<sub>1</sub>,d<sub>2</sub>,d<sub>3</sub>,…,d<sub>S</sub>}。
地址 400044 重庆市沙坪坝区沙正街174号