AES加密在嵌入式数据库SQLite中的应用.pdf
《AES加密在嵌入式数据库SQLite中的应用.pdf》由会员分享,可在线阅读,更多相关《AES加密在嵌入式数据库SQLite中的应用.pdf(5页珍藏版)》请在咨信网上搜索。
1、Application of AES Encryption in SQLite Embedded DatabaseZHAI Yu,WU Liming,WANG Xiang,WANG Shujuan,DONG Qining(North Automatic Control Technology Institude,Taiyuan 030006,China)Abstract:SQLite,as a lightweight embedded database,has been widely used in embedded devicesof armored vehicles,but it does
2、not have data encryption function.In order to ensure data security,amethod of encrypting SQLite files with AES encryption algorithm is proposed.At the same time,inorder to adapt to the embedded environment,the standard AES algorithm is improved in two aspects:simplified S-box and unordered shiftrow.
3、The test results in SQLite show that lightweight AES hasbetter performance in encryption time,storage space and avalanche effects:The lightweight AES is 8%faster than that of the standard AES,17%faster than that of 3DES,the memory occupation is 17.8%lighter than that of the standard AES,27%lighter t
4、han that of 3DES,and the avalanche effect isincreased by 1%,providing an efficient scheme for embedded device database security.Key words:AES encryption algorithm;lightweight;embedded database;SQLiteCitation format:ZHAI Y,WU L M,WANG X,et al.Application of AES encryption in SQLiteembedded database J
5、.Fire Control&Command Control,2023,48(6):97-101.0引言随着坦克装甲车辆的信息化发展,其各个分系统及嵌入式设备产生的数据量越来越大。以火控系统为例,包括武器状态信息、发控信息、目标信息等。这些大量数据需要专门的嵌入式数据库进行管理。SQLite 作为嵌入式平台数据储存的主要方式,具有体量小、可移植性高、管理简单、状态回滚方便等特点。然而 SQLite 没有用户管理与加密功能,这意味着数据库文件对所有人开放,都可以轻松用工具查看。对于重要的军用设备,这种开放的文件存在信息安全隐患。加密一直是最受欢迎的信息安全解决方案之一,在数据安全中发挥着重要作用,
6、加密算法研究具有重要意义。收稿日期:2022-08-15修回日期:2022-09-21作者简介:翟禹(1997),男,四川南充人,硕士研究生。研究方向:系统工程。摘要:SQLite 作为一款轻量级嵌入式数据库已广泛应用于装甲车辆各嵌入式设备中,但其不具备数据加密功能。为保证数据安全,提出了 AES 加密算法对 SQLite 文件进行加密的方法。同时,为适配嵌入式环境,对标准 AES 算法进行简化 S 盒与无序行移位两方面改进。在 SQLite 的测试结果表明,轻量化 AES 在加密时间、存储空间、雪崩效应上有更好的表现:轻量化 AES 比标准 AES 快 8%,比 3DES 快 17%,内存占
7、用比标准 AES 轻 17.8%,比 3DES 轻27%,雪崩效应提高 1%.为嵌入式设备数据库安全提供了一个高效方案。关键词:AES 加密算法;轻量化;嵌入式数据库;SQLite中图分类号:TP309.7文献标识码:ADOI:10.3969/j.issn.1002-0640.2023.06.015引用格式:翟禹,武黎明,王祥,等.AES 加密在嵌入式数据库 SQLite 中的应用 J.火力与指挥控制,2023,48(6):97-101.AES 加密在嵌入式数据库 SQLite 中的应用翟禹,武黎明,王祥,王淑娟,董祺宁(北方自动控制技术研究所,太原030006)文章编号:1002-0640(
8、2023)06-0097-05Vol.48,No.6Jun,2023火 力 与 指 挥 控 制Fire Control&Command Control第 48 卷第 6 期2023 年 6 月97(总第 48-)火 力 与 指 挥 控 制2023 年第 6 期DAEMEN J 和 RIJMEN V 创建了 Rijndael 算法。Rijndael 算法于 2001 年被美国国家标准与技术研究院(NIST)选为高级加密标准(advanced encryp-tion standard,AES)1。AES 方法是一种对称分组密码,使用替换-排列网络(SPN)具有速度快,安全级别高的优势2。PATIL
9、 S,PATIL R 并行应用了 AES算法3。对于计算成本高昂的数据加密,例如音频、视频和图像数据加密,AES 算法运行缓慢。因此,通过采用并行处理,能够克服处理缓慢的缺点。TAHIR A S 为图像加密开发了修改版 AES,通过更改行移位阶段,以提高安全性4。修改版 AES 更安全,并且在测试后实现了针对统计攻击的安全结果。JUREMI J 等提出了一个名为行列式旋转的新阶段,通过使用行列式矩阵计算为每轮生成不同的 S盒来实现 AES 的 S 盒位置的旋转5。通过随机性试验和雪崩试验,证明了此方法获得了高随机性和高安全性。RIYALDHIA R 等提出了一种通过修改 S 盒和行移位来改进
10、AES 算法的方法6。经过测试,所提出的改进 AES 算法比原来的 AES 减少了 3 滋s 的执行时间。NAZIRI 等在 S 盒架构中设计了乘法逆,限制了储存器减轻了储存占用7。何文才等在安卓平台开启多线程与计算器模式,使得 SQLite 的加密速率提升了 23.5%8。冷飞等提出融合 RSA 与 AES算法,降低了密钥的管理复杂度9。费雄伟等引入统一计算架构平台,实现 AES 并行计算,提高了加密速度10。张诗永等提出 256 位分组来构造新算法,增强了 AES 算法的计算性能11。嵌入式设备计算资源有限、存储空间狭小,若使用标准的 AES 存在处理速度慢、数据传输时间长等缺陷。基于以上
11、分析,对 AES 算法进行了轻量化的改进策略,在保证安全性的同时,加快 AES 算法的进程。实验结果表明,本文设计的轻量化 AES 算法高效轻便,在 SQLite 文件加密中表现优秀。1标准 AESAES 是一种分组密码,使用对称密钥进行加密和解密过程。明文大小等于 128 位(相当于 16 字节),而密钥大小可以分为 128、192 或 256 位。AES算法中有轮次(迭代),总回合数由密钥的大小决定,如表 1 所示。具体由 4 个阶段组成,分别是字节代替(Sub-Byte),行移位(ShiftRow),列混淆(MixColumn)和轮密钥加(AddRoundKey)阶段。这些阶段以顺序形式
12、执行,并在状态数组(44 字节)上作为轮次运行。明文在加密过程中作为参数通过这些轮次传递,如图 1 所示的 4 个阶段12-13。图 1AES 算法结构Fig.1Structure of AES algorithm1)字节代替:是一个非线性字节替换函数,独立地对状态数组的每个字节进行操作,并基于有限域 GF(28)中的乘法反转。即查 S 盒,替换字节,S 盒如图 2 所示。图 2S 盒Fig.2S-box2)行移位:状态中有 4 行。第 1 行不受影响(未移位),第 2 行向左移动 1 个字节,第 3 行向左移动2 个字节,第 4 行向左移动 3 个字节。3)列混淆:此阶段使用逐列操作状态,每
13、列被视为 GF(28)上的 4 项多项式,并乘以固定多项式a(x)x4+1。列混淆使用式(1)计算:(1)表 1AES 算法规范Table 1Specification of AES algorithm名字明文分组长度/Bit 密钥长度/Bit迭代轮次AES-12812812810AES-19612819212AES-25612825614981052(总第 48-)4)轮密钥加:对 128 位的状态按位与 128 的轮密钥 XOR 操作,即按位异或14-15。2改进的轻量级 AES 算法本文所提出的轻量化 AES 算法改进了前两个阶段:字节代替和行移位阶段,从而改善了加密和解密过程。此外,回
14、合数缩短至 4 轮。2.1轻量化字节代替改进的字节代替阶段使用替换表而不是标准AES 算法的 S 盒。替换表由两个条目组成;第 1 个条目具有以 0 值开头并以 F 值结束的升序形式的十六进制数字,第 2 个条目具有以 F 值开头并以 0值结束的降序形式的十六进制数字,如表 2 所示。表 2轻量化替换表Table 2Lightweight replacement table状态数组中的每个字节分为两位数(每个数字用十六进制表示)。在字节代替阶段,字节的每个数字取决于替换表,该替换表在第 1 个条目中搜索状态的第 1 个字节(字节由两位数组成),并从第 2 个条目中获取相应的字节。例如,假设以下
15、状态数组,状态的第 1 个字节等于(FF),则替换为(00)。经过轻量化替代后结果如下,如图 3 所示。图 3轻量化字节代替Fig.3Replacement with lightweight byte此外,由于轻量化替换表存在线性关系,其逆操作逆字节代替也用同一张表,加密解密均节省了存储空间,替换表的大小为 16,等于 32 字节,S盒由 1616 字节组成,等于 256 字节。此外,在搜索过程中更快(仅搜索 16 个条目)。算法 1 解释了轻量化字节代替阶段的步骤。2.2轻量化行移位在标准 AES 中,行移位阶段每次移位按特定编号执行,由状态数组中的行号确定的移动编号。轻量化后的行移位阶段通
16、过随机移位数对每一行执行循环移位。一维无序逻辑映射系统产生的随机移位数由等式(2)表示:(2)其中,X0表示起始状态,i 表示迭代次数,是系统控制参数。对于所有 i,Xi+1的值是介于 0 和 1 之间的数字,而控制参数的值在(0,3)范围内,具体取决于状态数组中的行数。由无序系统随机生成并排列在一个称为“移位数”的一维数组中,如表 3 所示。表 3行移位前状态Table 3Status before shift row状态数组中的每一行都向左移动,不同的移位值取决于随机移位数而不是标准 AES 算法中的固定移位值(行号)。轻量化行移位阶段如图 4 所示。图 4轻量化行移位Fig.4Light
17、weight shift row从图 4 中可以看出,移位数是变量值(不是固定值),排列由无序系统随机实现,以增加状态数组的排列。此外,在解密过程中,轻量化后的逆行移位阶段是通过使用相同的随机移位数向右移位状态数组来实现的。算法 2 解释的是修改移位行(MSR)阶段的步骤。3实验结果及分析本文在内存有限制的 Ubuntu 虚拟机上进行实验,模拟了嵌入式设备运行环境。创建了 mysqlite.db数据库文件,插入数据后,可用 sqlite3 命令行打开状态数组行号状态数组随机产生的移位数00043EB2B13E9CDBC5C214D12F64402553B89433算法 1:轻量化字节代替阶段输
18、入:状态数组、替换表输出:新状态数组开始For i=1 to 4For j=1 to 4字节块 栽=状态 i j;数值 1=字节块 栽 左边值;数值 2=字节块 栽 右边值;新数值 1=代替(轻量化替换表,数值 1);新数值 2=代替(轻量化替换表,数值 2);新字节块 栽=结合(新数值 1,新数值 2);新状态 i j=新字节块 栽;Next j;Next i;结束条目 1 0条目 2 FCB A9876A BC D54321EDE1F0翟禹等:AES 加密在嵌入式数据库 SQLite 中的应用991053(总第 48-)火 力 与 指 挥 控 制2023 年第 6 期3.1加密时间利用时间
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AES 加密 嵌入式 数据库 SQLite 中的 应用
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。