一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

加密方法、解密方法、芯片和计算机可读存储介质与流程

2023-01-16 23:02:29 来源:中国专利 TAG:


1.本技术实施例涉及集成电路技术领域,特别涉及一种加密方法、解密方法、芯片和计算机可读存储介质。


背景技术:

2.闪存存储器是一种长寿命的非易失性的存储器,其在断电情况下仍能保持所存储的数据,常见的闪存存储器有闪存卡和闪存盘等,闪存卡和闪存盘体积都比较小,重量轻,适合随身携带,闪存卡需要通过读卡器进行识别,从而写入或读取数据,而闪存盘则不需要额外的驱动器,其将驱动器及存储介质合二为一,只要接上上位机或芯片的特定接口就可以独立地写入或读取数据。
3.为了保护闪存存储器内部存储的数据,在向闪存存储器中写入数据时,可以使用预设的密钥对待写入的数据进行加密以生成密文信息,再将生成的密文信息写入闪存存储器;在从闪存存储器中读取数据时,则需要使用预设的密钥对读取出的密文信息进行解密,还原出需要的数据。这种加密方式的保护力度比较薄弱,一旦预设的密钥被盗取,闪存存储器内部存储的数据仍然面临着被盗取的危险。


技术实现要素:

4.本技术实施例的目的在于提供一种加密方法、解密方法、芯片和计算机可读存储介质,可以动态地、针对性地确定加密所需的密钥,密钥的安全性非常高,不易被盗取,从而有效提升了对数据的加密效果。
5.为解决上述技术问题,本技术的实施例提供了一种加密方法,应用于芯片,包括以下步骤:获取需要写入闪存存储器的目标数据,并确定所述目标数据需要写入的地址段;根据所述地址段从所述芯片的内部存储器中存储的第一密钥集中确定第一密钥,并将所述第一密钥与所述地址段之间的对应关系写入所述内部存储器;获取第二密钥,根据所述第一密钥、所述第二密钥和所述地址段生成第三密钥;基于所述第三密钥对所述目标数据进行加密,生成所述目标数据对应的密文信息,将所述密文信息写入所述闪存存储器。
6.本技术的实施例还提供了一种解密方法,应用于芯片,包括以下步骤:获取闪存存储器中的目标地址段,根据所述目标地址段和所述芯片的内部存储器中存储的所述目标地址段与第一密钥的对应关系,从所述内部存储器中调取与所述目标地址段对应的第一密钥;其中,所述内部存储器中预先存储有分别与所述闪存存储器中各地址段对应的第一密钥;获取第二密钥,并根据所述第一密钥、所述第二密钥和所述目标地址段生成第三密钥;基于所述第三密钥对所述目标地址段存储的信息进行解密,还原出所述目标地址段存储的信息对应的目标数据。
7.本技术的实施例还提供了一种芯片,包括:中央处理器、内部存储器、闪存存储器控制模块和闪存存储器接口;所述闪存存储器接口用于连接闪存存储器;在加密过程中:所述中央处理器用于获取需要写入闪存存储器的目标数据,并确定所述目标数据需要写入的
地址段;所述闪存存储器控制模块用于根据所述地址段从所述芯片的内部存储器中存储的第一密钥集中确定第一密钥,将所述第一密钥与所述地址段之间的对应关系写入所述内部存储器,获取第二密钥,根据所述第一密钥、所述第二密钥和所述地址段生成第三密钥,基于所述第三密钥对所述目标数据进行加密,生成所述目标数据对应的密文信息,并将所述密文信息写入所述闪存存储器;在解密过程中:所述中央处理器用于获取所述闪存存储器中的目标地址段;所述闪存存储器控制模块用于根据所述目标地址段和所述芯片的内部存储器中存储的所述目标地址段与第一密钥的对应关系,从所述内部存储器中调取与所述目标地址段对应的第一密钥,获取所述第二密钥,根据所述第一密钥、所述第二密钥和所述目标地址段生成所述第三密钥,基于所述第三密钥对所述目标地址段存储的信息进行解密,还原出所述目标地址段存储的信息对应的所述目标数据。
8.本技术的实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述应用于芯片的加密方法,或者,实现上述应用于芯片的解密方法。
9.本技术的实施例提供的加密方法、解密方法、芯片和计算机可读存储介质,芯片在向闪存存储器写入数据时,先获取需要写入闪存存储器的目标数据,并确定目标数据需要写入的地址段;随后根据地址段从芯片自身的内部存储器中存储的第一密钥集中确定第一密钥,并将第一密钥与该地址段之间的对应关系写入内部存储器;再获取第二密钥,根据第一密钥、第二密钥和需要写入的地址段生成第三密钥;最后基于第三密钥对目标数据进行加密,生成目标数据对应的密文信息,芯片将密文信息写入闪存存储器。考虑到业内常用的加密手段为通过预设的密钥对待写入的数据进行加密,生成密文信息,再将生成的密文信息写入闪存存储器,这种预设的密钥保护力度比较薄弱,容易被盗取,一旦预设的密钥被盗取,闪存存储器中存储的数据也面临着被盗取的危险,而本技术的实施例,先确定目标数据需要些入的地址段,根据地址段在芯片的内部存储器存储的第一密钥集中确定第一密钥,并将第一密钥与地址段的绑定关系写入芯片的内部存储器,此后第一密钥无法被从芯片中读出,只有该芯片自身可以调用,在加密是使用第一密钥、获取的第二密钥和地址段混合生成和第三密钥来加密,即动态地、针对性地确定加密所需的密钥,第三密钥的安全性非常高,不易被盗取,有效提升了对目标数据的加密效果。
10.另外,所述根据所述地址段从所述芯片的内部存储器中存储的第一密钥集中确定第一密钥,并将所述第一密钥与所述地址段之间的对应关系写入所述内部存储器,包括:根据所述地址段和预设的加密标准,判断所述目标数据是否需要加密;若确定所述目标数据不需要加密,则直接将所述目标数据写入所述闪存存储器;若确定所述目标数据需要加密,则根据所述地址段从所述芯片的内部存储器中存储的第一密钥集中确定第一密钥,并将所述第一密钥与所述地址段之间的对应关系写入所述内部存储器。考虑到用户使用闪存存储器进行存储的目的多种多样,需要存储的数据也多种多样,有些数据需要加密,有些数据则不需要加密,如果都进行加密的话需要耗费大量的计算资源,同时一些闪存存储器存储空间很大,可以划分为加密区和非加密区,因此芯片可以基于目标数据需要写入的地址段判断目标数据是否加密,从而在满足用户多样的存储需求的同时,节约计算资源。
11.另外,所述基于所述第三密钥对所述目标数据进行加密,生成所述目标数据对应的密文信息,包括:对所述第三密钥和所述目标数据进行预设的数学运算,获取所述数学运
算的运算结果;将所述数学运算的运算结果作为所述目标数据对应的密文信息。本技术基于第三密钥,采用数学运算的生成获得目标数据对应的密文信息,这样生成的密文信息更加稳定、安全,并且在相应解密时不易出错。
12.另外,所述确定所述目标数据需要写入的地址段,具体为:通过直接寻址或间接寻址的方式,确定所述目标数据需要写入的地址段。无论是直接寻址还是间接寻址,都可以使用本技术提出的加密方法对需要写入闪存存储器的目标数据进行加密,使得该加密方法具有很强的普适性。
附图说明
13.一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
14.图1是本技术的一个实施例提供的加密方法的流程图;图2是本技术的一个实施例中,根据所述地址段从芯片的内部存储器中存储的第一密钥集中确定第一密钥,并将第一密钥与地址段之间的对应关系写入内部存储器的流程图;图3是本技术的另一个实施例提供的解密方法的流程图一;图4是本技术的一个实施例中,根据目标地址段和芯片的内部存储器中存储的目标地址段与第一密钥的对应关系,从内部存储器中调取与目标地址段对应的第一密钥的流程图;图5是本技术的另一个实施例提供的解密方法的流程图二;图6是本技术的另一个实施例提供的芯片的结构示意图。
具体实施方式
15.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本技术的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本技术各实施例中,为了使读者更好地理解本技术而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本技术所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本技术的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
16.本技术的一个实施例涉及一种加密方法,应用于芯片,下面对本实施例的加密方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
17.本实施例的加密方法的具体流程可以如图1所示,包括:步骤101,获取需要写入闪存存储器的目标数据,并确定目标数据需要写入的地址段。
18.具体而言,芯片在向闪存存储器中写入数据时,需要先通过芯片上的闪存存储器接口与闪存存储器连接,再获取需要写入闪存存储器的目标数据,并确定目标数据需要写入进的闪存存储器的地址段。
19.在一个例子中,需要写入进目标数据的闪存存储器可以为闪存卡和闪存盘等,若
闪存存储器为闪存卡,则芯片上的闪存存储器的接口可以为闪存卡卡槽,若闪存存储器为闪存盘,则芯片上的闪存存储器的接口可以为通用串行总线(universal serial bus,简称:usb)接口。
20.在一个例子中,芯片在确定目标数据需要写入的地址段时,可以通过直接寻址或间接寻址的方式,确定目标数据需要写入的地址段,即无论是直接寻址还是间接寻址,都可以使用本技术的实施例提出的加密方法对需要写入闪存存储器的目标数据进行加密,使得本技术的实施例提出的加密方法具有很强的普适性。
21.步骤102,根据所述地址段从芯片的内部存储器中存储的第一密钥集中确定第一密钥,并将所述第一密钥与所述地址段之间的对应关系写入内部存储器。
22.在具体实现中,芯片在出厂时内部存储器中已预存包括若干个密钥的第一密钥集,不同芯片的内部存储器中预存的第一密钥集中的密钥可以相同,也可以不同,芯片在获取到需要写入闪存存储器的目标数据,并确定目标数据需要写入的地址段后,可以根据所述地址段从芯片的内部存储器中存储的第一密钥集中确定用于参与加密的第一密钥,并且将该第一密钥与该地址段之间的对应关系写入芯片的内部存储器中,写入芯片的内部存储器的对应关系只能由该芯片本身调用,不能从芯片中读出。
23.在一个例子中,芯片的内部存储器中存储有预设的第一密钥集,芯片在确定目标数据需要写入的地址段之后,可以根据在第一密钥集中随即选择一个没有被使用过的密钥作为第一密钥,将该第一密钥与所述地址段绑定,生成第一密钥与该地址段之间的对应关系,再将该对应关系写入到芯片的内部存储器中。
24.在另一个例子中,用户可以自行在第一密钥集中选择第一密钥,芯片在确定用户选择的第一密钥后,可以将该第一密钥与所述地址段绑定,生成第一密钥与该地址段之间的对应关系,再将该对应关系写入到芯片的内部存储器中。
25.步骤103,获取第二密钥,根据第一密钥、第二密钥和所述地址段生成第三密钥。
26.在具体实现中,芯片在确定第一密钥后,可以获取第二密钥,采用混合加密的方法,根据第一密钥、第二密钥和所述地址段生成新的第三密钥,第三密钥随用随销,不会写入闪存存储器或者芯片的内部存储器中。
27.在一个例子中,用户可以自行选择或制作第二密钥,并向芯片输入选择或制作的第二密钥,芯片在收到输入的第二密钥后,根据第一密钥、第二密钥和所述地址段生成第三密钥。
28.在一个例子中,第一密钥最终是写入芯片的内部存储器中的,可以称为内部密钥,而第二密钥是用户自行输入的,最终不写入芯片的内部存储器,可以称为外部密钥。
29.步骤104,基于第三密钥对目标数据进行加密,生成目标数据对应的密文信息,将密文信息写入闪存存储器。
30.在具体实现中,芯片生成第三密钥后,可以基于第三密钥对目标数据进行加密,生成目标数据对应的密文信息,将该密文信息写入闪存存储器的所述地址段中进行存储。
31.在一个例子中,芯片可以对第三密钥和目标数据进行预设的数学运算,获取数学运算的运算结果,将数学运算的运算结果作为目标数据对应的密文信息,写入闪存存储器的所述地址段中进行存储,其中,预设的数学运算可以由本领域的技术人员根据实际需要进行设置,本技术的实施例基于第三密钥,采用数学运算的生成获得目标数据对应的密文
信息,这样生成的密文信息更加稳定、安全,并且在相应解密时不易出错。
32.在一个例子中,预设的数学运算可以为或运算,芯片对第三密钥和目标数据进行或运算,获取或运算的运算结果,将或运算的运算结果作为目标数据对应的密文信息,写入闪存存储器的所述地址段中进行存储。
33.本实施例,芯片在向闪存存储器写入数据时,先获取需要写入闪存存储器的目标数据,并确定目标数据需要写入的地址段;随后根据地址段从芯片自身的内部存储器中存储的第一密钥集中确定第一密钥,并将第一密钥与该地址段之间的对应关系写入内部存储器;再获取第二密钥,根据第一密钥、第二密钥和需要写入的地址段生成第三密钥;最后基于第三密钥对目标数据进行加密,生成目标数据对应的密文信息,芯片将密文信息写入闪存存储器。考虑到业内常用的加密手段为通过预设的密钥对待写入的数据进行加密,生成密文信息,再将生成的密文信息写入闪存存储器,这种预设的密钥保护力度比较薄弱,容易被盗取,一旦预设的密钥被盗取,闪存存储器中存储的数据也面临着被盗取的危险,而本技术的实施例,先确定目标数据需要些入的地址段,根据地址段在芯片的内部存储器存储的第一密钥集中确定第一密钥,并将第一密钥与地址段的绑定关系写入内部存储器,此后第一密钥无法被从芯片读出,只有该芯片自身可以调用,在加密是使用第一密钥、获取的第二密钥和地址段混合生成和第三密钥来加密,即动态地、针对性地确定加密所需的密钥,第三密钥的安全性非常高,不易被盗取,有效提升了对目标数据的加密效果。
34.在一个实施例中,芯片根据所述地址段确定第一密钥,并将第一密钥写入芯片的内部存储器,可以通过如图2所示的各步骤实现,具体包括:步骤201,根据所述地址段和预设的加密标准,判断目标数据是否需要加密,如果是,执行步骤203,否则,执行步骤202。
35.步骤202,直接将目标数据写入闪存存储器。
36.步骤203,根据地址段从芯片的内部存储器中存储的第一密钥集中确定第一密钥,并将第一密钥与地址段之间的对应关系写入内部存储器。
37.具体而言,芯片在确定目标数据需要写入的地址段后,可以根据所述地址段和预设的加密标准,判断目标数据是否需要加密,如果确定目标数据不需要加密,芯片则直接将目标数据写入闪存存储器的所述地址段中;如果确定目标数据需要加密,芯片才会根据所述地址段从芯片的内部存储器中存储的第一密钥集中确定第一密钥确定第一密钥,并将第一密钥与地址段之间的对应关系写入芯片的内部存储器,再获取第二密钥,根据第一密钥、第二密钥和所述地址段生成第三密钥,最后基于第三密钥对目标数据进行加密,生成目标数据对应的密文信息,将密文信息写入闪存存储器的所述地址段中。
38.在具体实现中,考虑到用户使用闪存存储器进行存储的目的多种多样,需要存储的数据也多种多样,有些数据需要加密,有些数据则不需要加密,如果都进行加密的话需要耗费大量的计算资源,同时一些闪存存储器存储空间很大,可以划分为加密区和非加密区,因此芯片可以基于目标数据需要写入的地址段判断目标数据是否加密,从而在满足用户多样的存储需求的同时,节约计算资源。
39.本技术的一个实施例涉及一种解密方法,应用于芯片,下面对本实施例的解密方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
40.本实施例的解密方法的具体流程可以如图3所示,包括:步骤301,获取闪存存储器中的目标地址段,根据目标地址段和芯片的内部存储器中存储的目标地址段与第一密钥的对应关系,从内部存储器中调取与目标地址段对应的第一密钥。
41.具体而言,芯片在从闪存存储器中读取数据时,需要先通过芯片上的闪存存储器接口与闪存存储器连接,再获取需要闪存存储器中的目标地址段,根据目标地址段和芯片的内部存储器中存储的目标地址段与第一密钥的对应关系,从芯片的内部存储器中调取与目标地址段对应的第一密钥,其中,芯片的内部存储器中预先存储有分别与闪存存储器中各地址段对应的第一密钥。
42.步骤302,获取第二密钥,并根据第一密钥、第二密钥和目标地址段生成第三密钥。
43.具体而言,芯片在根据目标地址段从芯片的内部存储器中调取与目标地址段对应的第一密钥后,可以获取第二密钥,采用混合解密的方法,根据第一密钥、第二密钥和目标地址段生成第三密钥,第三密钥随用随销,不会写入闪存存储器或者芯片的内部存储器中。
44.在一个例子中,用户可以向芯片输入第二密钥,芯片在收到输入的第二密钥后,根据第一密钥、第二密钥和目标地址段生成第三密钥。
45.步骤303,基于第三密钥对目标地址段存储的信息进行解密,还原出目标地址段存储的信息对应的目标数据。
46.在具体实现中,芯片生成第三密钥后,可以基于第三密钥对目标地址段存储的信息进行解密,还原出目标地址段存储的信息对应的目标数据。
47.在一个例子中,芯片可以对第三密钥和目标地址段存储的信息进行预设的逆数学运算,获取逆数学运算的运算结果,芯片将逆数学运算的运算结果作为目标地址段存储的信息对应的目标数据,其中,预设的逆数学运算为加密时使用的数学运算的逆运算。
48.在一个实施例中,芯片根据目标地址段和芯片的内部存储器中存储的目标地址段与第一密钥的对应关系,从芯片的内部存储器中调取与目标地址段对应的第一密钥,可以通过如图4所示的各步骤实现,具体包括:步骤401,根据目标地址段和预设的加密标准,判断目标地址段存储的信息是否为密文信息,如果是,执行步骤403,否则,执行步骤402。
49.步骤402,直接读取目标地址段存储的信息。
50.步骤403,根据目标地址段和芯片的内部存储器中存储的目标地址段与第一密钥的对应关系,从内部存储器中调取与目标地址段对应的第一密钥。
51.具体而言,芯片在获取闪存存储器中的目标地址段后,可以根据目标地址段和预设的加密标准,判断目标地址段存储的信息是否为密文信息,如果目标地址段存储的信息不是密文信息,芯片则可以直接读取目标地址段存储的信息;如果目标地址段存储的信息是密文信息,芯片则需要根据目标地址段和芯片的内部存储器中存储的目标地址段与第一密钥的对应关系,从内部存储器中调取与目标地址段对应的第一密钥,再获取第二密钥,根据第一密钥、第二密钥和目标地址段生成第三密钥,最后基于第三密钥对目标地址段存储的信息进行解密,还原出目标地址段存储的信息对应的目标数据。
52.本技术的另一个实施例涉及一种解密方法,应用于芯片,芯片需要从闪存存储器中读取的目标数据为目标程序,下面对本实施例的解密方法的实现细节进行具体的说明,
以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
53.本实施例的解密方法的具体流程可以如图5所示,包括:步骤501,获取闪存存储器中的目标地址段,根据目标地址段和芯片的内部存储器中存储的目标地址段与第一密钥的对应关系,从内部存储器中调取与目标地址段对应的第一密钥。
54.步骤502,获取第二密钥,并根据第一密钥、第二密钥和目标地址段生成第三密钥。
55.步骤503,基于第三密钥对目标地址段存储的信息进行解密,还原出目标地址段存储的信息对应的目标程序。
56.步骤504,从闪存存储器中读出目标程序,并执目标程序,或者,直接通过xip方式,在闪存存储器中执行目标程序。
57.在具体实现中,芯片还原出目标地址段存储的信息对应的目标程序之后,可以从闪存存储器中读出目标程序,并执目标程序,或者,直接通过xip方式,在闪存存储器中执行目标程序。
58.本实施例,允许通过xip的方式直接在闪存存储器中执行程序,可以节约芯片的中央处理器的功耗、节约芯片的中央处理器的计算资源。
59.上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
60.本技术的另一个实施例涉及一种芯片,下面对本实施例的芯片的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须,本实施例的芯片的示意图可以如图6所示,芯片61包括中央处理器611、内部存储器612、闪存存储器控制模块613和闪存存储器接口614,为了方便介绍,图6中还是示出了闪存存储器62。
61.闪存存储器接口614用于连接闪存存储器62。
62.在加密过程中:中央处理器611用于获取需要写入闪存存储器62的目标数据,并确定目标数据需要写入的地址段。
63.闪存存储器控制模块613用于根据所述地址段从芯片的内部存储器612中存储的第一密钥集中确定第一密钥,将第一密钥与所述地址段之间的对应关系写入内部存储器612,获取第二密钥,根据第一密钥、第二密钥和所述地址段生成第三密钥,基于第三密钥对目标数据进行加密,生成目标数据对应的密文信息,并将密文信息写入闪存存储器62。
64.在解密过程中:中央处理器611用于获取闪存存储器62中的目标地址段。
65.闪存存储器控制模块613用于根据目标地址段和芯片的内部存储器612中存储的所述目标地址段与第一密钥的对应关系,从内部存储器612中调取与目标地址段对应的第一密钥,获取第二密钥,根据第一密钥、第二密钥和目标地址段生成第三密钥,基于第三密钥对目标地址段存储的信息进行解密,还原出目标地址段存储的信息对应的目标数据。
66.值得一提的是,本实施例中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元
的组合实现。此外,为了突出本技术的创新部分,本实施例中并没有将与解决本技术所提出的技术问题关系不太密切的单元引入,但这并不表明本实施例中不存在其它的单元。
67.本技术另一个实施例涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
68.即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory ,简称:rom)、随机存取存储器(random access memory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质,还包括flash、eeprom等非易失性存储器(non-volatile memory)。
69.本领域的普通技术人员可以理解,上述各实施例是实现本技术的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本技术的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献