Nothing Special   »   [go: up one dir, main page]

CN116684088A - 一种加密方法、系统及存储介质 - Google Patents

一种加密方法、系统及存储介质 Download PDF

Info

Publication number
CN116684088A
CN116684088A CN202310842583.1A CN202310842583A CN116684088A CN 116684088 A CN116684088 A CN 116684088A CN 202310842583 A CN202310842583 A CN 202310842583A CN 116684088 A CN116684088 A CN 116684088A
Authority
CN
China
Prior art keywords
key
encryption
check bit
plaintext
determining
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.)
Pending
Application number
CN202310842583.1A
Other languages
English (en)
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.)
Shenzhen Holyes Technology Co ltd
Original Assignee
Shenzhen Holyes 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 Shenzhen Holyes Technology Co ltd filed Critical Shenzhen Holyes Technology Co ltd
Priority to CN202310842583.1A priority Critical patent/CN116684088A/zh
Publication of CN116684088A publication Critical patent/CN116684088A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本申请涉及加密技术领域,尤其涉及一种加密方法、系统及存储介质。该方法,包括:生成第一明文所对应的第一密钥对照文件;根据所述第一密钥对照文件确定第一密钥序号所对应的第一密钥字符串;确定所述第一明文所对应的第一校验位以及第一密钥步长;根据所述第一密钥步长将所述第一明文转换为第一初始密文;根据所述第一密钥序号、所述第一密钥字符串、所述第一密钥步长、所述第一校验位以及所述第一初始密文确定所述第一明文所对应的第一加密文件。本申请能够提高数据传输的安全性。

Description

一种加密方法、系统及存储介质
技术领域
本申请涉及加密技术领域,尤其涉及一种加密方法、系统及存储介质。
背景技术
对于网络传输的数据,当以明文的形式直接传输很容易被抓包工具捕获,会导致信息的泄露,对用户的数据安全构成一定的威胁。
目前,在相关技术中,一些重要的数据在网络传输时,往往会对数据先进行加密处理再传输。但是,大部分加密方案,存在着广为流传、易于破解或部署不方便的问题,导致传输的数据,仍存在被泄露或被窥探的安全隐患。
发明内容
为解决或者部分解决相关技术中存在的问题,本申请公开的一种加密方法、系统及存储介质,能够提高数据传输的安全性。
第一方面,本申请实施例公开一种加密方法,采用如下技术方案:
一种加密方法,包括:生成第一明文所对应的第一密钥对照文件;根据所述第一密钥对照文件确定第一密钥序号所对应的第一密钥字符串;确定所述第一明文所对应的第一校验位以及第一密钥步长;根据所述第一密钥步长将所述第一明文转换为第一初始密文;根据所述第一密钥序号、所述第一密钥字符串、所述第一密钥步长、所述第一校验位以及所述第一初始密文确定所述第一明文所对应的第一加密文件。
通过采用上述技术方案,通过生成第一明文所对应的第一密钥对照文件,可以根据第一密钥对照文件确定第一密钥序号所对应的第一密钥字符串;通过确定第一明文所对应的第一校验位以及第一密钥步长,可以根据第一密钥步长将第一明文转换为第一初始密文,再基于第一密钥序号、第一密钥字符串、第一密钥步长、第一校验位以及第一初始密文得到第一明文所对应的第一加密文件,进而实现对明文的加密,提高数据传输的安全性。
可选的,所述根据所述第一密钥序号、所述第一密钥字符串、所述第一密钥步长、所述第一校验位以及所述第一初始密文确定所述第一明文所对应的加密文件包括:确定所述第一校验位所对应的第一存放位置;根据所述第一存放位置对所述第一初始密文进行分割,得到第一分割结果;根据所述第一分割结果、所述第一密钥序号、所述第一密钥字符串、所述第一密钥步长以及所述第一校验位确定所述第一明文所对应的加密文件。
通过采用上述技术方案,通过确定第一校验位所对应的第一存放位置,可以对第一初始密文进行分割,以得到第一分割结果,以便于后续确定加密文件中各符号的位置。
可选的,所述根据所述第一分割结果、所述第一密钥序号、所述第一密钥字符串、所述第一密钥步长以及所述第一校验位确定所述第一明文所对应的加密文件包括:根据所述第一密钥字符串对所述第一密钥序号进行处理,以得到所述第一密钥序号所对应的第一加密序号;根据所述第一密钥字符串对所述第一密钥步长进行处理,以得到所述第一密钥步长所对应的第一加密步长;根据所述第一密钥字符串对所述第一校验位进行处理,以得到所述第一校验位所对应的第一加密校验位;按照预设排序规则对所述第一加密序号、所述第一加密步长、所述第一分割结果、所述第一加密校验位进行排序,以生成所述第一明文所对应的加密文件。
通过采用上述技术方案,通过根据第一密钥字符串对第一密钥序号进行处理,可以得到第一密钥序号所对应的第一加密序号,通过根据第一密钥字符串对第一密钥步长进行处理,可以得到第一密钥步长所对应的第一加密步长,通过根据第一密钥字符串对第一校验位进行处理,可以得到第一校验位所对应的第一加密校验位,以此再依据预设排序规则分别对第一加密序号、第一加密步长、第一分割结果、第一加密校验位进行排序,来生成第一明文所对应的特定序列的加密文件,进而实现对第一明文的多层加密来提高数据传输的安全性。
可选的,所述确定所述第一明文所对应的第一校验位包括:通过如下公式计算所述第一校验位:
S=(N1*B1+N2*B2…,Ni*Bj,…,Nn*Bn)/95;其中,S为所述第一校验位,Ni为所述第一明文中第i个字符对应的ASCII码,Bi为所述第一明文中第i个字符对应的位数,n为所述第一明文中包含的字符的个数。
通过采用上述技术方案,通过设定的公式,可以基于第一校验位、字符对应的ASCII码、每个字符对应的位数直接计算得到第一校验位,以便于后续计算第一校验位所对应的第一存放位置。
可选的,确定所述第一校验位所对应的第一存放位置;通过如下公式确定所述第一校验位所对应的所述第一存放位置:
C=S%M;其中,C为所述第一存放位置,S为所述第一校验位,M为所述第一明文的字符总数。
通过采用上述技术方案,通过设定的公式,可以基于第一校验位和第一明文的字符总数进行取模,直接计算得到第一校验位所对应的第一存放位置,便于后续对第一明文生成的第一加密文件进行排序。
可选的,所述根据所述第一密钥步长将所述第一明文转换为第一初始密文包括:通过如下公式将所述第一明文转换为所述第一初始密文:
P=(目标字符对应的ASCII码-32+所述第一密钥步长)%95;其中,P为所述第一初始密文,所述目标字符为所述第一明文中的任意一个字符。
通过采用上述技术方案,基于设定的公式,可以基于目标字符对应的ASCII码和已知的第一密钥步长计算得到第一初始密文,以便于后续对第一初始密文进行处理,得到第一加密文件。
可选的,一种加密方法还包括:获取第二密钥对照文件以及第二加密文件;根据所述预设排序规则确定所述第二加密文件所对应的第二加密序号和第二加密步长;根据所述第二加密序号确定第二密钥序号;确定所述第二密钥对照文件中所述第二密钥序号对应的第二密钥字符串;根据所述第二加密步长确定第二密钥步长;根据所述第二密钥步长和所述第二加密文件中包含的字符数的长度确定第二加密校验位的第二存放位置;根据所述第二存放位置确定第二初始密文的第二分割结果和所述第二加密校验位;根据所述第二密钥字符串分别对所述第二分割结果以及所述第二加密校验位进行解析,以得到所述第二加密校验位所对应的第二校验位以及所述第二分割结果所对应的第二明文;根据所述第二校验位对所述第二明文进行组合,以得到所述第二加密文件所对应的明文文件。
通过采用上述技术方案,通过获取第二加密文件可以根据预设排序规则来确定出第二加密文件中所对应的第二加密序号、第二密钥步长以及第二加密校验位,通过第二加密序号可确定出第二密钥序号,基于第二密钥序号可以得到第二密钥对照文件中对应的第二密钥字符串,再根据第二密钥步长和第二加密文件中包含的字符数的长度可确定出第二加密校验位的第二存放位置,根据第二存放位置可以确定出第二初始密文的第二分割结果,再根据第二密钥字符串分别对第二分割结果以及第二加密校验位进行解析,可以得到第二加密校验位所对应的第二校验位以及第二分割结果所对应的第二明文,实现根据第二校验位对第二明文进行组合,得到第二加密文件所对应的明文文件,进而实现对加密明文的解密。
可选的,所述根据所述第二密钥步长和所述第二加密文件中包含的字符数的长度确定所述第二加密校验位的第二存放位置包括:通过如下公式确定所述第二存放位置:Q=所述第二密钥步长%(所述第二加密文件包含的字符总数-3);其中,Q为所述第二存放位置。
通过采用上述技术方案,通过设定公式,可以基于第二密钥步长与第二加密文件包含的字符总数直接计算出校验位的存放位置,以便于对第二加密文件进行解密。
第二方面,本申请实施例公开一种加密系统,采用如下的技术方案:
一种加密系统,包括:生成模块,用于生成第一明文所对应的第一密钥对照文件;第一确定模块,用于根据所述第一密钥对照文件确定第一密钥序号所对应的第一密钥字符串;第二确定模块,用于确定所述第一明文所对应的第一校验位以及第一密钥步长;转换模块,用于根据所述第一密钥步长将所述第一明文转换为第一初始密文;第三确定模块,用于根据所述第一密钥序号、所述第一密钥字符串、所述第一密钥步长、所述第一校验位以及所述第一初始密文确定所述第一明文所对应的第一加密文件。
通过采用上述技术方案,通过生成模块生成第一明文所对应的第一密钥对照文件,可以通过第一确定模块根据第一密钥对照文件确定第一密钥序号所对应的第一密钥字符串;通过第二确定模块确定第一明文所对应的第一校验位以及第一密钥步长,可以经转换模块根据第一密钥步长将第一明文转换为第一初始密文,再通过第三确定模块基于第一密钥序号、第一密钥字符串、第一密钥步长、第一校验位以及第一初始密文得到第一明文所对应的第一加密文件,进而实现对明文的加密,提高数据传输的安全性。
第三方面,本申请实施例公开一种计算机可读存储介质,采用如下的技术方案:一种计算机可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如上述任意一项所述的加密方法。
综上所述,本申请包括以下至少一种有益技术效果:
1.通过生成第一明文所对应的第一密钥对照文件,可以根据第一密钥对照文件确定第一密钥序号所对应的第一密钥字符串;通过确定第一明文所对应的第一校验位以及第一密钥步长,可以根据第一密钥步长将第一明文转换为第一初始密文,再基于第一密钥序号、第一密钥字符串、第一密钥步长、第一校验位以及第一初始密文得到第一明文所对应的第一加密文件,进而实现对明文的加密,提高数据传输的安全性。
2.通过确定第一校验位所对应的第一存放位置,可以对第一初始密文进行分割,以得到第一分割结果,以便于后续确定加密文件中各符号的位置。
3.通过根据第一密钥字符串对第一密钥序号进行处理,可以得到第一密钥序号所对应的第一加密序号,通过根据第一密钥字符串对第一密钥步长进行处理,可以得到第一密钥步长所对应的第一加密步长,通过根据第一密钥字符串对第一校验位进行处理,可以得到第一校验位所对应的第一加密校验位,以此再依据预设排序规则分别对第一加密序号、第一加密步长、第一分割结果、第一加密校验位进行排序,来生成第一明文所对应的特定序列的加密文件,进而实现对第一明文的多层加密来提高数据传输的安全性。
附图说明
图1为本申请实施例公开的一种加密方法的一流程示意图;
图2为随机生成的ASCII码文本的部分示意图;
图3为图1公开的一种加密方法中步骤S50的具体流程示意图;
图4为图3公开的一种加密方法中步骤S53的具体流程示意图;
图5为ASCII码及字符的部分对照示意表图;
图6为图1公开的一种加密方法中解密步骤的具体流程示意图;
图7为本申请实施例公开的一种加密系统的结构示意图。
具体实施方式
本申请以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本申请中使用的术语“和/或”是指并包含一个或多个所列出项目的任何或所有可能组合。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
相关技术中,一些重要的数据在网络传输时,往往会对数据先进行加密处理再传输。但是,大部分加密方案,存在着广为流传、易于破解或部署不方便的问题,导致传输的数据,仍存在被泄露或被窥探的安全隐患。
因此,为了解决或者部分解决上述相关技术中存在的问题,本申请提供一种加密方法、系统及存储介质,能够提高数据传输的安全性。
以下结合附图详细说明本申请实施例的技术方案。
参见图1,一种加密方法,包括如下步骤:
S10、生成第一明文所对应的第一密钥对照文件;
其中,第一密钥对照文件为对应第一明文随机生成的ASCII码文本,该文本经压缩和转换后形成一定格式的文件,其格式可以.key格式。
参见图2,为随机生成的ASCII码文本的部分示意图,在此说明,第一密钥对照文件为95*95的文本,该文本中所涉及到的字符为ASCII码中从32到126(算上32对应的空格)位中的95个可见字符,在文本中每行中为95个不重复的字符。
S20、根据第一密钥对照文件确定第一密钥序号所对应的第一密钥字符串;
其中,第一密钥序号为序号值,用于对照95*95的文本,作为文本对应的行序号,如图2中所示的序号为0-28,也即共显示有29行字符串,关于第一密钥序号可在0-94的整数数值范围内进行随机取值。
举例而言,当第一密钥序号取3时,则对应图2所示的第4行字符串也即第一密钥字符串为:
“iKC$>aM,BG3LHZ6z2Sk|cs.8^No`/5)@*&\]{In"?J_19:R#QPDT!tWhYu[eFEA}mbld+-qUVj<'f(wp%r7;xv0Xy4Og=”,在此说明,图2中只是显示部分文本,默认每行有95个字符,且不重复。
S30、确定第一明文所对应的第一校验位以及第一密钥步长;
其中,第一校验位可基于第一明文中字符对应的ASCII码和第一明文中包含的字符的个数进行计算所得,且在此说明,基于95*95的文本大小,第一校验位的取值范围在0-94的整数数值范围内。关于第一密钥步长的取值,其基于95*95的文本大小也是在0-94的整数数值范围内进行随机取值。
在另一实施例中,可通过如下公式计算第一校验位:
S=(N1*B1+N2*B2…,Ni*Bj,…,Nn*Bn)/95;
其中,S为第一校验位,Ni为第一明文中第i个字符对应的ASCII码,Bi为第一明文中第i个字符对应的位数,n为第一明文中包含的字符的个数。
举例而言,当第一明文为“abc123”时,将各字符对应的ASCII码代入上述公式可以得到S=(97*1+98*2+99*3+49*4+50*5+51*6)/95≈14,也即计算得到的第一校验位为14。
S40、根据第一密钥步长将第一明文转换为第一初始密文;
其中,经执行步骤S40得到第一初始密文,可以基于预先设定的公式进行计算得到,其公式可如:P=(目标字符对应的ASCII码-32+第一密钥步长)%95,P为第一初始密文,目标字符为第一明文中的任意一个字符。
承接上述举例,将第一明文“abc123”各字符对应的ASCII码以及第一密钥步长如取“20”进行代入,并参见图2中第4行字符串(也即第一密钥字符串),可以得到如下:a=(97-32+20)%95,取模为85,对应第一密钥字符串将其转换为第85个字符“x”;
b=(98-32+20)%95,取模为86,对应第一密钥字符串将其转换为第86个字符“v”;
c=(99-32+20)%95,取模为87,对应第一密钥字符串将其转换为第87个字符“0”;
1=(48-32+20)%95,取模为37,对应第一密钥字符串将其转换为第37个字符“{”;
2=(49-32+20)%95,取模为38,对应第一密钥字符串将其转换为第38个字符“I”;
3=(50-32+20)%95,取模为39,对应第一密钥字符串将其转换为第39个字符“n”;
则,对应得到的第一初始密文P为“xv0{In”。
S50、根据第一密钥序号、第一密钥字符串、第一密钥步长、第一校验位以及第一初始密文确定第一明文所对应的第一加密文件。
其中,通过基于第一密钥序号、第一密钥字符串、第一密钥步长、第一校验位以及第一初始密文确定出第一加密文件,可以实现第一明文的多层加密,可以实现提高数据传输的安全性。
参见图3,在另一实施例中,步骤S50可包括:
S51、确定第一校验位所对应的第一存放位置;
其中,关于第一存放位置的确定可基于第一明文的位数进行确定,以避免第一存放位置超出第一明文的位数。
在另一实施例中,第一校验位所对应的第一存放位置可通过如下公式进行确定:C=S%M;
其中,C为第一存放位置,S为第一校验位,M为第一明文的字符总数,%表示取模,即取除法的余数。
承接上述举例,将第一校验位14代入,则C=14%6=2,也即第一存放位置为2。
S52、根据第一存放位置对第一初始密文进行分割,得到第一分割结果;
其中,第一初始密文基于第一存放位置可以分为两段密文,以便于后续对两段密文进行位置组合。
承接上述举例,第一初始密文为xv0{In,第一存放位置为2,则从第一初始密文的第二位进行分割,得到密文1“xv”和密文2“0{In”。
S53、根据第一分割结果、第一密钥序号、第一密钥字符串、第一密钥步长以及第一校验位确定第一明文所对应的加密文件;
其中,基于第一分割结果、第一密钥序号、第一密钥字符串、第一密钥步长、第一校验位以及第一初始密文来确定出第一加密文件,可进一步对第一明文进行多层加密。
参见图4,在另一实施例中,步骤S53的具体执行步骤可如下:
S531、根据第一密钥字符串对第一密钥序号进行处理,以得到第一密钥序号所对应的第一加密序号;
其中,对第一密钥序号进行处理为将第一密钥序号转换为ASCII码的可见字符,转换方式为第一密钥序号加32,以得到ASCII码中对应的可见字符,例如第一密钥序号为3,则3加上32为35,参见图5,第一加密序号对应的字符为“#”。
S532、根据第一密钥字符串对第一密钥步长进行处理,以得到第一密钥步长所对应的第一加密步长;
其中,对第一密钥步长进行处理为依据第一密钥字符串确定第一密钥步长对应的字符,例如第一密钥字符串为上述的第一密钥序号3对应的字符串,第一密钥步长为20,基于第一密钥对照文件95*95的文本,当设置其列序号为0-94的整数数值范围时,第一密钥步长对应的列序号为20,则得到字符串中的第21位字符“c”,也即第一加密步长为“c”。
S533、根据第一密钥字符串对第一校验位进行处理,以得到第一校验位所对应的第一加密校验位;
其中,对第一校验位进行处理,为依据第一密钥字符串确定第一密钥步长对应的字符,例如第一密钥字符串为上述的第一密钥序号3对应的字符串,第一校验位为14,基于第一密钥对照文件95*95的文本,当设置其列序号为0-94的整数数值范围时,例如第一校验位对应的列序号为14,则得到字符串中的第15位字符“6”,也即第一加密校验位为“6”。
S534、按照预设排序规则对第一加密序号、第一加密步长、第一分割结果、第一加密校验位进行排序,以生成第一明文所对应的加密文件。
其中,预设排序规则可以为将加密文件按照1位第一加密序号+1位第一加密步长+密文1+1位第一加密校验位+密文2的顺序进行排序。
承接上述举例,第一加密序号为“#”,第一加密步长为“c”,第一分割结果中密文1为“xv”和密文2为“0{In”,第一加密校验位为“6”,则对应得到的加密文件=#+c+xv+6+0{In=#cxv60{In。
综上,其上述步骤均涉及到加密的过程,对应的本申请实施例中还对应涉及有解密的过程,参见图6,具体还包括如下步骤:
S60、获取第二密钥对照文件以及第二加密文件;
在此说明,在解密过程中,第二加密文件对应的明文文件所随机生成的第二密钥对照文件是已知的,同样可参见图2。关于第二加密文件可如上述举例所得的“#cxv60{In”。
S70、根据预设排序规则确定第二加密文件所对应的第二加密序号、第二密钥步长;其中,预设排序规则默认为已知,如:1位第二加密序号+1位第二加密步长+密文1+1位第二加密校验位+密文2,可由第二加密文件直接确定第一位字符为第二加密序号,第二字符为第二加密步长,由于不能直接获知密文1和密文2的各自位数,所以密文1、第二加密校验位和密文2三者暂未可知。
承接上述举例,当第二加密文件为“#cxv60{In”时,则可以确定出“#”为第二加密序号,“c”为第二加密步长,其密文1、第二加密校验位和密文2只能获知三者组合为“xv60{In”。
S80、根据第二加密序号确定第二密钥序号;
其中,根据第二加密序号和ASCII码中不可见字符的数量32,可以直接确定得到第二密钥序号。
承接上述举例,当第二加密序号为35时,则第二密钥序号为35-32=3。
S90、确定第二密钥对照文件中第二密钥序号对应的第二密钥字符串;
其中,基于第二密钥对照文件中的行序号,可以得到第二密钥序号对应的行字符串也即第二密钥字符串。
承接上述举例,当第二密钥序号为3时,对应得到的第二密钥字符串如图2中所示的第4行字符串:
“iKC$>aM,BG3LHZ6z2Sk|cs.8^No`/5)@*&\]{In"?J_19:R#QPDT!tWhYu[eFEA}mbld+-qUVj<'f(wp%r7;xv0Xy4Og=”,在此说明,图2中只是显示部分,默认每行有95个字符,且不重复。
S100、根据第二加密步长确定第二密钥步长;
其中,基于步骤S90确定的第二密钥字符串,从第二密钥字符串中可得到第二加密步长位于第二密钥字符串的第几位,其“第几位”也即是第二密钥步长。
承接上述举例,第二加密步长为“c”,位于第二密钥字符串的第20位,则对应的第二密钥步长为“20”。
S110、根据第二密钥步长和第二加密文件中包含的字符数的长度确定第二加密校验位的第二存放位置;
其中,根据第二加密文件中包含的字符数的长度和预设排序规则,可以确定出第二初始密文的长度,由于预设排序规则中涉及有1位第二加密序号+1位第二加密步长和1位第二加密校验位,所以减去3位后剩余的密文1和密文2的组合为第二初始密文,进而可知第二初始密文的长度,再根据第二密钥步长与第二初始密文的长度进行取模运算可以得到第二存放位置。
具体地,第二存放位置的计算公式可如下:
Q=第二密钥步长%(第二加密文件包含的字符总数-3),Q为第二存放位置;
承接上述举例,当第二密钥步长为“20”时,Q=20%(9-3)=2。
S120、根据第二存放位置确定第二初始密文的第二分割结果和第二加密校验位;
其中,根据第二存放位置可确定第二初始密文是从第二位后进行分割,以及基于密文1、第二加密校验位和密文2三者组合的字符可以准确的确定出第二加密校验位和第二分割结果,第二分割结果包括密文1和密文2中各字符的组合结果。
承接上述举例,第二存放位置为2,密文1、第二加密校验位和密文2三者组合的字符为“xv60{In”,则可以确定出密文1为“xv”,第二加密校验位为“6”,密文2为“0{In”,其第二分割结果为两段字符也即“xv”和“0{In”。
S130、根据第二密钥字符串分别对第二加密校验位以及第二分割结果进行解析,以得到第二加密校验位所对应的第二校验位以及第二分割结果所对应的第二明文;
其中,对第二分割结果进行解析,可依据在第二密钥字符串的位置还原ASCII码来得到对应字符,其计算公式可以对应上述步骤S40中P=(目标字符对应的ASCII码-32+第一密钥步长)%95的逆运算。
承接上述举例,对第二分割结果的解析还原过程可如下表所示:
在此说明,基于上述的计算,由第二分割结果可直接得到第二明文的组合字符,但在该步骤S130中还解析得到第二加密校验位,其可用于检验第二明文的计算过程是否准确。
具体地,关于第二加密校验位的解析用于得到第二校验位,其解析方式为基于上述第二分割结果所得到的字符“abc123”进行计算,可如上述加密过程中计算第一校验位的公式:S=(N1*B1+N2*B2…,Ni*Bj,…,Nn*Bn)/95进行代入计算。
承接上述举例,S=(97*1+98*2+99*3+49*4+50*5+51*6)/95≈14,也即第二校验位为“14”,其能对应于第二密钥字符串中序号为14也即第15位的字符“6”,因此可确认解密得到的第二明文为原始明文。
S140、根据第二校验位对第二明文进行组合,以得到第二加密文件所对应的明文文件;其中,通过第二校验位可以准确确定出第二明文的各字符,将其进行组合来得到明文文件,以此可以实现对原始文件的解密。
参见图7,为本申请另一实施例公开的一种加密系统,包括:生成模块21、第一确定模块22、第二确定模块23、转换模块24和第三确定模块25。
其中,生成模块21用于生成第一明文所对应的第一密钥对照文件;第一确定模块22用于根据第一密钥对照文件确定第一密钥序号所对应的第一密钥字符串;第二确定模块23用于确定第一明文所对应的第一校验位以及第一密钥步长;转换模块24用于根据第一密钥步长将第一明文转换为第一初始密文;第三确定模块25用于根据第一密钥序号、第一密钥字符串、第一密钥步长、第一校验位以及第一初始密文确定第一明文所对应的第一加密文件。
需要说明的是,该实施例公开的一种加密系统,所实现的一种加密方法,如上述实施例,故在此不再进行详细讲述。可选地,本实施例中的各个模块和上述其他操作或功能分别为了实现前述实施例中的方法。
本申请另一实施例公开了一种计算机可读存储介质。计算机可读存储介质例如为非易失性存储器,其例如为:磁介质(如硬盘、软盘和磁带),光介质(如CDROM盘和DVD),磁光介质(如光盘)以及专门构造为用于存储和执行计算机可执行指令的硬件装置(如只读存储器(ROM)、随机存取存储器(RAM)、闪存等)。计算机可读存储介质40上存储有计算机可执行指令。计算机可读存储介质可由一个或多个处理器或处理装置来执行计算机可执行指令,以实施前述第一实施例中的图像编辑方法。
此外,可以理解的是,前述各个实施例仅为本申请的示例性说明,在技术特征不冲突、结构不矛盾、不违背本申请的发明目的前提下,各个实施例的技术方案可以任意组合、搭配使用。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多路单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多路网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元/模块可以集成在一个处理单元/模块中,也可以是各个单元/模块单独物理存在,也可以两个或两个以上单元/模块集成在一个单元/模块中。上述集成的单元/模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元/模块的形式实现。
上述以软件功能单元/模块的形式实现的集成的单元/模块,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)的一个或多个处理器执行本申请各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,简称ROM)、随机存取存储器(RandomAccessMemory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (10)

1.一种加密方法,其特征在于,包括:
生成第一明文所对应的第一密钥对照文件;
根据所述第一密钥对照文件确定第一密钥序号所对应的第一密钥字符串;
确定所述第一明文所对应的第一校验位以及第一密钥步长;
根据所述第一密钥步长将所述第一明文转换为第一初始密文;
根据所述第一密钥序号、所述第一密钥字符串、所述第一密钥步长、所述第一校验位以及所述第一初始密文确定所述第一明文所对应的第一加密文件。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一密钥序号、所述第一密钥字符串、所述第一密钥步长、所述第一校验位以及所述第一初始密文确定所述第一明文所对应的加密文件包括:
确定所述第一校验位所对应的第一存放位置;
根据所述第一存放位置对所述第一初始密文进行分割,得到第一分割结果;
根据所述第一分割结果、所述第一密钥序号、所述第一密钥字符串、所述第一密钥步长以及所述第一校验位确定所述第一明文所对应的加密文件。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一分割结果、所述第一密钥序号、所述第一密钥字符串、所述第一密钥步长以及所述第一校验位确定所述第一明文所对应的加密文件包括:
根据所述第一密钥字符串对所述第一密钥序号进行处理,以得到所述第一密钥序号所对应的第一加密序号;
根据所述第一密钥字符串对所述第一密钥步长进行处理,以得到所述第一密钥步长所对应的第一加密步长;
根据所述第一密钥字符串对所述第一校验位进行处理,以得到所述第一校验位所对应的第一加密校验位;
按照预设排序规则对所述第一加密序号、所述第一加密步长、所述第一分割结果、所述第一加密校验位进行排序,以生成所述第一明文所对应的加密文件。
4.根据权利要求2所述的方法,其特征在于,所述确定所述第一明文所对应的第一校验位包括:
通过如下公式计算所述第一校验位:
S=(N1*B1+N2*B2…,Ni*Bj,…,Nn*Bn)/95;
其中,S为所述第一校验位,Ni为所述第一明文中第i个字符对应的ASCII码,Bi为所述第一明文中第i个字符对应的位数,n为所述第一明文中包含的字符的个数。
5.根据权利要求4所述的方法,其特征在于,确定所述第一校验位所对应的第一存放位置;
通过如下公式确定所述第一校验位所对应的所述第一存放位置:
C=S%M;
其中,C为所述第一存放位置,S为所述第一校验位,M为所述第一明文的字符总数。
6.根据权利要求1所述的方法,其特征在于,所述根据所述第一密钥步长将所述第一明文转换为第一初始密文包括:
通过如下公式将所述第一明文转换为所述第一初始密文:
P=(目标字符对应的ASCII码-32+所述第一密钥步长)%95;
其中,P为所述第一初始密文,所述目标字符为所述第一明文中的任意一个字符。
7.根据权利要求3所述的方法,其特征在于,所述方法还包括:
获取第二密钥对照文件以及第二加密文件;
根据所述预设排序规则确定所述第二加密文件所对应的第二加密序号和第二加密步长;
根据所述第二加密序号确定第二密钥序号;
确定所述第二密钥对照文件中所述第二密钥序号对应的第二密钥字符串;
根据所述第二加密步长确定第二密钥步长;
根据所述第二密钥步长和所述第二加密文件中包含的字符数的长度确定第二加密校验位的第二存放位置;
根据所述第二存放位置确定第二初始密文的第二分割结果和所述第二加密校验位;
根据所述第二密钥字符串分别对所述第二分割结果以及所述第二加密校验位进行解析,以得到所述第二加密校验位所对应的第二校验位以及所述第二分割结果所对应的第二明文;
根据所述第二校验位对所述第二明文进行组合,以得到所述第二加密文件所对应的明文文件。
8.根据权利要求7所述的方法,其特征在于,所述根据所述第二密钥步长和所述第二加密文件中包含的字符数的长度确定所述第二加密校验位的第二存放位置包括:
通过如下公式确定所述第二存放位置:
Q=所述第二密钥步长%(所述第二加密文件包含的字符总数-3);
其中,Q为所述第二存放位置。
9.一种加密系统,其特征在于,包括:
生成模块,用于生成第一明文所对应的第一密钥对照文件;
第一确定模块,用于根据所述第一密钥对照文件确定第一密钥序号所对应的第一密钥字符串;
第二确定模块,用于确定所述第一明文所对应的第一校验位以及第一密钥步长;
转换模块,用于根据所述第一密钥步长将所述第一明文转换为第一初始密文;
第三确定模块,用于根据所述第一密钥序号、所述第一密钥字符串、所述第一密钥步长、所述第一校验位以及所述第一初始密文确定所述第一明文所对应的第一加密文件。
10.一种计算机可读存储介质,其特征在于,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1至8中任意一项所述的加密方法。
CN202310842583.1A 2023-07-10 2023-07-10 一种加密方法、系统及存储介质 Pending CN116684088A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310842583.1A CN116684088A (zh) 2023-07-10 2023-07-10 一种加密方法、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310842583.1A CN116684088A (zh) 2023-07-10 2023-07-10 一种加密方法、系统及存储介质

Publications (1)

Publication Number Publication Date
CN116684088A true CN116684088A (zh) 2023-09-01

Family

ID=87789279

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310842583.1A Pending CN116684088A (zh) 2023-07-10 2023-07-10 一种加密方法、系统及存储介质

Country Status (1)

Country Link
CN (1) CN116684088A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118381676A (zh) * 2024-06-24 2024-07-23 深圳龙电华鑫控股集团股份有限公司 集中器及其数据安全处理方法、装置及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118381676A (zh) * 2024-06-24 2024-07-23 深圳龙电华鑫控股集团股份有限公司 集中器及其数据安全处理方法、装置及存储介质

Similar Documents

Publication Publication Date Title
JP2021513141A (ja) 2次元バーコードの生成及び識別
JP5121930B2 (ja) 暗号値のテキスト表示を提供する方法
CN109348230B (zh) 一种密文域高容量图像可逆数据隐藏方法
JP2006086901A (ja) 電子透かし埋め込み装置と方法ならびに電子透かし抽出装置と方法
JP5854443B2 (ja) 誤り訂正符号方式を用いて計算環境における資産集合についての識別子を生成する変化許容力を有する方法
JP6738062B2 (ja) 暗号文照合システム、方法、および記録媒体
CN112434319B (zh) 一种用于电子文件的数据加密方法及装置
US11436946B2 (en) Encryption device, encryption method, decryption device, and decryption method
JP5974463B2 (ja) 電子透かし埋め込み装置、電子透かし埋め込み方法、電子透かし検出装置及び電子透かし検出方法
US10360354B1 (en) Method and apparatus of performing distributed steganography of a data message
CN112469036A (zh) 一种消息加解密方法、装置、移动终端和存储介质
CN116684088A (zh) 一种加密方法、系统及存储介质
JP2012110053A (ja) 圧縮されたecdsa署名
CN113114869B (zh) 基于msb预测的密文域高容量图像可逆数据隐藏方法
US20050154893A1 (en) Method for embedding codes, method and apparatus for restoring identification information
CN117395030A (zh) 数据加密方法、数据解密方法、电子设备及存储介质
US8655932B2 (en) Data converting method and a device therefor
US20220311596A1 (en) A computer-implemented method of performing feistel-network-based block-cipher encryption of plaintext
CN115001689A (zh) 一种可抵抗内部攻击的高嵌入率可逆数据隐藏方法及系统
JP6273226B2 (ja) 暗号化システム、認証システム、暗号化装置、復号装置、認証子生成装置、検証装置、暗号化方法、認証方法
EP3142292A1 (en) Encrypted-data processing method, system, apparatus, and program
JP4124783B2 (ja) 情報埋め込み装置および情報埋め込みプログラム
JP6273224B2 (ja) 暗号化システム、暗号化装置、復号装置、暗号化方法
CN111400670B (zh) 一种水印添加方法、装置、设备及存储介质
CN115935299A (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