CN112165384B - 数据加密方法和解密方法及数据加密装置和解密装置 - Google Patents

数据加密方法和解密方法及数据加密装置和解密装置 Download PDF

Info

Publication number
CN112165384B
CN112165384B CN202011100864.2A CN202011100864A CN112165384B CN 112165384 B CN112165384 B CN 112165384B CN 202011100864 A CN202011100864 A CN 202011100864A CN 112165384 B CN112165384 B CN 112165384B
Authority
CN
China
Prior art keywords
data
encryption
random access
access memory
resistance value
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
CN202011100864.2A
Other languages
English (en)
Other versions
CN112165384A (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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN202011100864.2A priority Critical patent/CN112165384B/zh
Publication of CN112165384A publication Critical patent/CN112165384A/zh
Application granted granted Critical
Publication of CN112165384B publication Critical patent/CN112165384B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Read Only Memory (AREA)

Abstract

一种数据加密方法和解密方法及数据加密装置和解密装置。数据加密方法包括:获取数据;基于数据,对第一阻变存储器单元执行第一加密处理,以对数据进行加密存储。对第一阻变存储器单元执行第一加密处理,以对数据进行加密存储,包括:响应于数据为第一数值,对第一阻变存储器单元执行n1次加密操作,使得第一阻变存储器单元的电阻值处于加密目标阻值范围;响应于数据为第二数值,对第一阻变存储器单元执行m1次加密操作,使得第一阻变存储器单元的电阻值处于加密目标阻值范围。n1和m1是正整数,并且m1>n1。该数据加密和解密方法及数据加密和解密装置不需要额外的密钥保护模块,并且可以实现数据加密和解密与存储的一体化,从而电路开销较小。

Description

数据加密方法和解密方法及数据加密装置和解密装置
技术领域
本公开的实施例涉及一种数据加密方法、数据解密方法、数据加密装置和数据解密装置。
背景技术
物联网的发展为生活带来便利,但由于越来越多的隐私数据被存放在移动电子设备中,也使信息安全面临严峻的挑战。对重要数据进行硬件加密是防止隐私泄露的有效手段,目前使用的硬件加密算法包括三重数据加密算法(TDEA,Triple Data EncryptionAlgorithm)块密码(通称为3DES(或称为Triple DES))、高级加密标准(AES,AdvancedEncryption Standard)128/256、面向小型化设备的PRESENT算法等。使用上述硬件加密算法需要提供用户密钥,并且加密数据的安全性取决于密钥的安全性,密钥保护是硬件安全中最重要的一环。一旦用户密钥泄露或部分泄露,纵使使用的加密算法再复杂,加密数据仍会被轻易破解。因此,许多密码设备都设计有密钥保护电路以及防物理攻击模块,用于抵抗各式侵入式和非侵入式的攻击手段。
发明内容
本公开至少一实施例提供一种数据加密方法,包括:获取数据;基于所述数据,对第一阻变存储器单元执行第一加密处理,以对所述数据进行加密存储,其中,基于所述数据,对所述第一阻变存储器单元执行所述第一加密处理,包括:响应于所述数据为第一数值,对所述第一阻变存储器单元执行n1次加密操作,使得所述第一阻变存储器单元的电阻值处于加密目标阻值范围;响应于所述数据为第二数值,对所述第一阻变存储器单元执行m1次所述加密操作,使得所述第一阻变存储器单元的电阻值处于所述加密目标阻值范围;n1和m1是正整数,并且m1>n1。
例如,本公开至少一实施例提供的数据加密方法还包括:在对所述第一阻变存储器单元执行所述第一加密处理之前,对所述第一阻变存储器单元执行初始化操作。
例如,在本公开至少一实施例提供的数据加密方法中,所述初始化操作包括多次复位操作,每次所述加密操作为置位操作;或者,所述初始化操作包括多次置位操作,每次所述加密操作为复位操作。
例如,在本公开至少一实施例提供的数据加密方法中,所述第一数值为0,所述第二数值为1。
例如,本公开至少一实施例提供的数据加密方法还包括:基于所述数据,对第二阻变存储器单元执行第二加密处理,以对所述数据进行加密存储,基于所述数据,对所述第二阻变存储器单元执行所述第二加密处理,包括:响应于所述数据为第一数值,对所述第二阻变存储器单元执行m2次所述加密操作,使得所述第二阻变存储器单元的电阻值处于所述加密目标阻值范围;响应于所述数据为第二数值,对所述第二阻变存储器单元执行n2次所述加密操作,使得所述第二阻变存储器单元的电阻值处于所述加密目标阻值范围;n2和m2是正整数,并且m2>n2,m2>n1,m1>n2。
例如,在本公开至少一实施例提供的数据加密方法中,基于所述数据,对所述第一阻变存储器单元执行所述第一加密处理,还包括:响应于所述数据为第三数值,对所述第一阻变存储器单元执行y次所述加密操作,使得所述第一阻变存储器单元的电阻值处于所述加密目标阻值范围;y是正整数,并且y与m1、n1不同。
本公开至少一实施例提供一种数据解密方法,包括:选择第一阻变存储器单元,所述第一阻变存储器单元存储有被加密的数据,在所述数据为第一数值的情况下,所述第一阻变存储器单元已被执行过n1次加密操作而使得所述第一阻变存储器单元的电阻值处于加密目标阻值范围,在所述数据为第二数值的情况下,所述第一阻变存储器单元已被执行过m1次所述加密操作而使得所述第一阻变存储器单元的电阻值处于所述加密目标阻值范围,n1和m1是正整数,并且m1>n1;对所述第一阻变存储器单元执行解密处理,以使得所述第一阻变存储器单元的电阻值为第一解密电阻值;基于所述第一解密电阻值,确定并输出所述数据。
例如,在本公开至少一实施例提供的数据解密方法中,对所述第一阻变存储器单元执行所述解密处理,包括:对所述第一阻变存储器单元执行p次解密操作,p是正整数。
例如,在本公开至少一实施例提供的数据解密方法中,p为1。
例如,在本公开至少一实施例提供的数据解密方法中,每次所述加密操作为置位操作,每次所述解密操作为复位操作。
例如,在本公开至少一实施例提供的数据解密方法中,基于所述第一解密电阻值,确定并输出所述数据,包括:将所述第一解密电阻值与参考阈值进行比较,以得到比较结果;基于所述比较结果,确定并输出所述数据。
例如,在本公开至少一实施例提供的数据解密方法中,将所述第一解密电阻值与所述参考阈值进行比较,以得到所述比较结果,包括:如果所述第一解密电阻值大于所述参考阈值,确定所述比较结果为第一比较结果,如果所述第一解密电阻值小于或等于所述参考阈值,确定所述比较结果为第二比较结果;基于所述比较结果,确定并输出所述数据,包括:响应于所述比较结果为所述第一比较结果,确定所述数据为所述第一数值;响应于所述比较结果为所述第二比较结果,确定所述数据为所述第二数值。
例如,本公开至少一实施例提供的数据解密方法还包括:选择第二阻变存储器单元,所述第二阻变存储器单元存储有被加密的所述数据,在所述数据为第一数值的情况下,所述第二阻变存储器单元已被执行过m2次所述加密操作而使得所述第二阻变存储器单元的电阻值处于所述加密目标阻值范围,在所述数据为第二数值的情况下,所述第二阻变存储器单元已被执行过n2次所述加密操作而使得所述第二阻变存储器单元的电阻值处于所述加密目标阻值范围,n2和m2是正整数,并且m2>n2,m2>n1,m1>n2;对所述第二阻变存储器单元执行所述解密处理,以使得所述第二阻变存储器单元的电阻值为第二解密电阻值。
例如,在本公开至少一实施例提供的数据解密方法中,基于所述第一解密电阻值,确定并输出所述数据,包括:将所述第一解密电阻值与所述第二解密电阻值进行比较,以得到比较结果;基于所述比较结果,确定并输出所述数据。
例如,在本公开至少一实施例提供的数据解密方法中,将所述第一解密电阻值与所述第二解密电阻值进行比较,以得到所述比较结果,包括:如果所述第一解密电阻值大于所述第二解密电阻值,确定所述比较结果为第一比较结果,如果所述第一解密电阻值小于或等于所述第二解密电阻值,确定所述比较结果为第二比较结果;基于所述比较结果,确定并输出所述数据,包括:响应于所述比较结果为所述第一比较结果,确定所述数据为所述第一数值,响应于所述比较结果为所述第二比较结果,确定所述数据为所述第二数值。
例如,在本公开至少一实施例提供的数据解密方法中,每次所述加密操作为复位操作,每次所述解密操作为置位操作。
本公开至少一实施例还提供一种数据加密装置,包括:阻变存储器阵列、输入电路和加密电路,所述阻变存储器阵列包括多个阻变存储器单元,所述多个阻变存储器单元包括第一阻变存储器单元;所述输入电路被配置为获取数据;所述加密电路被配置为基于所述数据,对所述第一阻变存储器单元执行第一加密处理,以对所述数据进行加密存储,执行基于所述数据,对所述第一阻变存储器单元执行第一加密处理的操作时,所述加密电路被配置为:响应于所述数据为第一数值,对所述第一阻变存储器单元执行n1次加密操作,使得所述第一阻变存储器单元的电阻值处于加密目标阻值范围;响应于所述数据为第二数值,对所述第一阻变存储器单元执行m1次所述加密操作,使得所述第一阻变存储器单元的电阻值处于所述加密目标阻值范围;n1和m1是正整数,并且m1>n1。
例如,在本公开至少一实施例提供的数据加密装置中,所述加密电路包括第一加密子电路和第二加密子电路,所述第一加密子电路被配置为响应于所述数据为第一数值,对所述第一阻变存储器单元执行所述n1次加密操作,使得所述第一阻变存储器单元的电阻值处于所述加密目标阻值范围;所述第二加密子电路被配置为响应于所述数据为第二数值,对所述第一阻变存储器单元执行所述m1次加密操作,使得所述第一阻变存储器单元的电阻值处于所述加密目标阻值范围。
例如,在本公开至少一实施例提供的数据加密装置中,所述多个阻变存储器单元还包括第二阻变存储器单元,所述第一加密子电路还被配置为响应于所述数据为第一数值,对所述第二阻变存储器单元执行m2次所述加密操作,使得所述第二阻变存储器单元的电阻值处于所述加密目标阻值范围;所述第二加密子电路还被配置为响应于所述数据为第二数值,对所述第二阻变存储器单元执行n2次所述加密操作,使得所述第二阻变存储器单元的电阻值处于所述加密目标阻值范围;n2和m2是正整数,并且m2>n2,m2>n1,m1>n2。
例如,本公开至少一实施例提供的数据加密装置还包括:初始化电路,所述初始化电路被配置为对所述第一阻变存储器单元执行初始化操作。
本公开至少一实施例还提供一种数据解密装置,包括:阻变存储器阵列、解密电路和输出电路,所述阻变存储器阵列包括多个阻变存储器单元,所述多个阻变存储器单元包括第一阻变存储器单元,所述第一阻变存储器单元存储有被加密的数据,在所述数据为第一数值的情况下,所述第一阻变存储器单元已被执行过n1次加密操作而使得所述第一阻变存储器单元的电阻值处于加密目标阻值范围,在所述数据为第二数值的情况下,所述第一阻变存储器单元已被执行过m1次所述加密操作而使得所述第一阻变存储器单元的电阻值处于所述加密目标阻值范围,n1和m1是正整数,并且m1>n1;所述解密电路被配置为对所述第一阻变存储器单元执行解密处理,以使得所述第一阻变存储器单元的电阻值为第一解密电阻值;所述输出电路被配置为基于所述第一解密电阻值,确定并输出所述数据。
例如,在本公开至少一实施例提供的数据解密装置中,所述输出电路包括比较子电路和输出子电路,所述比较子电路被配置为将所述第一解密电阻值与参考阈值进行比较,以得到比较结果;所述输出子电路被配置为基于所述比较结果,确定并输出所述数据。
例如,在本公开至少一实施例提供的数据解密装置中,所述多个阻变存储器单元还包括第二阻变存储器单元,所述第二阻变存储器单元存储有被加密的所述数据,在所述数据为第一数值的情况下,所述第二阻变存储器单元已被执行过m2次所述加密操作而使得所述第二阻变存储器单元的电阻值处于所述加密目标阻值范围,在所述数据为第二数值的情况下,所述第二阻变存储器单元已被执行过n2次所述加密操作而使得所述第二阻变存储器单元的电阻值处于所述加密目标阻值范围,n2和m2是正整数,并且m2>n2,m2>n1,m1>n2;所述解密电路还被配置为对所述第二阻变存储器单元执行所述解密处理,以使得所述第二阻变存储器单元的电阻值为第二解密电阻值。
例如,在本公开至少一实施例提供的数据解密装置中,所述输出电路包括比较子电路和输出子电路,所述比较子电路被配置为将所述第一解密电阻值与所述第二解密电阻值进行比较,以得到比较结果;所述输出子电路被配置为基于所述比较结果,确定并输出所述数据。
例如,在本公开至少一实施例提供的数据解密装置中,所述阻变存储器阵列包括第一子阻变存储器阵列和第二子阻变存储器阵列,所述多个阻变存储器单元被划分为第一组阻变存储器单元和第二组阻变存储器单元,所述第一组阻变存储器单元中的阻变存储器单元构成所述第一子阻变存储器阵列,所述第二组阻变存储器单元中的阻变存储器单元构成所述第二子阻变存储器阵列,所述第一组阻变存储器单元中的阻变存储器单元的数量和所述第二组阻变存储器单元中的阻变存储器单元的数量相同,所述第一组阻变存储器单元中的阻变存储器单元排列为N行M列,所述第二组阻变存储器单元中的阻变存储器单元排列为N行M列,所述第一阻变存储器单元位于所述第一子阻变存储器阵列中的第i行j列,所述第二阻变存储器单元位于所述第二子阻变存储器阵列中的第i行j列,其中,N和M是正整数,1≤i≤N,1≤j≤M。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1A图示了阻变存储器单元的一个示例的示意图;
图1B图示了对阻变存储器单元执行置位操作的示意图;
图1C图示了对阻变存储器单元执行复位操作的示意图;
图2A图示了阻变存储器单元被执行过多次置位操作后的电阻值分布的示意图;
图2B图示了阻变存储器单元被执行过多次置位操作又被执行复位操作后的电阻值分布的示意图;
图3为本公开至少一实施例提供的一种数据加密方法的流程图;
图4为本公开至少一实施例提供的数据加密存储的一个示例的示意图;
图5为本公开至少一实施例提供的一种数据解密方法的流程图;
图6为本公开至少一实施例提供的数据解密的一个示例的示意图;
图7为本公开至少一实施例提供的数据解密的一个示例的流程图;
图8为本公开至少一实施例提供的一种数据加密装置的示意框图;
图9为本公开至少一实施例提供的一种数据解密装置的示意框图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
一方面,现有的加密技术离不开密钥,密钥安全是硬件安全的头等大事。但是现有的密钥保护手段代价昂贵,许多轻型化设备的电路开销和制作成本有限,这些轻型化设备在物联网中占据很大比例,而现有的安全技术难以覆盖,这将导致物联网中大量数据的安全得不到有效保障。另一方面,除了密钥保护电路外,单纯硬件加密电路的开销也很庞大,纵使有诸如PRESENT这样的轻量级安全算法,也难以解决加密电路开销大和电子设备小型化趋势之间的矛盾。
本公开至少一实施例提供一种数据加密方法,包括:获取数据;基于数据,对第一阻变存储器单元执行第一加密处理,以对数据进行加密存储。基于数据,对第一阻变存储器单元执行第一加密处理,包括:响应于数据为第一数值,对第一阻变存储器单元执行n1次加密操作,使得第一阻变存储器单元的电阻值处于加密目标阻值范围;响应于数据为第二数值,对第一阻变存储器单元执行m1次加密操作,使得第一阻变存储器单元的电阻值处于目标阻值范围。n1和m1是正整数,并且m1>n1。
本公开至少一实施例还提供一种数据解密方法,包括:选择第一阻变存储器单元,第一阻变存储器单元存储有被加密的数据,其中,在数据为第一数值的情况下,第一阻变存储器单元已被执行过n1次加密操作而使得第一阻变存储器单元的电阻值处于加密目标阻值范围,在数据为第二数值的情况下,第一阻变存储器单元已被执行过m1次加密操作而使得第一阻变存储器单元的电阻值处于加密目标阻值范围,n1和m1是正整数,并且m1>n1;对第一阻变存储器单元执行解密处理,以使得第一阻变存储器单元的电阻值为第一解密电阻值;基于第一解密电阻值,确定并输出数据。
本公开至少一实施例还提供对应于上述数据加密方法的数据加密装置以及对应于上述数据解密方法的数据解密装置。
在本公开实施例提供的上述数据加密方法、数据解密方法、数据加密装置和数据解密装置中,利用阻变存储器(Resistive Random-access Memory,RRAM)单元的记忆特性实现数据加密和解密,加密电路和解密电路简单,一方面将数据加密和解密与数据存储融为一体,即使用阻变存储器单元就可以完成对数据的加密和存储两步操作,从而电路开销较小;另一方面对数据加密无需使用密钥,也无需引入密钥保护模块,同时也避免了由于密钥保护不当所带来的数据泄露的风险。
下面结合图1A-1C对阻变存储器单元的结构以及置位操作和复位操作进行说明。
例如,图1A图示了阻变存储器单元的一个示例的示意图,图1B图示了对阻变存储器单元执行置位操作的示意图,图1C图示了对阻变存储器单元执行复位操作的示意图。
例如,阻变存储器单元可以采用1T1R结构,即如图1A所示,阻变存储器单元包括一个晶体管M1和一个阻变元件R1,晶体管M1的栅极和字线端WL连接,晶体管M1的漏极被配置为和阻变元件R1的第二极(例如负极)连接,阻变元件R1的第一极(例如正极)和位线端BL连接,晶体管M1的源极被配置为和源线端SL连接。
若晶体管M1为N型晶体管,如图1B所示,对于置位(SET)操作,对阻变存储器单元的字线端WL施加的电压VWL为高电平的控制电压,对阻变存储器单元的位线端BL施加的电压VBL为置位脉冲,对阻变存储器单元的源线端SL施加的电压VSL为低电平的电压(例如,接地),置位操作使得阻变存储器单元的电阻值下降;如图1C所示,对于复位(RESET)操作,对阻变存储器单元的字线端WL施加的电压VWL为高电平的控制电压,对阻变存储器单元的源线端SL施加的电压VSL为复位脉冲,对阻变存储器单元的位线端BL施加的电压VBL为低电平的电压(例如,接地),复位操作使得阻变存储器单元的电阻值上升。
例如,晶体管M1可以为薄膜晶体管或场效应晶体管(例如MOS场效应晶体管)或其他特性相同的开关器件,并且所采用的晶体管的源极、漏极在结构上可以是对称的,即晶体管的源极、漏极在结构上可以是没有区别的。
需要说明的是,在本公开的实施例中,阻变元件R1的第一极和第二极旨在区分阻变元件R1的两极,而不是对本公开的限制。例如,也可以设定阻变元件R1的第一极为负极,阻变元件R1的第二极为正极。
还需要说明的是,在本公开的实施例中,所采用的晶体管M1的类型可以根据具体情况而定,本公开的实施例对此不作限制。例如,所采用的晶体管的源极、漏极在结构上也可以是非对称的。例如,晶体管M1也可以为P型晶体管。但是,为了表述清楚、简洁,下面各实施例均以晶体管M1采用N型晶体管为例进行说明。
下面结合图2A和2B对阻变存储器单元的记忆特性进行说明。
例如,图2A图示了阻变存储器单元被执行过多次置位操作后的电阻值分布的示意图,其中,横坐标为电阻值(千欧,kohm),纵坐标为累计概率。在图2A所示的示例中,与三角形相对应的曲线指示阻变存储器单元被执行过5次置位操作后的电阻值分布,与圆形相对应的曲线指示阻变存储器单元被执行过10次置位操作后的电阻值分布,与方形相对应的曲线指示阻变存储器单元被执行过20次置位操作后的电阻值分布,其中,执行置位操作的电压为:VWL=1.6V,VBL=1.5V,VSL=0.0V,VWL的脉冲宽度和VBL的脉冲宽度均为50ns。如图2A所示,在阻变储存器单元分别被执行过5次、10次和20次置位操作后,阻变存储器单元的电阻值分布基本一致,均在20-50千欧(kohm,或者kΩ)的电阻值范围内。
例如,图2B图示了阻变存储器单元被执行过多次置位操作又被执行复位操作后的电阻值分布的示意图,其中,横坐标为电阻值,纵坐标为累计概率。在图2B所示的示例中,与三角形相对应的曲线指示阻变存储器单元被执行过5次置位操作又被执行1次复位操作后的电阻值分布,与圆形相对应的曲线指示阻变存储器单元被执行过10次置位操作又被执行1次复位操作后的电阻值分布,与方形相对应的曲线指示阻变存储器单元被执行过20次置位操作又被执行1次复位操作后的电阻值分布,其中,执行置位操作的电压为:VWL=1.6V,VBL=1.5V,VSL=0.0V,VWL的脉冲宽度和VBL的脉冲宽度均为50ns;执行复位操作的电压为:VWL=5.0V,VBL=0.0V,VSL=1.7V,VWL的脉冲宽度和VSL的脉冲宽度均为50ns。
如图2B所示,阻变存储器单元被执行过5次置位操作又被执行1次复位操作后的电阻值(即与三角形相对应的曲线)分布在100kΩ-1000kΩ范围内,阻变存储器单元被执行过10次置位操作又被执行1次复位操作后的电阻值(即与圆形相对应的曲线)分布在50kΩ-500kΩ范围内,阻变存储器单元被执行过20次置位操作又被执行1次复位操作后的电阻值(即与方形相对应的曲线)分布在20kΩ-50kΩ范围内。可见,在阻变储存器单元分别被执行过5次、10次和20次置位操作又被执行1次复位操作后,阻变存储器单元的电阻值分布完全不同。
结合图2A和图2B可知,在对阻变存储器单元执行不同次数的连续置位操作后,阻变存储器单元的电阻值分布近乎一致,无法基于阻变存储器单元的电阻值获知阻变存储器单元经历过多少次连续置位操作,然而,在施加一次复位操作后,得到的阻变存储器单元的电阻值分布情况截然不同。
结合图2A和图2B可知,阻变存储器单元被执行复位操作之后的电阻值分布不仅与所执行的复位操作有关,还与该阻变存储器单元被执行复位操作之前所执行的置位操作的次数有关。例如,阻变存储器单元经历的连续置位操作的次数越多,则在对阻变存储器单元执行复位操作后,该阻变存储器单元的电阻值分布越靠近低阻态。
需要说明的是,上述图2A和2B仅是示例性的。类似地,当对阻变存储器单元先执行复位操作再执行置位操作时,阻变存储器单元被执行置位操作之后的电阻值分布不仅与所执行的置位操作有关,还与该阻变存储器单元被执行置位操作之前所执行的复位操作的次数有关,在此不再赘述。
还需要说明的是,在本公开的实施例中,将阻变存储器单元的当前阻变特性会受到之前操作的影响的特性称为阻变存储器单元的记忆特性。
下面结合附图对本公开的实施例及其示例进行详细说明。
例如,图3为本公开至少一实施例提供的一种数据加密方法的流程图。如图3所示,该数据加密方法包括步骤S110和S120。
步骤S110:获取数据;
步骤S120:基于数据,对第一阻变存储器单元执行第一加密处理,以对数据进行加密存储,其中,基于数据,对第一阻变存储器单元执行第一加密处理,包括:响应于数据为第一数值,对第一阻变存储器单元执行n1次加密操作,使得第一阻变存储器单元的电阻值处于加密目标阻值范围;响应于数据为第二数值,对第一阻变存储器单元执行m1次加密操作,使得第一阻变存储器单元的电阻值处于加密目标阻值范围。
例如,在步骤S120中,n1和m1是正整数,并且m1>n1。
在本公开的实施例中,响应于所获取的数据,对阻变存储器单元执行不同次数的加密操作,使得阻变存储器单元的电阻值处于加密目标阻值范围(例如,在一些示例中,加密目标阻值范围为20-50kΩ,如图2A所示)内,其中,在阻变存储器单元的电阻值处于该加密目标阻值范围内时,无法通过阻变储存器单元的电阻值来区分阻变存储器单元被执行过的加密操作的次数,从而可以实现数据的加密存储。此外,由于阻变存储器单元存在记忆特性,可以通过执行特定的解密处理将以本公开实施例提供的数据加密方法加密的数据进行解密。
对于步骤S110,获取要加密存储的数据,数据的形式可以根据具体情况而定,本公开的实施例对此不作限制。
例如,数据可以为单个的数据。又例如,数据也可以为数据序列中的任一个数据。
例如,数据可以为二进制数据。例如,数据为0或1。又例如,数据也可以为其他进制的数据。例如,数据为三进制数据0、1或2。需要说明的是,为了表述清楚、简洁,在本公开的实施例中,若无明确说明,数据为二进制数据。
对于步骤S120,响应于所获取的数据为第一数值或第二数值,对阻变存储器单元执行不同次数的加密操作。
例如,在一些实施例中,第一数值为0,第二数值为1。需要说明的是,在本公开的实施例中,第一数值和第二数值旨在区分两个数值,而不是对两个数值的限制。例如,第一数值和第二数值可以根据实际情况具体设置。但是,为了表述清楚、简洁,下面各实施例均以第一数值为0且第二数值为1为例进行说明。
例如,每次加密操作可以为置位操作,例如,执行置位操作的电压为:VWL=1.6V,VBL=1.5V,VSL=0.0V,VWL的脉冲宽度和VBL的脉冲宽度均为50ns。
又例如,每次加密操作也可以为复位操作,执行复位操作的电压为:VWL=5.0V,VBL=0.0V,VSL=1.7V,VWL的脉冲宽度和VSL的脉冲宽度均为50ns。
例如,n1=5,m1=20。需要说明的是,在本公开的实施例中,n1和m1的值可以根据具体情况而定,本公开的实施例对此不作限制。
还需要说明的是,在本公开的实施例中,若数据为其它进制形式,步骤S120需要根据具体情况作出适应性的调整。
例如,若数据为三进制数据,基于数据,对第一阻变存储器单元执行第一加密处理,还包括:响应于数据为第三数值,对第一阻变存储器单元执行y次加密操作,使得第一阻变存储器单元的电阻值处于加密目标阻值范围。例如,y是正整数,并且y与m1、n1不同。
例如,当数据为三进制数据时,第一数值为0,第二数值为1,第三数值为2。本公开不限于此,第一数值也可以为1,第二数值也可以为2,第三数值也可以为3。
在本公开的实施例中,数据加密方法无需使用密钥,从而避免了密钥泄露带来的风险,并且数据加密方法将数据的加密和存储融为一体,即仅使用阻变存储器单元就可以完成对数据的加密和存储两个步骤,从而电路开销小。
例如,本公开至少一实施例提供的数据加密方法还包括步骤S130。
步骤S130:在对第一阻变存储器单元执行第一加密处理之前,对第一阻变存储器单元执行初始化操作。
例如,初始化操作的类型与加密处理期间加密操作的类型有关。例如,初始化操作包括多次复位操作,每次加密操作为置位操作;或者,初始化操作包括多次置位操作,每次加密操作为复位操作。
例如,对于加密操作为置位操作的情况,初始化操作定义为用多次复位操作将阻变存储器单元的电阻值设置到高阻状态,例如,在一个实施例中,高阻状态可以表示电阻值高于500kΩ的状态。
例如,对于加密操作为复位操作的情况,初始化操作定义为用多次置位操作将阻变存储器单元的电阻值设置到低阻状态,例如,在一个实施例中,低阻状态可以表示电阻值低于50kΩ的状态。
在本公开的实施例中,初始化操作可以消除加密处理之前的置位/复位操作对当前加密处理的影响,从而提高加密处理和对应的解密处理的准确性。
例如,本公开至少一实施例提供的数据加密方法还包括步骤S140。
步骤S140:基于数据,对第二阻变存储器单元执行第二加密处理,以对数据进行加密存储,其中,基于数据,对第二阻变存储器单元执行第二加密处理,包括:响应于数据为第一数值,对第二阻变存储器单元执行m2次加密操作,使得第二阻变存储器单元的电阻值处于加密目标阻值范围;响应于数据为第二数值,对第二阻变存储器单元执行n2次加密操作,使得第二阻变存储器单元的电阻值处于加密目标阻值范围。
例如,n2和m2是正整数,并且m2>n2,m2>n1,m1>n2。
例如,在一些实施例中,n1=n2,m1=m2。例如,n1=n2=5,m1=m2=20。
需要说明的是,n1也可以不等于n2,m1也可以不等于m2,n1、m1、n2和m2的数值可以根据具体情况而定,本公开的实施例对此不作限制。例如,可以设定n1=5,m1=20,n2=4,m2=19。
在本公开的实施例中,可以使用多个阻变存储器单元来共同加密存储一个数据,以适应更多类型的数据解密方法。
例如,图4为使用多个阻变存储器单元来共同加密存储一个数据的一个示例的示意图。如图4所示,将第一子阻变存储器阵列和第二子阻变存储器阵列中相同位置的阻变存储器单元用于加密存储一个数据。
在图4中,将16位的二进制序列0010 1100 0111 0101排列为4行4列,并使用4行4列的第一子阻变存储器阵列和4行4列的第二子阻变存储器阵列来加密存储上述二进制序列。例如,所获取的数据为二进制序列的第一位(即,数据为0),执行以下步骤以进行数据加密存储:响应于所获取的数据为0,选中第一子阻变存储器阵列的第一行第一列的阻变存储器单元(例如,示出为a1,1)作为第一阻变存储器单元,对第一阻变存储器单元执行5次置位操作;选中第二子阻变存储器阵列的第一行第一列的阻变存储器单元(例如,示出为b1,1)作为第二阻变存储器单元,对第二阻变存储器单元执行20次置位操作。例如,所获取的数据为二进制序列的第三位(即,数据为1),执行以下步骤以进行加密存储:响应于所获取的数据为1,选中第一子阻变存储器阵列的第一行第三列的阻变存储器单元(例如,示出为a1,3)作为第一阻变存储器单元,对第一阻变存储器单元执行20次置位操作;选中第二子阻变存储器阵列的第一行第三列的阻变存储器单元(例如,示出为b1,3)作为第二阻变存储器单元,对第二阻变存储器单元执行5次置位操作。二进制序列的其它位的加密存储过程与第一位和第三位的加密存储过程类似,在此不再赘述。
需要说明的是,在图4中,若第一子阻变存储器阵列和第二子阻变存储器阵列中的阻变存储器单元的电阻值大于100kΩ,则该阻变存储器单元示出为白色;否则,该阻变存储器单元示出为黑色。为了清楚起见,假定进行加密存储之前,对第一子阻变存储器阵列和第二子阻变存储器阵列中的阻变存储器单元均执行初始化操作,初始化操作为复位操作并使得阻变存储器单元的电阻值均达到500kΩ以上,即阻变存储器单元示出均为白色。如图4所示,在将数据加密存储到第一子阻变存储器阵列和第二子阻变存储器阵列之后,第一子阻变存储器阵列和第二子阻变存储器阵列中的阻变存储器单元均示出为黑色,此时无法直接通过阻变存储器单元的电阻值来区分所加密存储的数据,即根据本公开实施例的方法实现了数据的加密存储。
例如,图5为本公开至少一实施例提供的一种数据解密方法的流程图。如图5所示,该数据解密方法包括步骤S210、S220和S230。
S210:选择第一阻变存储器单元,其中,第一阻变存储器单元存储有被加密的数据,在数据为第一数值的情况下,第一阻变存储器单元已被执行过n1次加密操作而使得第一阻变存储器单元的电阻值处于加密目标阻值范围,在数据为第二数值的情况下,第一阻变存储器单元已被执行过m1次加密操作而使得第一阻变存储器单元的电阻值处于加密目标阻值范围;
S220:对第一阻变存储器单元执行解密处理,以使得第一阻变存储器单元的电阻值为第一解密电阻值;
S230:基于第一解密电阻值,确定并输出数据。
例如,在步骤S210中,n1和m1是正整数,并且m1>n1。
在本公开的实施例中,利用阻变存储器单元的记忆特性,通过对存储有被加密的数据的阻变存储器单元执行解密处理,可以使得被执行过不同次数的加密操作的阻变存储器单元的电阻值分布完全不同(例如,如图2B所示),从而可以通过区分阻变存储单元被执行解密处理后的电阻值来解密数据。
对于步骤S210,存储有被加密的数据的阻变存储器单元,响应于所加密存储的数据,被执行过不同次数的加密操作。
例如,在一些实施例中,第一数值为0,第二数值为1。需要说明的是,在本公开的实施例中,第一数值和第二数值旨在区分两个数值,而不是对两个数值的限制。例如,第一数值和第二数值可以根据实际情况具体设置。但是,为了表述清楚、简洁,下面各实施例均以第一数值为0且第二数值为1为例进行说明。
例如,n1=5,m1=20。需要说明的是,在本公开的实施例中,n1和m1的值可以根据具体情况而定,本公开的实施例对此不作限制。
例如,每次加密操作可以为置位操作。又例如,每次加密操作也可以为复位操作。例如,执行置位操作的电压为:VWL=1.6V,VBL=1.5V,VSL=0.0V,VWL的脉冲宽度和VBL的脉冲宽度均为50ns;执行复位操作的电压为:VWL=5.0V,VBL=0.0V,VSL=1.7V,VWL的脉冲宽度和VSL的脉冲宽度均为50ns。
例如,第一阻变存储器单元所存储的被加密的数据是使用图3所示的数据加密方法进行加密存储的。
需要说明的是,为了表述清楚、简洁,在本公开的实施例中,数据为二进制数据,其仅是示例性的,而不是对本公开的限制。例如,数据也可以为其他进制的数据。
例如,若数据为三进制数据,在步骤S210中,在数据为第三数值的情况下,第一阻变存储器单元已被执行过y次加密操作而使得第一阻变存储器单元的电阻值处于加密目标阻值范围。例如,y是正整数,并且y与m1、n1不同。
对于步骤S220,无论阻变存储器单元被执行过的加密操作的次数,对阻变存储器单元执行相同次数的解密操作,以使得被执行过不同次数的加密操作的阻变存储器单元处于不同的解密电阻值。
例如,在步骤S220中,对第一阻变存储器单元执行解密处理,包括:对第一阻变存储器单元执行p次解密操作,其中,p是正整数。
例如,在一些实施例中,p为1。需要说明的是,在本公开的实施例中,p可以根据具体情况而定,例如,p还可以为2等,本公开的实施例对此不作限制。
例如,解密操作的类型与加密处理期间加密操作的类型有关。例如,每次加密操作为置位操作,则每次解密操作为复位操作;或者,每次加密操作为复位操作,则每次解密操作为置位操作。需要说明的是,为了表述清楚、简洁,下面各实施例均以每次加密操作为置位操作且每次解密操作为复位操作为例进行说明。
对于步骤S230,根据第一阻变存储单元被执行解密处理后的第一解密电阻值,解密得到被加密的数据。
在本公开的实施例中,当被加密的数据具有不同数值时,在执行解密处理后,第一阻变存储单元的第一解密电阻值处于不同的电阻值范围。
例如,在本公开的一些实施例中,步骤S230包括步骤S231和S232。
步骤S231:将第一解密电阻值与参考阈值进行比较,以得到比较结果。
步骤S232:基于比较结果,确定并输出数据。
例如,步骤S231包括:如果第一解密电阻值大于参考阈值,确定比较结果为第一比较结果;如果第一解密电阻值小于或等于参考阈值,确定比较结果为第二比较结果。
例如,步骤S232包括:响应于比较结果为第一比较结果,确定数据为第一数值;响应于比较结果为第二比较结果,确定数据为第二数值。
例如,如图2B所示,可以设定:n1=5,m1=20,参考阈值=100kΩ,如果第一解密电阻值大于参考阈值,确定比较结果为第一比较结果,该第一比较结果指示在执行解密处理之后,第一阻变存储器单元的第一解密电阻值大于100kΩ,第一阻变存储器单元已被执行过5次加密操作;如果第一解密电阻值小于或等于参考阈值,确定比较结果为第二比较结果,该第二比较结果指示在执行解密处理之后,第一阻变存储器单元的第一解密电阻值小于100kΩ,第一阻变存储器单元已被执行过20次加密操作,响应于所确定的比较结果,可以确定并输出解密的数据。
需要说明的是,在本公开的实施例中,参考阈值可以根据具体情况而定,本公开的实施例对此不作限制。
在本公开的实施例中,数据解密方法无需使用密钥,从而避免了密钥泄露带来的风险。
例如,在本公开的一些实施例中,若数据为三进制数据,步骤S230包括:将第一解密电阻值与第一参考阈值和第二参考阈值进行比较,以得到比较结果;基于比较结果,确定并输出数据。例如,第一参考阈值大于第二参考阈值,则存在三种比较结果,第一解密电阻值大于第一参考阈值,第一解密电阻值小于等于第一参考阈值但大于第二参考阈值,第一解密电阻值小于等于第二参考阈值,可以根据三种比较结果来对应确定并输出解密的数据。例如,当比较结果表示第一解密电阻值大于第一参考阈值时,该解密出的数据为第一数值;当比较结果表示第一解密电阻值小于等于第一参考阈值但大于第二参考阈值时,该解密出的数据为第二数值;当比较结果表示第一解密电阻值小于等于第二参考阈值时,该解密出的数据为第三数值。
例如,本公开至少一实施例提供的数据解密方法还包括步骤S240和S250。
步骤S240:选择第二阻变存储器单元,其中,第二阻变存储器单元存储有被加密的数据,在数据为第一数值的情况下,第二阻变存储器单元已被执行过m2次加密操作而使得第二阻变存储器单元的电阻值处于加密目标阻值范围,在数据为第二数值的情况下,第二阻变存储器单元已被执行过n2次加密操作而使得第二阻变存储器单元的电阻值处于加密目标阻值范围。
步骤S250:对第二阻变存储器单元执行解密处理,以使得第二阻变存储器单元的电阻值为第二解密电阻值。
例如,在步骤S240中,n2和m2是正整数,并且m2>n2,m2>n1,m1>n2。
例如,n1=n2,m1=m2。例如,n1=n2=5,m1=m2=20。需要说明的是,n1也可以不等于n2,m1也可以不等于m2,n1、m1、n2和m2的数值可以根据具体情况而定,本公开的实施例对此不作限制。例如,可以设定n1=5,m1=20,n2=4,m2=19。
需要说明的是,在本公开的实施例中,对第二阻变存储器单元执行解密处理的过程与对第一阻变存储器单元执行解密处理的过程类似,在此不再赘述。
例如,在本公开的另一些实施例中,步骤S230包括步骤S231’和S232’。
步骤S231’:将第一解密电阻值与第二解密电阻值进行比较,以得到比较结果。
步骤S232’:基于比较结果,确定并输出数据。
例如,步骤S231’包括:如果第一解密电阻值大于第二解密电阻值,确定比较结果为第一比较结果;如果第一解密电阻值小于或等于第二解密电阻值,确定比较结果为第二比较结果。
例如,步骤S232’包括:响应于比较结果为第一比较结果,确定数据为第一数值;响应于比较结果为第二比较结果,确定数据为第二数值。
在本公开的实施例中,可以通过共同加密存储一个数据的多个阻变存储器单元来解密数据。
例如,图6为通过共同加密存储一个数据的多个阻变存储器单元来解密数据的一个示例的示意图。在图6中,在对第一子阻变存储器阵列和第二子阻变存储器阵列进行加密处理后,4行4列的第一子阻变存储器阵列中的阻变存储器单元和4行4列的第二子阻变存储器阵列中的阻变存储器单元均示出为黑色,即存储有被加密的数据,具体加密存储过程可以参考图4所示的示例,在此不再赘述。
例如,如图6所示,在一个示例中,选择第一子阻变存储器阵列中的第一行第一列的阻变存储器单元(例如,示出为a1,1)作为第一阻变存储器单元,选择第二子阻变存储器阵列中的第一行第一列的阻变存储器单元(例如,示出为b1,1)作为第二阻变存储器单元,执行以下步骤以进行数据解密:对第一阻变存储器单元执行解密处理,以使得第一阻变存储器单元的电阻值为第一解密电阻值;对第二阻变存储器单元执行解密处理,以使得第二阻变存储器单元的电阻值为第二解密电阻值。
如图6所示,解密后的第一阻变存储器单元示出为白色,即电阻值大于100kΩ;解密后的第二阻变存储器单元示出为黑色,即电阻值小于等于100kΩ。可知,第一解密电阻值大于第二解密电阻值,确定比较结果为第一比较结果,确定数据为第一数值,即可以确定被加密的数据为0。
例如,如图6所示,在另一个示例中,选择第一子阻变存储器阵列中的第一行第三列的阻变存储器单元(例如,示出为a1,3)作为第一阻变存储器单元,选择第二子阻变存储器阵列中的第一行第三列的阻变存储器单元(例如,示出为b1,3)作为第二阻变存储器单元,执行以下步骤以进行数据解密:对第一阻变存储器单元执行解密处理,以使得第一阻变存储器单元的电阻值为第一解密电阻值,对第二阻变存储器单元执行解密处理,以使得第二阻变存储器单元的电阻值为第二解密电阻值。
如图6所示,解密后的第一阻变存储器单元示出为黑色,即电阻值小于等于100kΩ;解密后的第二阻变存储器单元示出为白色,即电阻值大于100kΩ。可知,第一解密电阻值小于第二解密电阻值,确定比较结果为第二比较结果,确定数据为第二数值,即可以确定被加密的数据为1。
结合图6所示的示例,可知,可以通过比较共同加密存储一个数据的多个阻变存储器单元被执行解密处理后的电阻值来解密数据,即根据本公开实施例的方法实现了数据的解密。
例如,图7为本公开至少一实施例提供的数据解密的一个示例的流程图。在图7所示的示例中,第一子阻变存储器阵列中的第一阻变存储器单元和对应的第二子阻变存储器阵列中的第二阻变存储器单元共同加密存储一个数据。如图7所示,数据解密的步骤如下:接收解密指令;获取第一子阻变存储器阵列中的第一阻变存储器单元的坐标和对应的第二子阻变存储器阵列中的第二阻变存储器单元的坐标;根据坐标选择第一阻变存储器单元和第二阻变存储器单元;对第一阻变存储器单元和第二阻变存储器单元执行解密处理;如果解密后的第一阻变存储器单元的电阻值R1大于解密后的第二阻变存储器单元的电阻值R2,则确定被加密的数据为第一数值,否则,确定被加密的数据为第二数值。
图8为本公开至少一实施例提供的一种数据加密装置的示意框图。例如,如图8所示,该数据加密装置包括:阻变存储器阵列310、输入电路320和加密电路330。
该阻变存储器阵列310包括多个阻变存储器单元,多个阻变存储器单元包括第一阻变存储器单元。
该输入电路320被配置为获取数据。例如,该输入电路320可以实现步骤S110,其具体实现方法可以参考步骤S110的相关描述,在此不再赘述。
该加密电路330被配置为基于数据,对第一阻变存储器单元执行第一加密处理,以对数据进行加密存储,其中,执行基于数据,对第一阻变存储器单元执行第一加密处理的操作时,该加密电路330被配置为:响应于数据为第一数值,对第一阻变存储器单元执行n1次加密操作,使得第一阻变存储器单元的电阻值处于加密目标阻值范围;响应于数据为第二数值,对第一阻变存储器单元执行m1次加密操作,使得第一阻变存储器单元的电阻值处于加密目标阻值范围;其中,n1和m1是正整数,并且m1>n1。例如,该加密电路330可以实现步骤S120,其具体实现方法可以参考步骤S120的相关描述,在此不再赘述。
例如,在本公开至少一实施例提供的数据加密装置中,加密电路330包括第一加密子电路331和第二加密子电路332。
该第一加密子电路331被配置为响应于数据为第一数值,对第一阻变存储器单元执行n1次加密操作,使得第一阻变存储器单元的电阻值处于加密目标阻值范围。例如,该第一加密子电路331所执行的步骤可以参考数据加密方法中的相关描述,在此不再赘述。
该第二加密子电路332被配置为响应于数据为第二数值,对第一阻变存储器单元执行m1次加密操作,使得第一阻变存储器单元的电阻值处于加密目标阻值范围。例如,该第二加密子电路332所执行的步骤可以参考数据加密方法中的相关描述,在此不再赘述。
例如,在本公开至少一实施例提供的数据加密装置中,多个阻变存储器单元还包括第二阻变存储器单元,第一加密子电路331还被配置为响应于数据为第一数值,对第二阻变存储器单元执行m2次加密操作,使得第二阻变存储器单元的电阻值处于加密目标阻值范围;第二加密子电路332还被配置为响应于数据为第二数值,对第二阻变存储器单元执行n2次加密操作,使得第二阻变存储器单元的电阻值处于加密目标阻值范围;其中,n2和m2是正整数,并且m2>n2,m2>n1,m1>n2。例如,该第一加密子电路331和该第二加密子电路332可以实现步骤S140,其具体实现方法可以参考步骤S140的相关描述,在此不再赘述。
例如,本公开至少一实施例提供的数据加密装置还包括初始化电路340。该初始化电路340被配置为对第一阻变存储器单元执行初始化操作。例如,该初始化电路340可以实现步骤S130,其具体实现方法可以参考步骤S130的相关描述,在此不再赘述。
图9为本公开至少一实施例提供的一种数据解密装置的示意框图。例如,如图9所示,该数据解密装置包括:阻变存储器阵列410、解密电路420和输出电路430。
该阻变存储器阵列410包括多个阻变存储器单元,多个阻变存储器单元包括第一阻变存储器单元,第一阻变存储器单元存储有被加密的数据,其中,在数据为第一数值的情况下,第一阻变存储器单元已被执行过n1次加密操作而使得第一阻变存储器单元的电阻值处于加密目标阻值范围,在数据为第二数值的情况下,第一阻变存储器单元已被执行过m1次加密操作而使得第一阻变存储器单元的电阻值处于加密目标阻值范围,其中,n1和m1是正整数,并且m1>n1。
该解密电路420被配置为对第一阻变存储器单元执行解密处理,以使得第一阻变存储器单元的电阻值为第一解密电阻值。例如,该解密电路420可以实现步骤S220,其具体实现方法可以参考步骤S220的相关描述,在此不再赘述。
该输出电路430被配置为基于第一解密电阻值,确定并输出数据。例如,该输出电路430可以实现步骤S230,其具体实现方法可以参考步骤S230的相关描述,在此不再赘述。
例如,在本公开至少一实施例提供的数据解密装置中,输出电路430包括比较子电路431和输出子电路432。
该比较子电路431被配置为将第一解密电阻值与参考阈值进行比较,以得到比较结果。例如,该比较子电路431可以实现步骤S231,其具体实现方法可以参考步骤S231的相关描述,在此不再赘述。
该输出子电路432被配置为基于比较结果,确定并输出数据。例如,该输出子电路432可以实现步骤S232,其具体实现方法可以参考步骤S232的相关描述,在此不再赘述。
例如,在本公开至少一实施例提供的数据解密装置中,多个阻变存储器单元还包括第二阻变存储器单元,第二阻变存储器单元存储有被加密的数据,其中,在数据为第一数值的情况下,第二阻变存储器单元已被执行过m2次加密操作而使得第二阻变存储器单元的电阻值处于加密目标阻值范围,在数据为第二数值的情况下,第二阻变存储器单元已被执行过n2次加密操作而使得第二阻变存储器单元的电阻值处于加密目标阻值范围,其中,n2和m2是正整数,并且m2>n2,m2>n1,m1>n2;解密电路420还被配置为对第二阻变存储器单元执行解密处理,以使得第二阻变存储器单元的电阻值为第二解密电阻值。例如,该解密电路420可以实现步骤S250,其具体实现方法可以参考步骤S250的相关描述,在此不再赘述。
例如,在本公开至少一实施例提供的数据解密装置中,输出电路430包括比较子电路431和输出子电路432。
该比较子电路431被配置为将第一解密电阻值与第二解密电阻值进行比较,以得到比较结果。例如,该比较子电路431可以实现步骤S231’,其具体实现方法可以参考步骤S231’的相关描述,在此不再赘述。
该输出子电路432被配置为基于比较结果,确定并输出数据。例如,该输出子电路432可以实现步骤S232’,其具体实现方法可以参考步骤S232’的相关描述,在此不再赘述。
例如,在本公开至少一实施例提供的数据解密装置中,阻变存储器阵列410包括第一子阻变存储器阵列411和第二子阻变存储器阵列412,多个阻变存储器单元被划分为第一组阻变存储器单元和第二组阻变存储器单元,第一组阻变存储器单元中的阻变存储器单元构成第一子阻变存储器阵列411,第二组阻变存储器单元中的阻变存储器单元构成第二子阻变存储器阵列412,第一组阻变存储器单元中的阻变存储器单元的数量和第二组阻变存储器单元中的阻变存储器单元的数量相同,第一组阻变存储器单元中的阻变存储器单元排列为N行M列,第二组阻变存储器单元中的阻变存储器单元排列为N行M列,第一阻变存储器单元位于第一子阻变存储器阵列411中的第i行j列,第二阻变存储器单元位于第二子阻变存储器阵列412中的第i行j列,其中,N和M是正整数,1≤i≤N,1≤j≤M。例如,该第一子阻变存储器阵列411和该第二子阻变存储器阵列412可以参考图4和6中所示的第一子阻变存储器阵列和第二子阻变存储器阵列,在此不再赘述。
需要说明的是,第一子阻变存储器阵列411和第二子阻变存储器阵列412可以根据具体情况而定,类似地,彼此对应的第一阻变存储器单元和第二阻变存储器单元的具体位置也可以根据具体情况而定,本公开的实施例对此不作限制。例如,第一组阻变存储器单元中的阻变存储器单元排列为N行M列,第二组阻变存储器单元中的阻变存储器单元排列为N行M列,第一阻变存储器单元位于第一子阻变存储器阵列411中的第i行j列,第二阻变存储器单元位于第二子阻变存储器阵列412中的第j行i列,其中,N和M是正整数,1≤i≤N,1≤j≤M。
需要说明的是,为表述清楚、简洁,本公开的实施例并没有给出数据加密和解密装置的全部组成单元。为实现数据加密和解密装置的必要功能,本领域技术人员可以根据具体需要提供、设置其他未示出的组成单元,本公开的实施例对此不作限制。
关于不同实施例中的数据加密装置和数据解密装置的技术效果可以参考本公开的实施例中提供的数据加密方法和数据解密方法的技术效果,这里不再赘述。
有以下几点需要说明:
(1)本公开实施例附图只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。
(2)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
以上所述仅是本公开的示范性实施方式,而非用于限制本公开的保护范围,本公开的保护范围由所附的权利要求确定。

Claims (23)

1.一种数据加密方法,包括:
获取数据;
基于所述数据,对第一阻变存储器单元执行第一加密处理,以对所述数据进行加密存储,
其中,基于所述数据,对所述第一阻变存储器单元执行所述第一加密处理,包括:
响应于所述数据为第一数值,对所述第一阻变存储器单元执行n1次加密操作,使得所述第一阻变存储器单元的电阻值处于加密目标阻值范围;
响应于所述数据为第二数值,对所述第一阻变存储器单元执行m1次所述加密操作,使得所述第一阻变存储器单元的电阻值处于所述加密目标阻值范围;
其中,n1和m1是正整数,并且m1>n1,
所述方法还包括:
在对所述第一阻变存储器单元执行所述第一加密处理之前,对所述第一阻变存储器单元执行初始化操作。
2.根据权利要求1所述的方法,其中,所述初始化操作包括多次复位操作,每次所述加密操作为置位操作;或者,所述初始化操作包括多次置位操作,每次所述加密操作为复位操作。
3.根据权利要求1-2中任一项所述的方法,其中,所述第一数值为0,所述第二数值为1。
4.根据权利要求1-2中任一项所述的方法,还包括:
基于所述数据,对第二阻变存储器单元执行第二加密处理,以对所述数据进行加密存储,
其中,基于所述数据,对所述第二阻变存储器单元执行所述第二加密处理,包括:
响应于所述数据为第一数值,对所述第二阻变存储器单元执行m2次所述加密操作,使得所述第二阻变存储器单元的电阻值处于所述加密目标阻值范围;
响应于所述数据为第二数值,对所述第二阻变存储器单元执行n2次所述加密操作,使得所述第二阻变存储器单元的电阻值处于所述加密目标阻值范围;
其中,n2和m2是正整数,并且m2>n2,m2>n1,m1>n2。
5.根据权利要求1-2中任一项所述的方法,其中,基于所述数据,对所述第一阻变存储器单元执行所述第一加密处理,还包括:
响应于所述数据为第三数值,对所述第一阻变存储器单元执行y次所述加密操作,使得所述第一阻变存储器单元的电阻值处于所述加密目标阻值范围;
其中,y是正整数,并且y与m1、n1不同。
6.一种数据解密方法,包括:
选择第一阻变存储器单元,其中,所述第一阻变存储器单元存储有被加密的数据,在所述数据为第一数值的情况下,所述第一阻变存储器单元已被执行过n1次加密操作而使得所述第一阻变存储器单元的电阻值处于加密目标阻值范围,并且在已被执行过n1次加密操作之前所述第一阻变存储器单元已被执行过初始化操作,在所述数据为第二数值的情况下,所述第一阻变存储器单元已被执行过m1次所述加密操作而使得所述第一阻变存储器单元的电阻值处于所述加密目标阻值范围,并且在已被执行过m1次加密操作之前所述第一阻变存储器单元已被执行过初始化操作,其中,n1和m1是正整数,并且m1>n1;
对所述第一阻变存储器单元执行解密处理,以使得所述第一阻变存储器单元的电阻值为第一解密电阻值;
基于所述第一解密电阻值,确定并输出所述数据。
7.根据权利要求6所述的方法,其中,对所述第一阻变存储器单元执行所述解密处理,包括:
对所述第一阻变存储器单元执行p次解密操作,其中,p是正整数。
8.根据权利要求7所述的方法,其中,p为1。
9.根据权利要求7所述的方法,其中,每次所述加密操作为置位操作,每次所述解密操作为复位操作。
10.根据权利要求9所述的方法,其中,基于所述第一解密电阻值,确定并输出所述数据,包括:
将所述第一解密电阻值与参考阈值进行比较,以得到比较结果;
基于所述比较结果,确定并输出所述数据。
11.根据权利要求10所述的方法,其中,将所述第一解密电阻值与所述参考阈值进行比较,以得到所述比较结果,包括:
如果所述第一解密电阻值大于所述参考阈值,确定所述比较结果为第一比较结果,
如果所述第一解密电阻值小于或等于所述参考阈值,确定所述比较结果为第二比较结果;
基于所述比较结果,确定并输出所述数据,包括:
响应于所述比较结果为所述第一比较结果,确定所述数据为所述第一数值,
响应于所述比较结果为所述第二比较结果,确定所述数据为所述第二数值。
12.根据权利要求9所述的方法,还包括:
选择第二阻变存储器单元,其中,所述第二阻变存储器单元存储有被加密的所述数据,在所述数据为第一数值的情况下,所述第二阻变存储器单元已被执行过m2次所述加密操作而使得所述第二阻变存储器单元的电阻值处于所述加密目标阻值范围,在所述数据为第二数值的情况下,所述第二阻变存储器单元已被执行过n2次所述加密操作而使得所述第二阻变存储器单元的电阻值处于所述加密目标阻值范围,其中,n2和m2是正整数,并且m2>n2,m2>n1,m1>n2;
对所述第二阻变存储器单元执行所述解密处理,以使得所述第二阻变存储器单元的电阻值为第二解密电阻值。
13.根据权利要求12所述的方法,其中,基于所述第一解密电阻值,确定并输出所述数据,包括:
将所述第一解密电阻值与所述第二解密电阻值进行比较,以得到比较结果;
基于所述比较结果,确定并输出所述数据。
14.根据权利要求13所述的方法,其中,将所述第一解密电阻值与所述第二解密电阻值进行比较,以得到所述比较结果,包括:
如果所述第一解密电阻值大于所述第二解密电阻值,确定所述比较结果为第一比较结果,
如果所述第一解密电阻值小于或等于所述第二解密电阻值,确定所述比较结果为第二比较结果;
基于所述比较结果,确定并输出所述数据,包括:
响应于所述比较结果为所述第一比较结果,确定所述数据为所述第一数值,
响应于所述比较结果为所述第二比较结果,确定所述数据为所述第二数值。
15.根据权利要求7所述的方法,其中,每次所述加密操作为复位操作,每次所述解密操作为置位操作。
16.一种数据加密装置,包括:阻变存储器阵列、输入电路和加密电路,
其中,所述阻变存储器阵列包括多个阻变存储器单元,所述多个阻变存储器单元包括第一阻变存储器单元;
所述输入电路被配置为获取数据;
所述加密电路被配置为基于所述数据,对所述第一阻变存储器单元执行第一加密处理,以对所述数据进行加密存储,
其中,执行基于所述数据,对所述第一阻变存储器单元执行第一加密处理的操作时,所述加密电路被配置为:
响应于所述数据为第一数值,对所述第一阻变存储器单元执行n1次加密操作,使得所述第一阻变存储器单元的电阻值处于加密目标阻值范围;
响应于所述数据为第二数值,对所述第一阻变存储器单元执行m1次所述加密操作,使得所述第一阻变存储器单元的电阻值处于所述加密目标阻值范围;
其中,n1和m1是正整数,并且m1>n1,
所述数据加密装置还包括:初始化电路,所述初始化电路被配置为对所述第一阻变存储器单元执行初始化操作。
17.根据权利要求16所述的装置,其中,所述加密电路包括第一加密子电路和第二加密子电路,
所述第一加密子电路被配置为响应于所述数据为第一数值,对所述第一阻变存储器单元执行所述n1次加密操作,使得所述第一阻变存储器单元的电阻值处于所述加密目标阻值范围;
所述第二加密子电路被配置为响应于所述数据为第二数值,对所述第一阻变存储器单元执行所述m1次加密操作,使得所述第一阻变存储器单元的电阻值处于所述加密目标阻值范围。
18.根据权利要求17所述的装置,其中,所述多个阻变存储器单元还包括第二阻变存储器单元,
所述第一加密子电路还被配置为响应于所述数据为第一数值,对所述第二阻变存储器单元执行m2次所述加密操作,使得所述第二阻变存储器单元的电阻值处于所述加密目标阻值范围;
所述第二加密子电路还被配置为响应于所述数据为第二数值,对所述第二阻变存储器单元执行n2次所述加密操作,使得所述第二阻变存储器单元的电阻值处于所述加密目标阻值范围;
其中,n2和m2是正整数,并且m2>n2,m2>n1,m1>n2。
19.一种数据解密装置,包括:阻变存储器阵列、解密电路和输出电路,
其中,所述阻变存储器阵列包括多个阻变存储器单元,所述多个阻变存储器单元包括第一阻变存储器单元,所述第一阻变存储器单元存储有被加密的数据,其中,在所述数据为第一数值的情况下,所述第一阻变存储器单元已被执行过n1次加密操作而使得所述第一阻变存储器单元的电阻值处于加密目标阻值范围,并且在已被执行过n1次加密操作之前所述第一阻变存储器单元已被执行过初始化操作,在所述数据为第二数值的情况下,所述第一阻变存储器单元已被执行过m1次所述加密操作而使得所述第一阻变存储器单元的电阻值处于所述加密目标阻值范围,并且在已被执行过m1次加密操作之前所述第一阻变存储器单元已被执行过初始化操作,其中,n1和m1是正整数,并且m1>n1;
所述解密电路被配置为对所述第一阻变存储器单元执行解密处理,以使得所述第一阻变存储器单元的电阻值为第一解密电阻值;
所述输出电路被配置为基于所述第一解密电阻值,确定并输出所述数据。
20.根据权利要求19所述的装置,其中,所述输出电路包括比较子电路和输出子电路,所述比较子电路被配置为将所述第一解密电阻值与参考阈值进行比较,以得到比较结果;所述输出子电路被配置为基于所述比较结果,确定并输出所述数据。
21.根据权利要求19所述的装置,其中,所述多个阻变存储器单元还包括第二阻变存储器单元,所述第二阻变存储器单元存储有被加密的所述数据,其中,在所述数据为第一数值的情况下,所述第二阻变存储器单元已被执行过m2次所述加密操作而使得所述第二阻变存储器单元的电阻值处于所述加密目标阻值范围,在所述数据为第二数值的情况下,所述第二阻变存储器单元已被执行过n2次所述加密操作而使得所述第二阻变存储器单元的电阻值处于所述加密目标阻值范围,其中,n2和m2是正整数,并且m2>n2,m2>n1,m1>n2;
所述解密电路还被配置为对所述第二阻变存储器单元执行所述解密处理,以使得所述第二阻变存储器单元的电阻值为第二解密电阻值。
22.根据权利要求21所述的装置,其中,所述输出电路包括比较子电路和输出子电路,所述比较子电路被配置为将所述第一解密电阻值与所述第二解密电阻值进行比较,以得到比较结果;所述输出子电路被配置为基于所述比较结果,确定并输出所述数据。
23.根据权利要求22所述的装置,其中,所述阻变存储器阵列包括第一子阻变存储器阵列和第二子阻变存储器阵列,所述多个阻变存储器单元被划分为第一组阻变存储器单元和第二组阻变存储器单元,所述第一组阻变存储器单元中的阻变存储器单元构成所述第一子阻变存储器阵列,所述第二组阻变存储器单元中的阻变存储器单元构成所述第二子阻变存储器阵列,
所述第一组阻变存储器单元中的阻变存储器单元的数量和所述第二组阻变存储器单元中的阻变存储器单元的数量相同,所述第一组阻变存储器单元中的阻变存储器单元排列为N行M列,所述第二组阻变存储器单元中的阻变存储器单元排列为N行M列,
所述第一阻变存储器单元位于所述第一子阻变存储器阵列中的第i行j列,
所述第二阻变存储器单元位于所述第二子阻变存储器阵列中的第i行j列,
其中,N和M是正整数,1≤i≤N,1≤j≤M。
CN202011100864.2A 2020-10-15 2020-10-15 数据加密方法和解密方法及数据加密装置和解密装置 Active CN112165384B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011100864.2A CN112165384B (zh) 2020-10-15 2020-10-15 数据加密方法和解密方法及数据加密装置和解密装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011100864.2A CN112165384B (zh) 2020-10-15 2020-10-15 数据加密方法和解密方法及数据加密装置和解密装置

Publications (2)

Publication Number Publication Date
CN112165384A CN112165384A (zh) 2021-01-01
CN112165384B true CN112165384B (zh) 2022-04-01

Family

ID=73866935

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011100864.2A Active CN112165384B (zh) 2020-10-15 2020-10-15 数据加密方法和解密方法及数据加密装置和解密装置

Country Status (1)

Country Link
CN (1) CN112165384B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3407335A1 (en) * 2017-05-22 2018-11-28 Macronix International Co., Ltd. Non-volatile memory based physically unclonable function with random number generator
CN111581675A (zh) * 2020-04-10 2020-08-25 安徽大学 一种基于阻变存储器的物理不可克隆函数电路结构

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103778468B (zh) * 2014-01-16 2016-09-07 北京大学 一种基于rram的新型神经网络电路
US9806718B2 (en) * 2014-05-05 2017-10-31 Analog Devices, Inc. Authenticatable device with reconfigurable physical unclonable functions
TWI640005B (zh) * 2016-12-27 2018-11-01 旺宏電子股份有限公司 在積體電路上生成資料集的方法、製造積體電路的方法、以及積體電路裝置
TWI644229B (zh) * 2017-05-04 2018-12-11 慧榮科技股份有限公司 採加密技術之數據中心與數據中心操作方法
CN107368755B (zh) * 2017-06-07 2019-06-07 中国电子产品可靠性与环境试验研究所 电路及其安全架构设计方法、装置、设备及存储介质
CN109509495B (zh) * 2017-09-14 2020-09-22 清华大学 阻变存储器的操作方法及其操作装置、芯片以及芯片认证方法
KR102420158B1 (ko) * 2017-12-27 2022-07-13 삼성전자주식회사 파일 단위의 암호화 키에 기반하여 암호화를 수행하도록 구성되는 스토리지 장치, 스토리지 시스템, 및 그 동작 방법
CN115051806A (zh) * 2018-10-30 2022-09-13 北京忆芯科技有限公司 一种控制部件
CN110989972B (zh) * 2019-12-05 2021-11-30 清华大学 随机数的生成方法及随机数生成器
CN111562901B (zh) * 2020-04-30 2023-09-22 清华大学 随机数生成器和随机数的生成方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3407335A1 (en) * 2017-05-22 2018-11-28 Macronix International Co., Ltd. Non-volatile memory based physically unclonable function with random number generator
CN111581675A (zh) * 2020-04-10 2020-08-25 安徽大学 一种基于阻变存储器的物理不可克隆函数电路结构

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"A strong arbiter PUF using resistive RAM";Swaroop Ghosh et al.;《2016 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation (SAMOS)》;20160721;全文 *
"Utilizing the Variability of Resistive Random Access Memory to Implement Reconfigurable Physical Unclonable Functions";An Chen;《IEEE Electron Device Letters》;20141224;第36卷(第2期);全文 *
基于RRAM延时单元的PUF设计;杨轩等;《电子学报》;20200815(第08期);全文 *

Also Published As

Publication number Publication date
CN112165384A (zh) 2021-01-01

Similar Documents

Publication Publication Date Title
US11869852B2 (en) Physical unclonable functions with copper-silicon oxide programmable metallization cells
US9898598B2 (en) Authentication system having a non-volatile memory including memory cells in initial or variable states and a host computer for performing authentication therebetween
US10439828B2 (en) Encoding data for cells in a PUF that corresponds to a response in a challenge response pair
US10097348B2 (en) Device bound encrypted data
US9921975B2 (en) Cryptographic processing device having a non-volatile memory including memory cells in an initial or a variable state
TWI729666B (zh) 儲存單元
US11081168B2 (en) Mixed digital-analog memory devices and circuits for secure storage and computing
Rührmair et al. An attack on PUF-based session key exchange and a hardware-based countermeasure: Erasable PUFs
CN105493191A (zh) 基于金属-绝缘体-金属装置的击穿电压的物理不可克隆功能
CN109509495B (zh) 阻变存储器的操作方法及其操作装置、芯片以及芯片认证方法
US10491408B2 (en) PUF hardware arrangement for increased throughput
Sahay et al. Recent trends in hardware security exploiting hybrid CMOS-resistive memory circuits
CN111339579B (zh) 电子装置及其操作方法
US20190305972A1 (en) Physically unclonable function resistant to side-channel attack and method therefor
Liu et al. X-point PUF: Exploiting sneak paths for a strong physical unclonable function design
Arafin et al. A survey on memristor modeling and security applications
Yang et al. Cryptographic Key Generation and In Situ Encryption in One‐Transistor‐One‐Resistor Memristors for Hardware Security
CN112165384B (zh) 数据加密方法和解密方法及数据加密装置和解密装置
Jain et al. Bit error rate analysis of pre-formed ReRAM-based PUF
CN116054816B (zh) 加密逻辑单元电路、加密芯片、服务器和图像加密方法
CN114068689B (zh) 基于栅极外悬量调制晶体管的新型熵源结构及其制造方法
CN110298181A (zh) 数据加密存储方法、数据解密方法以及加密存储器芯片
Gong et al. Design for test and hardware security utilizing retention loss of memristors
CN115224023A (zh) 数据安全芯片及其操作方法、电子装置
Cambou Addressabke PUF generators for database-free password management system

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