System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
与本公开的作为例子的实施方式整合的系统、方法以及计算机可读记录介质涉及用于密码操作的动态优化的系统、方法以及计算机可读记录介质。
技术介绍
1、密码操作可以指为了使用密码算法来进行数据加密、认证以及数字签名而被执行的操作。在现有技术中,密码操作可以事先被配置为完全在软件、硬件或软件与硬件的组合中被执行
2、然而,现有技术中的用于执行密码操作的上述的手段(approach)可能至少具有以下的缺点。
3、在几个系统中,可能存在几个密码操作在硬件中比在软件中更快速地被执行的情况,也可能存在与该情况相反的情况。例如,在提供几个被集成的硬件加速器、硬件特征(hardware features)以及支持功能(support capabilities)的片上系统(soc:system onchip)中,soc的各硬件特征可以基于关联的硬件的不同的条件和功能以不同的时钟速度执行操作。因此,这样的soc中的大量的数据的加密等计算密集的密码操作(computationallyintensive cryptographic operations)可能在硬件中被执行时比在软件中被执行时慢。
4、因此,需要通过动态地决定是否在软件、硬件或软件与硬件的组合中的哪一个中执行密码操作来动态地优化密码操作。
技术实现思路
1、本公开的示例性的实施方式通过动态地决定是否在软件、硬件或软件与硬件的组合中的哪一个中执行密码操作来动态地优化密码操作。因此,本公开的示例性的实施方式提高了密
2、根据实施方式,提供一种系统。系统可以包括:存储储存器,存储计算机能执行的指令;以及至少一个处理器,以能通信的方式耦合到存储储存器,至少一个处理器可以被配置为执行用于以下处理的指令:决定用于在系统的软件、系统的硬件以及软件与硬件的组合中执行一种或多种密码操作的时间量;以及针对一种或多种密码操作中的每一种,基于用于执行一种或多种密码操作中的各一种的决定出的时间量,来决定一种或多种密码操作中的各一种应该在软件、硬件或软件与硬件的组合中的哪一个中被执行。
3、根据实施方式,一种或多种密码操作可以包括执行加密算法的密码操作、执行解密算法的密码操作、执行散列算法的密码操作、执行密钥导出算法的密码操作以及执行生成算法的密码操作。
4、根据实施方式,时间量可以是对于多个大小的输入数据,针对一种或多种密码操作中的每一种而被决定的。
5、根据实施方式,至少一个处理器可以被配置为执行用于通过以下处理来决定一种或多种密码操作中的各一种应该在软件、硬件或软件与硬件的组合中的哪一个中被执行的指令:对于多个大小的输入数据中的每一个,针对一种或多种密码操作中的每一种,将第一时间量、第二时间量以及第三时间量进行比较,其中,该第一时间量是用于在系统的软件中执行一种或多种密码操作中的各一种的时间量,该第二时间量是用于在硬件中执行一种或多种密码操作中的各一种的时间量,该第三时间量是用于在软件与硬件的组合中执行一种或多种密码操作中的各一种的时间量;以及对于多个大小的输入数据中的每一个,针对一种或多种密码操作中的每一种,基于第一时间量、第二时间量以及第三时间量中的哪一个具有最低值,来决定一种或多种密码操作中的各一种应该在软件、硬件或软件与硬件的组合中的哪一个中被执行。
6、根据实施方式,至少一个处理器还可以被配置为执行用于以下处理的指令:存储一种或多种密码操作中的各一种应该在软件、硬件或软件与硬件的组合中的哪一个中被执行的决定的结果。
7、根据实施方式,至少一个处理器还可以被配置为执行用于以下处理的指令:至少基于密码操作的种类、输入数据的大小以及存储的结果,决定是否在软件、硬件或软件与硬件的组合中的哪一个中执行密码操作。
8、根据实施方式,至少一个处理器还可以被配置为执行用于以下处理的指令:在可信执行环境(tee:trusted execution environment)下,在软件、硬件或软件与硬件的组合中执行密码操作。
9、根据实施方式,提供一种方法。方法可以包括:决定用于在系统的软件、系统的硬件以及软件与硬件的组合中执行一种或多种密码操作的时间量;以及针对一种或多种密码操作中的每一种,基于用于执行一种或多种密码操作中的各一种的决定出的时间量,来决定一种或多种密码操作中的各一种应该在软件、硬件或软件与硬件的组合中的哪一个中被执行。
10、根据实施方式,一种或多种密码操作可以包括执行加密算法的密码操作、执行解密算法的密码操作、执行散列算法的密码操作、执行密钥导出算法的密码操作以及执行生成算法的密码操作。
11、根据实施方式,时间量可以是对于多个大小的输入数据,针对一种或多种密码操作中的每一种而被决定的。
12、根据实施方式,决定一种或多种密码操作中的各一种应该在软件、硬件或软件与硬件的组合中的哪一个中被执行的处理可以包括:对于多个大小的输入数据中的每一个,按一种或多种密码操作中的每一种,将第一时间量、第二时间量以及第三时间量进行比较,其中,该第一时间量是用于在系统的软件中执行一种或多种密码操作中的各一种的时间量,该第二时间量是用于在硬件中执行一种或多种密码操作中的各一种的时间量,该第三时间量是用于在软件与硬件的组合中执行一种或多种密码操作中的各一种的时间量;以及对于多个大小的输入数据中的每一个,针对一种或多种密码操作中的每一种,基于第一时间量、第二时间量以及第三时间量中的哪一个具有最低值,来决定一种或多种密码操作中的各一种应该在软件、硬件或软件与硬件的组合中的哪一个中被执行。
13、根据实施方式,方法还可以包括:存储一种或多种密码操作中的各一种是否应该在软件、硬件或软件与硬件的组合中的哪一个中被执行的决定的结果。
14、根据实施方式,方法还可以包括:至少基于密码操作的种类、输入数据的大小以及存储的结果来决定是否在软件、硬件或软件与硬件的组合中的哪一个中执行密码操作。
15、根据实施方式,方法还可以包括:在可信执行环境(tee)下,在软件、硬件或所述软件与硬件的组合中执行密码操作。
16、根据实施方式,提供一种非暂时性计算机可读记录介质。非暂时性计算机可读记录介质记录有能由系统的至少一个处理器执行的指令,该指令使至少一个处理器执行包括以下处理的方法:决定用于在系统的软件、系统的硬件以及软件与硬件的组合中执行一种或多种密码操作的时间量;以及针对一种或多种密码操作中的每一种,基于用于执行一种或多种密码操作中的各一种的所述决定出的时间量,来决定一种或多种密码操作中的各一种应该在软件、硬件或软件与硬件的组合中的哪一个中被执行。
17、根据实施方式,一种或多种密码操作可以包括执行加密算法的密码操作、执行解密算法的密码操作、执行散列算法的密码操作、执行密钥导出算法的密码操作以及执行生成算法的密码操作。
18、根据实施方式,时间量可以是对于多个大小的输入本文档来自技高网...
【技术保护点】
1.一种系统,具备:
2.根据权利要求1所述的系统,其中,
3.根据权利要求1或2所述的系统,其中,
4.根据权利要求3所述的系统,其中,
5.根据权利要求1至4中任一项所述的系统,其中,
6.根据权利要求1至5中任一项所述的系统,其中,
7.根据权利要求1至6中任一项所述的系统,其中,
8.一种方法,包括:
9.根据权利要求8所述的方法,其中,
10.根据权利要求8或9所述的方法,其中,
11.根据权利要求10所述的方法,其中,
12.根据权利要求8至11中任一项所述的方法,还包括:
13.根据权利要求8至12中任一项所述的方法,还包括:
14.根据权利要求8至13中任一项所述的方法,还包括:
15.一种非暂时性计算机可读记录介质,记录有能由至少一个处理器执行的指令,其中,
16.根据权利要求15所述的非暂时性计算机可读记录介质,其中,
17.根据权利要求15或16所述的非暂时性计算机可读
18.根据权利要求17所述的非暂时性计算机可读记录介质,其中,
19.根据权利要求15至18中任一项所述的非暂时性计算机可读记录介质,所述方法还包括:
20.根据权利要求15至19中任一项所述的非暂时性计算机可读记录介质,所述方法还包括:
...【技术特征摘要】
1.一种系统,具备:
2.根据权利要求1所述的系统,其中,
3.根据权利要求1或2所述的系统,其中,
4.根据权利要求3所述的系统,其中,
5.根据权利要求1至4中任一项所述的系统,其中,
6.根据权利要求1至5中任一项所述的系统,其中,
7.根据权利要求1至6中任一项所述的系统,其中,
8.一种方法,包括:
9.根据权利要求8所述的方法,其中,
10.根据权利要求8或9所述的方法,其中,
11.根据权利要求10所述的方法,其中,
12.根据权利要求8至11中任一项所述的方法,还包括:
13.根...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。