CN107516053A - 针对主控芯片ps2251的数据加密方法 - Google Patents
针对主控芯片ps2251的数据加密方法 Download PDFInfo
- Publication number
- CN107516053A CN107516053A CN201710740765.2A CN201710740765A CN107516053A CN 107516053 A CN107516053 A CN 107516053A CN 201710740765 A CN201710740765 A CN 201710740765A CN 107516053 A CN107516053 A CN 107516053A
- Authority
- CN
- China
- Prior art keywords
- byte
- value
- round key
- byte stream
- key
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
Abstract
本发明公开了针对主控芯片PS2251的数据加密方法,其特征在于,利用第一密钥对轮密钥赋初值,明文字节流与轮密钥字节流之间的每一对应字节各个进行异或运算,输出异或运算的结果作为密文字节流;轮密钥字节流的每一字节乘以2以生成新的轮密钥字节流,下一明文字节流与新生成的轮密钥字节流之间的每一对应字节各个进行异或运算并输出异或运算的结果作为密文字节流;如果完成一页的加密,将第一密钥值重新赋给轮密钥,轮密钥字节流左移一字节,并从第二密钥字节流中选取一字节的值填充至轮密钥字节流的最右侧字节中,以组成新的轮密钥字节流,并进行下一页的加密,直至完成存储设备的数据加密。
Description
技术领域
本发明属于数据加密和解密领域,涉及针对NAND-Flash的数据加密方法,尤其涉及针对主控芯片PS2251的数据加密方法。
背景技术
NAND-Flash内存是Flash内存的一种,其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。NAND-Flash存储器具有容量较大,改写速度快等优点,适用于大量数据的存储,因而在业界得到了越来越广泛的应用,如嵌入式产品中包括数码相机、MP3随身听记忆卡、体积小巧的U盘等。
由于NAND-Flash存储设备里存放了重要数据,因此,绝大多数用户会对所存储的数据进行加密,但由于用户忘记密码或者在案件的侦破过程中需要读取其中的数据,此时,由于没有密码,数据无法读取;而NAND-Flash存储设备的生产厂商往往不会公布加密/解密的方法,现有技术中也没有针对NAND-Flash存储设备的加密/解密方法,尤其是针对主控芯片为PS2251的NAND-Flash存储设备,现有技术中尚无对数据加密/解密方法,因而造成数据的丢失。
发明内容
本发明针对现有技术的不足和上述问题,提出了针对主控芯片PS2251的数据加密方法,利用第一密钥对轮密钥赋初值,明文字节流与轮密钥字节流之间的每一对应字节各个进行异或运算,输出异或运算的结果作为密文字节流;轮密钥字节流的每一字节乘以2以生成新的轮密钥字节流,下一明文字节流与新生成的轮密钥字节流之间的每一对应字节各个进行异或运算并输出异或运算的结果作为密文字节流;如果完成一页的加密,将第一密钥值重新赋给轮密钥,轮密钥字节流左移一字节,并从第二密钥字节流中选取一字节的值填充至轮密钥字节流的最右侧字节中,以组成新的轮密钥字节流,并进行下一页的加密,直至完成存储设备的数据加密;通过本发明提出的加密方法,达到加密数据的目的;由于解密是加密的逆向操作,因此,可以对加密的数据进行解密操作;所述加密方法包括以下步骤:
S001:对轮密钥赋初值:将第一密钥的值赋给所述轮密钥;
S002:明文字节流与所述轮密钥字节流之间的每一对应字节各个进行异或运算;
S003:输出所述异或运算的结果作为密文字节流;
S004:判断是否完成页加密,如果是,执行步骤S010,否则执行步骤S005;
S005:所述轮密钥字节流的每一字节乘以2;
S006:判断所述每一字节乘以2的值是否大于0xFF,如果是,执行步骤S008,否则执行步骤S007;
S007:所述值各自替代原来的值以组成新的轮密钥字节流;
S008:所述值的高字节的值与低字节的值相加,所述相加的值各自替代原来的值以组成新的轮密钥字节流;
S009:下一明文字节流与当前轮密钥字节流之间的每一对应字节各个进行异或运算,并执行步骤S003;
S010:判断是否完成块加密,如果是,执行步骤S013,否则执行步骤S011;
S011:将所述第一密钥值赋给所述轮密钥,所述轮密钥字节流左移一字节;
S012:从第二密钥字节流中选取一字节的值填充至所述轮密钥字节流的最右侧字节中,以组成新的轮密钥字节流,执行步骤S009;
S013:判断是否完成存储设备的加密,如果是,结束流程,否则执行步骤S001。
作为优选,所述明文字节流与所述轮密钥字节流的字节长度相等。
作为优选,所述存储设备的主控芯片为PS2251,所述存储设备由多个所述块组成,每一所述块由256页组成,每一所述页具有相同的页结构及相同的字节长度。
作为优选,所述步骤S012中,可以从所述第二密钥字节流中以任意方法选取一字节的值,并确保在每一所述块的加密过程中,每次在所述第二密钥中所取值的地址各不相同。
作为优选,所述第二密钥字节流的字节长度的值等于所述块包含的页数256。
本发明的有益效果是解决了现有技术中尚无针对主控芯片PS2251的数据加密/解密方法的问题,实现了对此类NAND-Flash存储设备的数据加密/解密。
附图说明
图1为本发明的流程图;
图2为本发明的实施例中加密方法及过程的示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步阐述。
本实施例中,选用主控芯片型号为PS2251的NAND-Flash的U盘作为存储加密数据的存储设备,该U盘由多个块组成,每一块由256页组成,每一页具有相同的页结构和字节长度,每一页包含8个数据区,每个数据区的字节长度为0x400。
如图1所示,针对主控芯片PS2251的数据加密方法,包括以下步骤:
S001:对轮密钥赋初值:如图2所示,本实施例中,假设第一密钥的值为0x3A0920……,且字节长度与明文字节流的字节长度相等,均为0x400,将该第一密钥的值0x3A0920……赋给轮密钥1;
S002:如图2所示,数据区存储的明文字节流1与轮密钥1字节流之间的每一对应字节各个进行异或运算;
S003:如图2所示,输出异或运算的结果作为密文字节流1,并将该密文字节流1覆盖明文字节流1的内容;
S004:判断是否完成页加密,如果是,执行步骤S010,否则执行步骤S005;
S005:当前轮密钥字节流的每一字节乘以2:如图2所示,例如,将轮密钥1的值0x3A0920……的每一字节乘以2,结果为0x711240……;
S006:判断每一字节乘以2的值是否大于0xFF,如果是,执行步骤S008,否则执行步骤S007;
S007:如图2所示,用0x711240……替代原来的值以组成轮密钥2字节流;
S008:乘以2的值的高字节的值与低字节的值相加,相加的值各自替代原来的值以组成新的轮密钥字节流:如图2所示,例如,以轮密钥3字节流0xE82480……为例,其首字节为0xE8,乘以2等于0x01D0,将高字节的值0x01与低字节的值0xD0相加后等于0xD1,同理,其第三字节为0x80,乘以2等于0x0100,将高字节的值0x01与低字节的值0x00相加后等于0x01,其余字节的操作以此类推,将0xD1、0x01…..等替代原来的值0xE8、0x80……,以组成轮密钥4字节流0xD14801……;
S009:如图2所示,下一明文字节流与当前轮密钥字节流之间的每一对应字节各个进行异或运算,并执行步骤S003;
S010:判断是否完成块加密,即,如果完成256页的加密,则完成块加密,如果是,执行步骤S013,否则执行步骤S011;
S011:将第一密钥值0x3A0920……重新赋给轮密钥1,轮密钥1字节流左移一字节后生成的值为0x9020……;
S012:从第二密钥字节流中选取一字节的值填充至轮密钥1字节流0x9020……的最右侧字节中,用以填充左移后轮密钥1字节流0x9020……的最右侧的字节,并组成新的轮密钥字节流,执行步骤S009;此步骤中,可以从第二密钥字节流中以任意方法选取一字节的值,并确保在每一块的加密过程中,每次在所述第二密钥中所取值的地址各不相同;
此外,第二密钥字节流的字节长度的值等于存储设备的每一块所包含的页数256,即,0xFF。
S013:判断是否完成存储设备的加密,如果是,结束流程,否则执行步骤S001。
应当理解的是,本发明不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (5)
1.针对主控芯片PS2251的数据加密方法,其特征在于包括以下步骤:
S001:对轮密钥赋初值:将第一密钥的值赋给所述轮密钥;
S002:明文字节流与所述轮密钥字节流之间的每一对应字节各个进行异或运算;
S003:输出所述异或运算的结果作为密文字节流;
S004:判断是否完成页加密,如果是,执行步骤S010,否则执行步骤S005;
S005:所述轮密钥字节流的每一字节乘以2;
S006:判断所述每一字节乘以2的值是否大于0xFF,如果是,执行步骤S008,否则执行步骤S007;
S007:所述值各自替代原来的值以组成新的轮密钥字节流;
S008:所述值的高字节的值与低字节的值相加,所述相加的值各自替代原来的值以组成新的轮密钥字节流;
S009:下一明文字节流与当前轮密钥字节流之间的每一对应字节各个进行异或运算,并执行步骤S003;
S010:判断是否完成块加密,如果是,执行步骤S013,否则执行步骤S011;
S011:将所述第一密钥值赋给所述轮密钥,所述轮密钥字节流左移一字节;
S012:从第二密钥字节流中选取一字节的值填充至所述轮密钥字节流的最右侧字节中,以组成新的轮密钥字节流,执行步骤S009;
S013:判断是否完成存储设备的加密,如果是,结束流程,否则执行步骤S001。
2.根据权利要求1所述的针对主控芯片PS2251的数据加密方法,其特征在于,所述明文字节流与所述轮密钥字节流的字节长度相等。
3.根据权利要求2所述的针对主控芯片PS2251的数据加密方法,其特征在于,所述存储设备的主控芯片为PS2251,所述存储设备由多个所述块组成,每一所述块由256页组成,每一所述页具有相同的页结构及相同的字节长度。
4.根据权利要求3所述的针对主控芯片PS2251的数据加密方法,其特征在于,所述步骤S012中,可以从所述第二密钥字节流中以任意方法选取一字节的值,并确保在每一所述块的加密过程中,每次在所述第二密钥中所取值的地址各不相同。
5.根据权利要求4所述的针对主控芯片PS2251的数据加密方法,其特征在于,所述第二密钥字节流的字节长度的值等于所述块包含的页数256。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710740765.2A CN107516053B (zh) | 2017-08-25 | 2017-08-25 | 针对主控芯片ps2251的数据加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710740765.2A CN107516053B (zh) | 2017-08-25 | 2017-08-25 | 针对主控芯片ps2251的数据加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107516053A true CN107516053A (zh) | 2017-12-26 |
CN107516053B CN107516053B (zh) | 2020-05-15 |
Family
ID=60724027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710740765.2A Active CN107516053B (zh) | 2017-08-25 | 2017-08-25 | 针对主控芯片ps2251的数据加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107516053B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427764A (zh) * | 2019-07-31 | 2019-11-08 | 四川效率源信息安全技术股份有限公司 | 一种针对主控芯片的数据解密方法 |
CN110427765A (zh) * | 2019-07-31 | 2019-11-08 | 四川效率源信息安全技术股份有限公司 | 一种生成固态硬盘中用户数据密钥的方法 |
CN110443053A (zh) * | 2019-07-31 | 2019-11-12 | 四川效率源信息安全技术股份有限公司 | 一种基于密钥循环表及映射表的密钥生成方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1761185A (zh) * | 2005-11-18 | 2006-04-19 | 清华大学 | 乱序执行的数据流aes加密电路结构 |
US20150006905A1 (en) * | 2013-06-27 | 2015-01-01 | Qualcomm Incorporated | Method and Apparatus to Encrypt Plaintext Data |
CN106027227A (zh) * | 2016-07-01 | 2016-10-12 | 浙江工业大学 | 一种费马数数论变换与safer密码算法相结合的分组加密方法 |
-
2017
- 2017-08-25 CN CN201710740765.2A patent/CN107516053B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1761185A (zh) * | 2005-11-18 | 2006-04-19 | 清华大学 | 乱序执行的数据流aes加密电路结构 |
US20150006905A1 (en) * | 2013-06-27 | 2015-01-01 | Qualcomm Incorporated | Method and Apparatus to Encrypt Plaintext Data |
CN106027227A (zh) * | 2016-07-01 | 2016-10-12 | 浙江工业大学 | 一种费马数数论变换与safer密码算法相结合的分组加密方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427764A (zh) * | 2019-07-31 | 2019-11-08 | 四川效率源信息安全技术股份有限公司 | 一种针对主控芯片的数据解密方法 |
CN110427765A (zh) * | 2019-07-31 | 2019-11-08 | 四川效率源信息安全技术股份有限公司 | 一种生成固态硬盘中用户数据密钥的方法 |
CN110443053A (zh) * | 2019-07-31 | 2019-11-12 | 四川效率源信息安全技术股份有限公司 | 一种基于密钥循环表及映射表的密钥生成方法 |
CN110427764B (zh) * | 2019-07-31 | 2022-11-04 | 四川效率源信息安全技术股份有限公司 | 一种针对主控芯片的数据解密方法 |
CN110427765B (zh) * | 2019-07-31 | 2023-02-03 | 四川效率源信息安全技术股份有限公司 | 一种生成固态硬盘中用户数据密钥的方法 |
CN110443053B (zh) * | 2019-07-31 | 2023-03-14 | 四川效率源信息安全技术股份有限公司 | 一种基于密钥循环表及映射表的密钥生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107516053B (zh) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107516053A (zh) | 针对主控芯片ps2251的数据加密方法 | |
TW532027B (en) | Data processing device, data processing method and content providing media | |
KR102608961B1 (ko) | 장치 의존적 암호화 방법과 이를 수행하는 장치 | |
CN104704768B (zh) | 用于从用作物理不可克隆功能的存储器中生成密码密钥的系统 | |
CN106688027A (zh) | 依赖puf和地址的数据加密 | |
JP6182132B2 (ja) | メモリスタートアップ時のノイズに基づいた乱数生成システム | |
JP4780304B2 (ja) | 半導体メモリおよびデータアクセス方法 | |
CN107156917A (zh) | 电子烟烟弹加密芯片、烟弹及电子烟 | |
CN108229215A (zh) | 一种地址加扰的存储装置及方法 | |
CN108599930A (zh) | 固件加解密系统与方法 | |
CN108449172A (zh) | 输入/输出数据加密 | |
CN102012993A (zh) | 一种数据选择加密解密方法及装置 | |
JP2005505069A5 (zh) | ||
CN207151945U (zh) | 电子烟烟弹加密芯片、烟弹及电子烟 | |
WO2013031270A1 (en) | Authenticator, authenticatee and authentication method | |
CN103914662A (zh) | 一种基于分区的文件加密系统的访问控制方法和装置 | |
CN103916840A (zh) | 一种移动设备和外接设备进行绑定和校验的方法 | |
JP2019500798A5 (zh) | ||
CN102346820A (zh) | 一种保密数据存储方法及装置 | |
CN110213050A (zh) | 密钥生成方法、装置及存储介质 | |
CN114444140A (zh) | 存储器中的不可复制函数应用 | |
CN105159611B (zh) | 一种具有数据抽取加密功能的微控制器芯片 | |
CN106326690B (zh) | 密钥保护装置及密钥保护方法 | |
US9531535B2 (en) | Secure memories using unique identification elements | |
JP2006524006A5 (zh) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 |