CN113656816B - 一种文本加密方法 - Google Patents

一种文本加密方法 Download PDF

Info

Publication number
CN113656816B
CN113656816B CN202110930639.XA CN202110930639A CN113656816B CN 113656816 B CN113656816 B CN 113656816B CN 202110930639 A CN202110930639 A CN 202110930639A CN 113656816 B CN113656816 B CN 113656816B
Authority
CN
China
Prior art keywords
byte
private key
bits
key factor
ascii
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110930639.XA
Other languages
English (en)
Other versions
CN113656816A (zh
Inventor
孔庆明
潘闯
吴迎春
徐晓瑀
王理政
罗义斌
孙力斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Lianchuang Data Technology Co ltd
Original Assignee
Nanjing Lianchuang Data Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Lianchuang Data Technology Co ltd filed Critical Nanjing Lianchuang Data Technology Co ltd
Priority to CN202110930639.XA priority Critical patent/CN113656816B/zh
Publication of CN113656816A publication Critical patent/CN113656816A/zh
Application granted granted Critical
Publication of CN113656816B publication Critical patent/CN113656816B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)
  • Document Processing Apparatus (AREA)

Abstract

一种文本加密方法,原文本增噪,私钥变换,接着原文本与私钥两者混合在一起加密,再变化成可见文字,最后增加校验码,加密后的密文支持解密还原;算法步骤如下:计算私钥因子:通过分段异或算法,将私钥字串转换成私钥因子,简称PF;按序给每个bit位增噪:将原文本按序分解成字节byte,按bit位向右移动1位,原文本某字节byte的最后一位转移至下一字节byte的最高位;转换后的字串为SM;加密私钥和私钥因子长度。待加密原文可以包含不可见字符。加密过程中主要运用了位运算,加密后的文字呈现为可见文字,且包含校验码。可通过调整输入参数来提升安全级别。

Description

一种文本加密方法
技术领域
本发明涉及文本加密技术,可应用在数据库字段加密、登录密码加密、License生成等场景下。
背景技术
随着网络安全法的实施,政府和企业单位高度重视主机安全、系统安全和网络安全。在网络安全中,比较重要的措施是数据加密。网络连接了越来越多的终端,各终端存储了各种各样的数据。有些数据通过http协议经认证后向用户开放,有些数据只向内网开放。由于网络的存在,只要攻破网路,就可能获得机密数据。在网络传输的数据,如果传输过程中被截获,很容易造成数据泄露。而数据加密为网络安全增加了一道安全屏障,只有拥有解密钥匙,且知晓算法的人才可以真正明白所获数据的含义。
利用各自的私钥因子来通过计算获知公共密钥对,来产生公共随机性。设置的过程需运行一次。生成:设置后,节点切换到持续性的随机性生成模式。信息安全上是通过私钥因子矩阵与公钥因子矩阵的映射算法来获得有关信息的加密与解密。
CN200610115754.7一种基于标识的组合密钥管理方法和系统。该方法包括步骤:根据密钥因子矩阵参数控制装置生成密钥因子矩阵的划分参数,将密钥因子矩阵划分为多个密钥因子分矩阵,并由所述多个密钥因子生成装置保存所述多个密钥因子分矩阵中的私钥因子分矩阵;密钥因子生成装置根据与身份标识对应的行列标映射组合计算私钥因子分量,并将该私钥因子分量发送给密钥分发装置;密钥分发装置根据接收到的与所述身份标识对应的所有私钥因子分量计算出相应的私钥。通过本发明,可分散生成与保管私钥因子矩阵;实现相互制约的密钥托管,避免了权利的误用;各个密钥因子生成装置分别保管各自的秘密,增强了系统的安全性和可靠性;可以实现大规模的密钥管理。
CN2019106009801基于SM2算法的私钥处理方法、终端及密钥中心,解决了现有技术中在开放环境下私钥的安全保护问题。所述方法应用于密钥中心,所述方法包括:接收客户端的密钥申请消息,所述密钥申请消息中包括所述客户端的密钥标识和第一私钥因子;根据密钥生成规则,得到所述密钥标识对应的私钥;根据所述密钥标识对应的私钥和所述第一私钥因子,得到第二私钥因子;将所述第二私钥因子发送至服务器端,以便所述服务器端加密存储所述第二私钥因子。本发明实施例适用于在开放环境下私钥的分散存储和使用过程。
发明内容
本发明的目的在于,提供一种应用在数据库字段加密、登录密码加密、License生成等场景下的文本加密方法。
本发明的技术方案是,一种文本加密方法,其特征在于,原文本增噪,私钥变换,接着原文本与私钥两者混合在一起加密,再变化成可见文字,最后增加校验码,加密后的密文支持解密还原;加密方法,算法步骤如下:
[S01]计算私钥因子:通过分段异或算法,将私钥字串转换成私钥因子,简称PF;
[S02]按序给每个bit位增噪:将原文本按序分解成字节byte,按bit位向右移动1位,原文本某字节byte的最后一位转移至下一字节byte的最高位;转换后的字串为SM;
[S03]PF和SM混合加密:PF可以是一个字节,也可以是多个字节;SM与PM按顺序依次异或;
[S04]多规则变换为可见字符串:
6)如果字节是ascii字符0-9,则分别变换为ascii字符a-j;
7)如果字节高低四位数值均为0,则变为赋值为ascii字符k;
8)如果低四位为0,高四位不为0,则按照高四位数值1-15分别对应变为ASCII小写英文字母lmnopqrstuvwxyz;
9)如果高四位为0,低四位不为0,则按照低四位数值1-15变为ascii字符A-O;
10)如果高低四位全部不为0,则高四位按照数值1-15变为ascii字符123456789PQRSTU;低四位做同样变换,即1-15变为ascii字符123456789PQRSTU;
[S05]增加校验码:
以第S04步输出所有字节为基础,按字节分别异或后,得出一个字节,生成2个16进制码;
[S06]输出密码:S04和S05前后合并后,生成最终密文;
解密方法,算法步骤如下:
[D01]分离出校验码,记为OldCheckCode
取出最后两个字符,两个字符必须是16进制代码,否则停止解密;
以16进制方式转换换成byte,比如最后两个字符是2C,转后成从10进制数值为44。
[D02]重新生成校验码,记为NewCheckCode
在D01步骤中,截去掉最后两个字符后,剩余字符串(记为EncryptCode)从前到后按字节进行异或运算,最终生成校验码;
[D03]完整性验证
当NewCheckCode和OldCheckCode一致时,初步证明密文未被篡改;否则表明输入的密文已被篡改,或者不是密文;
[D04]对EncryptCode进行一次转换,从字符和数字码变换成二进制码
从左向右按字节逐个转换还原,
1)当字节数值为ASCII a-j时,转换为ASCII 1-9;
2)当字节数值为ASCII k时,转换字节值为0;
3)当字节数值为ASCII l-y时,转换成高四位不为0,低四位为0的字节;
4)当字节数值为ASCII A-O时,转换成高四位为0,低4位不为0的字节;
5)当字节数值为ASCII 123456789PQRSTU时,当前字节转换成高四位,下一字节转换成低四位的字节。
[D05]求出私钥因子;
[D06]每个字节与私钥因子做异或运算;
[D07]降噪还原,各bit位向左移动一位;
[D07]转换成原文:把字节码转换成字串。
有益效果:本发明加密过的密文,支持解密还原。在安全方面,S01生成的私钥因子越长,越安全。加密过程中主要运用了位运算,加密后的文字呈现为可见文字,且包含校验码。可通过调整输入参数来提升安全级别。
附图说明
图1:私钥原文变换为私钥因子原理图;
图2:将原文按bit位增噪原理图;
图3:混合加密原理图;
图4:多规则变换可见字符原理图。
图5授权软件图;
图6流程图。
具体实施方式
图1,首先确认私钥因子字节数,然后以私钥因子字节数将私钥原文按byte分段,首段byte与其他各段异或后,生成私钥因子。
最后修正私钥因子各字节,当高四位为0时,变更为二进制1010;当低四位为0时,变更为二进制0110。
图2,本发明增噪流程:私钥原文byte字节各二进制位(bit)向右移动一位,最后字节的二进制末尾移至第一个字节二进制首位。将原文按bit位增噪原理图)
图3:混合加密原理图,,已增噪原文和私钥因子PF依次异或后,生成加密二进制码。
图4:多规则变换可见字符原理图,将已加密的二进制数据按字节分类转换成可见字符。最后再增加校验码,附在已转换可见字符串的最后。具体校验方法见[D01][D02][D03]。
1)生成软件系统License
①授权原文
有效期至:2022-08-31
授权给:南京联创数据科技有限公司
系统名称:网络安全防护系统
授权数量:5
②授权密文:
1T1U9UP4149P9R97262PTTTUTTTTT16UTQT16T6U72929P93P3PQ8QP62P95t28P31722PSPS928928992814P9P99T1Ut18PQ221228U2t2S112T16J2T14P62P91K96842UPT93P22R17PP25t2S112T72929P93P392891728262PTS08
③授权密文美化:
LICENSEBEGIN1T1U9UP4149P9R97262PTTTUTTTTT16UTQT16T6U72929P93P3PQ8QP62P95t28P31722PSPS928928992814P9P99T1Ut18PQ221228U2t2S112T16J2T14P62P91K96842UPT93P22R17PP25t2S112T72929P93P392891728262PTS08ENDLICENSE
④软件授权:如图5所示。
文本加密方法,原文本增噪,私钥变换,接着原文本与私钥两者混合在一起加密,再变化成可见文字,最后增加校验码,加密后的密文支持解密还原;
加密方法,算法步骤如下:
[S01]计算私钥因子:通过分段异或算法,将私钥字串转换成私钥因子,简称PF。
分段异或算法:
1)将私钥按私钥因子长度分段,缺失部分补充0
比如:私钥为98%op%$#Z1,假设私钥因子长度预设为3时,以每3字节对私钥进行分段,最后一段用0补齐,如下所示:
98%op%$#Z 100
2)将各段按位异或运算,输出私钥因子
98%异或op%异或$#Z异或100,最后得出三字节私钥因子
Figure BDA0003210552680000051
异或后生成的私钥因子
私钥因子 对应16进制 对应二进制
C[j 43 5B 6A 01000011 01011011 01101010
[S02]按序给每个bit位增噪:将原文本按序分解成字节byte,按bit位向右移动1位,原文本某字节byte的最后一位转移至下一字节byte的最高位;转换后的字串为SM;
[S03]PF和SM混合加密:PF可以是一个字节,也可以是多个字节;SM与PM按顺序依次异或;
[S04]多规则变换为可见字符串:
11)如果字节是ascii字符0-9,则分别变换为ascii字符a-j;
12)如果字节高低四位数值均为0,则变为赋值为ascii字符k;
13)如果低四位为0,高四位不为0,则按照高四位数值1-15分别对应变为ASCII小写英文字母lmnopqrstuvwxyz;
14)如果高四位为0,低四位不为0,则按照低四位数值1-15变为ascii字符A-O;
15)如果高低四位全部不为0,则高四位按照数值1-15变为ascii字符123456789PQRSTU;低四位做同样变换,即1-15变为ascii字符
123456789PQRSTU;
[S05]增加校验码:
以第S04步输出所有字节为基础,按字节分别异或后,得出一个字节,生成2个16进制码。
[S06]输出密码:S04和S05前后合并后,生成最终密文。
本发明解密方法,算法步骤如下:
[D01]分离出校验码,记为OldCheckCode
取出最后两个字符,两个字符必须是16进制代码,否则停止解密。
以16进制方式转换换成byte,比如最后两个字符是2C,转后成从10进制数值为44。
[D02]重新生成校验码,记为NewCheckCode
在D01步骤中,截去掉最后两个字符后,剩余字符串(记为EncryptCode)从前到后按字节进行异或运算,最终生成校验码。
[D03]完整性验证
当NewCheckCode和OldCheckCode一致时,初步证明密文未被篡改;否则表明输入的密文已被篡改,或者不是密文。
[D04]对EncryptCode进行一次转换,从字符和数字码变换成二进制码
从左向右按字节逐个转换还原,
1)当字节数值为ASCII a-j时,转换为ASCII 1-9;
2)当字节数值为ASCII k时,转换字节值为0;
3)当字节数值为ASCII l-y时,转换成高四位不为0,低四位为0的字节;
4)当字节数值为ASCII A-O时,转换成高四位为0,低4位不为0的字节;
5)当字节数值为ASCII 123456789PQRSTU时,当前字节转换成高四位,下一字节转换成低四位的字节。
[D05]求出私钥因子;
[D06]每个字节与私钥因子做异或运算;
[D07]降噪还原,各bit位向左移动一位;
[D07]转换成原文:把字节码转换成字串。
加密方法中,待加密原文中可包含不可见字符,适合制作license字串。
私钥因子越长,越不容易破解,安全性越高。假设私钥因子是10字节,破解尝试25610次,合计1208925819614629174706176次,基本不可能被破解。
密文是可见文字,在转变成可见文字过程中,没有采用16进制码呈现,而是采用字节数据不同分别转换为不同码段字符的方法。

Claims (2)

1.一种文本加密方法,其特征在于,私钥变换,原文本增噪,接着原文本与私钥两者混合在一起加密,再变化成可见文字,最后增加校验码,加密后的密文支持解密还原;算法步骤如下:
[S01]计算私钥因子:通过分段异或算法,将私钥字串转换成私钥因子,简称PF;私钥字串转换成私钥因子的方法为:密钥、密钥因子长度、密钥因子三者密切相关;根据密钥和密钥因子长度,通过分段异或,生成密钥因子:
首先确认私钥因子字节数,然后以私钥因子字节数将私钥原文按byte分段,首段byte与其他各段异或后,生成私钥因子;
最后修正私钥因子各字节,当高四位为0时,变更为二进制1010;当低四位为0时,变更为二进制0110;
[S02]按序给每个bit位增噪:将原文本按序分解成字节byte,按bit位向右移动1位,原文本某字节byte的最后一位转移至下一字节byte的最高位;转换后的字串为SM;
[S03] PF和SM混合加密:PF是一个字节,或是多个字节;SM与PF按顺序依次异或;
[S04]PF和SM混合加密后的字节多规则变换为可见字符串:
1)如果字节是ASCII字符0-9,则分别变换为ASCII字符a-j;
2)如果字节高低四位数值均为0,则变为赋值为ASCII字符k;
3)如果低四位为0,高四位不为0,则按照高四位数值1-15分别对应变为ASCII小写英文字母lmnopqrstuvwxyz;
4)如果高四位为0,低四位不为0,则按照低四位数值1-15变为ASCII字符A-O;
5)如果高低四位全部不为0,则高四位按照数值1-15变为ASCII字符123456789PQRSTU;低四位做同样变换,即1-15变为ASCII字符123456789PQRSTU;
[S05]增加校验码:
以第S04步输出所有字节为基础,按字节分别异或后,得出一个字节,生成2个16进制码;
[S06] 输出密码:S04得到的可见字符串和S05得到的校验码前后合并后,生成最终密文;
解密方法,算法步骤如下:
[D01] 分离出校验码,记为OldCheckCode;
取出最后两个字符,两个字符必须是16进制代码,否则停止解密;
以16进制方式转换换成byte;
[D02] 重新生成校验码,记为NewCheckCode;
在D01步骤中,截去掉最后两个字符后,剩余字符串、记为EncryptCode,从前到后按字节进行异或运算,最终生成校验码;
[D03] 完整性验证,当NewCheckCode和OldCheckCode一致时,初步证明密文未被篡改;否则表明输入的密文已被篡改,或者不是密文;
[D04] 对EncryptCode进行一次转换,从字符和数字码变换成二进制码;
从左向右按字节逐个转换还原,
1)当字节数值为ASCII a-j时,转换为ASCII 0-9;
2)当字节数值为ASCII k时,转换字节值为0;
3) 当字节数值为ASCII l-z时,转换成高四位不为0,低四位为0的字节;
4)当字节数值为ASCII A-O时,转换成高四位为0,低四位不为0的字节;
5)当字节数值为ASCII 123456789PQRSTU时,当前字节转换成高四位,下一字节转换成低四位的字节;
[D05] 求出私钥因子;
[D06] 每个字节与私钥因子做异或运算;
[D07] 降噪还原,各bit位向左移动一位;
[D08] 转换成原文:把字节码转换成字串。
2.根据权利要求1所述的文本加密方法,其特征在于,加密方法中,待加密原文中能包含不可见字符,适合制作license字串。
CN202110930639.XA 2021-08-13 2021-08-13 一种文本加密方法 Active CN113656816B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110930639.XA CN113656816B (zh) 2021-08-13 2021-08-13 一种文本加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110930639.XA CN113656816B (zh) 2021-08-13 2021-08-13 一种文本加密方法

Publications (2)

Publication Number Publication Date
CN113656816A CN113656816A (zh) 2021-11-16
CN113656816B true CN113656816B (zh) 2022-08-05

Family

ID=78479886

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110930639.XA Active CN113656816B (zh) 2021-08-13 2021-08-13 一种文本加密方法

Country Status (1)

Country Link
CN (1) CN113656816B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101996298A (zh) * 2009-08-14 2011-03-30 鸿富锦精密工业(深圳)有限公司 加密方法及与加密方法相对应的解密方法
CN109412799A (zh) * 2018-12-21 2019-03-01 北京思源互联科技有限公司 一种生成本地密钥的系统及其方法
CN110768785A (zh) * 2019-10-22 2020-02-07 宜人恒业科技发展(北京)有限公司 一种编、解码方法、相关装置及计算机设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101996298A (zh) * 2009-08-14 2011-03-30 鸿富锦精密工业(深圳)有限公司 加密方法及与加密方法相对应的解密方法
CN109412799A (zh) * 2018-12-21 2019-03-01 北京思源互联科技有限公司 一种生成本地密钥的系统及其方法
CN110768785A (zh) * 2019-10-22 2020-02-07 宜人恒业科技发展(北京)有限公司 一种编、解码方法、相关装置及计算机设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《基于AES和RSA组合算法的软件加密系统的研究与应用》;卜晓燕;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20080915;全文 *

Also Published As

Publication number Publication date
CN113656816A (zh) 2021-11-16

Similar Documents

Publication Publication Date Title
US11516201B2 (en) Encryption and decryption techniques using shuffle function
US8892881B2 (en) Split key secure access system
CN106506487A (zh) 一种信息加、解密方法及装置
CN113067699B (zh) 基于量子密钥的数据共享方法、装置和计算机设备
JP2004534333A (ja) コンピュータネットワークにおける分散データ処理に関する統合された保護方法及びシステム
CN110138739B (zh) 数据信息加密方法、装置、计算机设备及存储介质
CN107528689B (zh) 一种基于Ukey的密码修改方法
KR102011043B1 (ko) 양자 키 분배 기반 디지털 서명 방법 및 이를 수행하는 시스템
CN111314069A (zh) 基于区块链的摇号系统、方法、电子设备及存储介质
CN112069547A (zh) 一种供应链责任主体身份认证方法及系统
CN113711564A (zh) 用于加密数据的计算机实现的方法和系统
CN114978525B (zh) 基于bim的数据安全认证方法及系统
CN112738051A (zh) 数据信息加密方法、系统及计算机可读存储介质
CN107241184A (zh) 基于改良aes的个人密码生成和管理方法
CN102222188A (zh) 一种信息系统用户密码的生成方法
CN116108410A (zh) 一种身份凭证生成方法及装置
CN110365468B (zh) 匿名化处理方法、装置、设备及存储介质
Yevseiev et al. The development of the method of multifactor authentication based on hybrid cryptocode constructions on defective codes
CN113656816B (zh) 一种文本加密方法
CN109412799B (zh) 一种生成本地密钥的系统及其方法
JP4350961B2 (ja) データ処理装置
CN112668353A (zh) 巴枪认证方法、装置、设备和存储介质
CN116866029B (zh) 随机数加密数据传输方法、装置、计算机设备及存储介质
CN111431721A (zh) 一种智能医疗环境下基于ibe的物联网设备加密方法
CN113343269B (zh) 一种加密方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant