1.一种基于文本压缩的防伪二维码生成方法,其特征在于,包括:
为二维码生成器内加装RSA加密模块和BWT变换模块;
采用生成器将明文信息采用RSA算法加密成密文,将密文通过BWT变换模块压缩后生成二维码输出;
上述明文信息加密过程包括,将明文字符代入me≡c(mod n)中生成密文c,所述m代表明文字符,所述me≡c(mod n)表示m的e次方除以n余数为c,所述n和e为公钥;
所述公钥的生成步骤包括:
随机选择两个不相等的强素数p和q;
计算p和q的乘积n;
通过欧拉公式计算n的欧拉函数φ(n),欧拉公式φ(n)=(p-1)(q-1);
随机选择一个整数e,e满足1<e<φ(n),且e与φ(n)互质;
计算e对于φ(n)的模反元素d;
将n和e封装成公钥(n,e),并将(n,d)封装为私钥发送给二维码扫码器。
2.根据权利要求1所述的基于文本压缩的防伪二维码生成方法,其特征在于,所述模反元素的计算方法为:ed≡1(modφ(n)),d代表可以使得ed被φ(n)除的余数为1的整数,该公式等价于ed-1=kφ(n),k为任意整数。
3.根据权利要求2所述的基于文本压缩的防伪二维码生成方法,其特征在于,所述BWT变换压缩步骤包括:
将密文字符串C的每个字符都右移一位,得到字符矩阵G;
将生成的字符矩阵G以行为单位按照字典中顺序进行排序形成新的矩阵Q;
选取矩阵Q的最后一列;
对L列字符采用游程编码方式进行压缩。
4.一种基于文本压缩的防伪二维码读取方法,其特征在于,包括:
为二维码扫码器内加装RSA解密模块和BWT还原模块;
采用扫码器从二维码中读取出二维码信息,将二维码信息通过BWT还原模块解压缩成密文,然后将密文通过RSA解密模块解密输出;
所述密文解密的解密过程包括,将密文信息代入cd≡m(mod n)得到密文c的明文m,所述cd≡m(mod n)表示c的d次方除以n的余数为m,所述n和d为私钥;
所述私钥的生成步骤包括:
随机选择两个不相等的强素数p和q;
计算p和q的乘积n;
通过欧拉公式计算n的欧拉函数φ(n),欧拉公式φ(n)=(p-1)(q-1);
随机选择一个整数e,e满足1<e<φ(n),且e与φ(n)互质;
计算e对于φ(n)的模反元素d;
将n和d封装成私钥(n,d),将(n,e)作为公钥发送给二维码生成器。
5.根据权利要求4所述的基于文本压缩的防伪二维码读取方法,其特征在于,所述模反元素的计算方法为:ed≡1(modφ(n)),d代表可以使得ed被φ(n)除的余数为1的整数,该公式等价于ed-1=kφ(n),k为任意整数。
6.根据权利要求5所述的基于文本压缩的防伪二维码读取方法,其特征在于,所述BWT还原模块解压缩步骤包括:
将读取的压缩数据根据游程编码规则还原成字符串L;
将字符串L按照字典顺序排序得到排序后的字符串F;
将F和L作为字符矩阵的第一列和最后一列恢复矩阵Q;
将矩阵第一行作为还原后的信息输出。
7.一种基于文本压缩的防伪二维码生成装置,其特征在于,所述装置包括:
输入组件,用于将明文信息输入;
转换组件,用于将明文信息转换为字符串;
加密组件,用于将字符串采用RSA算法加密生成密文;
BWT变换组件,用于采用BWT变换以及游程编码方式将密文进行压缩;
编码组件,用于将压缩后的密编译成二维码输出。
所述输入组件,转换组件,加密组件,压缩组件和编码组件依次连接到一起。
8.根据权利要求5所述的基于文本压缩的防伪二维码生成装置,其特征在于,所述输入组件包括扫描器和与扫描器连接的OCR识别器。
9.一种基于文本压缩的防伪二维码读取装置,其特征在于,包括:
扫描模块,用于扫描二维码信息;
BWT还原模块,用于将二维码信息通过BWT算法解压缩还原成密文;
解密模块,用于将密文信息通过RSA算法解密成明文字符串;
还原模块,用于将明文字符串还原成明文信息;
输出模块,用于将明文信息输出;
所述扫描模块、所述BWT还原模块、所述解密模块、所述还原模块和所述输出模块依次连接到一起。