杂志的下一篇文章
轻量级物联网密码的安全性分析:Chaskey
下一篇特刊文章
混沌量子密钥分布
期刊上的上一篇文章
使用2-扭点优化CSIDH实现
上一篇特刊文章
基于One-Time Pad算法的单点登录的安全性和性能
 
 
订购文章重印
字体类型:
宋体 佐治亚州 宋体,Verdana
字体大小:
澳大利亚 澳大利亚 澳大利亚
行距:
列宽:
背景:
第条

一种新的强对称算法的实现及其优化

通过
Koki Jimbo公司
1,*,
伊里山聪
1
马西莫·雷戈利
2
1
东京科技大学信息科学系,2641 Yamazaki,Noda,Chiba 278-0022,Japan
2
意大利罗马托尔韦加塔理工大学工程学院DICII,邮编:100133
*
应向其寄送信件的作者。
收到日期:2020年6月4日/修订日期:2020年7月28日/接受日期:2020年7月28日/发布日期:2020年7月30日
(本文属于特刊2022年加密协议)

摘要

:
Accardi等人提出了一种新的公钥协议(PKA)算法,称为强非对称算法(SAA-5)。与通常的PKA算法的主要区别是Bob有一些独立的公钥,Alice使用Bob的部分公钥生成她的公钥。那么,制备和计算过程本质上是不对称的。与通常的对称PKA算法相比,该算法具有多个自由参数,计算速度在很大程度上取决于所选参数;然而,它的性能还没有经过测试。我们研究的目的是讨论SAA-5中高速共享密钥的有效参数,并从计算速度方面优化SAA-5。为了找到SAA-5的有效参数,我们将计算速度与Diffie–Hellman(D-H)进行了比较,同时在秘密共享密钥(SSK)长度固定的情况下改变了一些参数的值。为了优化,我们讨论了SAA-5的更通用框架,以找到更高效的操作。通过适当地固定框架的参数,产生了一种与SAA-5具有相同安全级别的新PKA算法。结果表明,该PKA算法的计算速度比D-H算法快,特别是对于较大的密钥长度。提出的PKA算法的计算速度随着SSK长度的增加而线性增加,而D-H则呈指数级增加。

1.简介

Diffie–Hellman(D-H)的发现[1]公钥协议(PKA)和RSA[2]非对称加密是数据保护文献中最伟大的两项成就。尽管发现这些算法已经有40多年了,但它们仍然不仅用于密钥协商,而且还用于各种场景(例如数字签名)以及ElGamal等算法[],椭圆曲线D-H[4]等。
然而,同时也产生了许多威胁。由于窃听者的计算能力最近有所提高,D-H或RSA的小密钥长度不再安全[5]. 即使对于较长的密钥,由于Shor针对整数因子分解问题和离散对数问题的量子算法,这些算法预计在不久的将来也会变得脆弱[6].
作为应对这些威胁的解决方案,现代PKA和非对称密码的研究得到了广泛的推广。基于多元多项式方程的算法[7,8]和格子[9,10]是最有名的。这些算法利用基于NP-hard问题的矩阵和安全性,例如求解多元二次多项式方程组的困难和最短向量问题的困难。2019年,NIST宣布26个公钥密码算法作为量子后加密系统标准化的候选算法[11]. 基于晶格的,如NewHope[12]和NTRU[13],以及基于多元多项式的数字签名算法,如GeMSS[14]包含在列表中。
在[15]Accardi等人提出了一种新的基于非交换代数的公钥协商方案,称为强非对称公钥协商(SAPKA)。由于该方案非常通用,我们需要具体的实现来估计计算复杂度和破坏复杂度。在[16]强非对称算法3(SAA-3)是SAPKA的具体实现之一。SAA-3以矩阵代数为基础,采用元素向矩阵幂运算,称为Schur积。强非对称算法5(SAA-5),引入于[17]的结构与SAA-3相似,但存在差异。它们之间的主要区别是:
  • 公共参数 α 已删除。
  • Alice的密钥是中的标量[16]. 在[17],这被一个矩阵集取代。
  • Bob密钥上的约束被简化为某些矩阵不可逆的要求。
严格来说,由于Alice的密钥结构,SAA-5不能以SAPKA的形式描述,但计算和破解的复杂性都比SAA-3有所提高。
在本文中,我们解释了SAA-5的数学设置以及在[17]并报告了我们与D-H的性能测试结果。然后,考虑到SAA-5所属的通用PKA类,并且从Alice的关键结构来看,它比SAPKA具有更大的自由度,我们尝试实现比SAA-5更快的PKA。

2.SAA-5的数学设置和密钥协商协议

Alice和Bob之间的关键协议流程是:
步骤1。 
Alice和Bob共享以下公共信息:
自然的 整数 d日 N个 ,
有限的,有限的 领域 F类 : = Z轴 第页 哪里 第页 大的 首要的 ,
有限的,有限的 设置 N个 .
第2步。 
Bob将密钥创建为矩阵:
x个 B类 M(M) ( d日 ; F类 ) ,
N个 B类 M(M) ( d日 ; F类 ) ,
c(c) F类 ,
以及作为一组矩阵:
A类 : = { A类 j个 M(M) ( d日 , F类 ) , j个 } .
对于Bob的所有密钥,必须满足以下条件:
- N个 B类 必须是可逆的
-每个 A类 j个 ( j个 )不能是可逆的。
步骤3。 
Bob为所有人创建公钥 j个 作为:
B类 , 2 ; j个 : = c(c) ( A类 j个 N个 B类 ) M(M) ( d日 ; F类 ) ,
B类 , ; j个 : = c(c) ( A类 j个 x个 B类 ) M(M) ( d日 ; F类 ) .
这里是符号 c(c) M(M) 表示矩阵:
c(c) M(M) : = c(c) M(M) , ; , { 1 , , d日 } ,
它被称为c的Schur指数乘以M.
步骤4。 
Alice将她的密钥创建为矩阵集,如下所示:
x个 A类 : = { x个 A类 , j个 M(M) ( d日 , F类 ) , j个 } ,
并创建她的公钥 A类 M(M) ( d日 , F类 ) 使用Bob的公钥之一 B类 , 2 ; j个 作为:对于每个 , { 1 , , d日 } ,
A类 ; , = j个 b条 { 1 , , d日 } ( B类 , 2 ; j个 ) b条 , ( x个 A类 , j个 ) , b条 = j个 b条 { 1 , , d日 } ( c(c) A类 j个 N个 B类 ) b条 , ( x个 A类 , j个 ) , b条
= j个 b条 { 1 , , d日 } ( c(c) ( x个 A类 , j个 ) , b条 ( A类 j个 N个 B类 ) b条 , ) = c(c) j个 b条 { 1 , , d日 } ( x个 A类 , j个 ) , b条 ( A类 j个 N个 B类 ) b条 ,
= c(c) ( j个 x个 A类 , j个 A类 j个 N个 B类 ) , = c(c) j个 x个 A类 , j个 A类 j个 N个 B类 .
步骤5。 
Bob计算他的秘密共享密钥(SSK) κ B类 M(M) ( d日 , F类 ) 使用Alice的公钥和他自己的密钥 x个 B类 N个 B类 作为:对于每个 , { 1 , , d日 } ,
κ B类 = b条 { 1 , , d日 } ( A类 ) , b条 ( N个 B类 1 x个 B类 ) b条 , = b条 { 1 , , d日 } ( c(c) j个 x个 A类 , j个 A类 j个 N个 B类 ) , b条 ( N个 B类 1 x个 B类 ) b条 , .
步骤6。 
Alice计算她的SSK κ A类 M(M) ( d日 , F类 ) 通过使用 B类 , ; j个 和她自己的密钥 x个 A类 作为:
κ A类 = j个 b条 { 1 , , d日 } ( B类 , ; j个 ) b条 , ( x个 A类 , j个 ) , b条 = j个 b条 { 1 , , d日 } ( c(c) A类 j个 x个 B类 ) b条 , ( x个 A类 , j个 ) , b条 .
平等 κ A类 κ B类 由以下方程式保证。Alice的SSK是:
κ A类 = j个 b条 { 1 , , d日 } ( c(c) A类 j个 x个 B类 ) b条 , ( x个 A类 , j个 ) , b条 = j个 b条 { 1 , , d日 } ( c(c) ( x个 A类 , j个 ) , b条 ( A类 j个 x个 B类 ) b条 , )
= c(c) j个 b条 { 1 , , d日 } ( x个 A类 , j个 ) , b条 ( A类 j个 x个 B类 ) b条 , = c(c) j个 x个 A类 , j个 A类 j个 x个 B类 ,
= c(c) j个 x个 A类 , j个 A类 j个 x个 B类 .
Bob的SSK是:
κ B类 = b条 { 1 , , d日 } ( c(c) j个 x个 A类 , j个 A类 j个 N个 B类 ) , b条 ( N个 B类 1 x个 B类 ) b条 ,
= b条 { 1 , , d日 } c(c) ( j个 x个 A类 , j个 A类 j个 N个 B类 ) , b条 ( N个 B类 1 x个 B类 ) b条 , = c(c) b条 { 1 , , d日 } ( j个 x个 A类 , j个 A类 j个 N个 B类 ) , b条 ( N个 B类 1 x个 B类 ) b条 ,
= c(c) ( j个 x个 A类 , j个 A类 j个 N个 B类 N个 B类 1 x个 B类 ) , = c(c) ( j个 x个 A类 , j个 A类 j个 x个 B类 ) ,
= c(c) j个 x个 A类 , j个 A类 j个 x个 B类 .
显然(2) = ().

2.1. 打破SAA-5的复杂性

SAA-5的突破性复杂性已经在[17]. 窃听者(Eve)尝试使用以下公共参数恢复SSK:
  • 常用参数d日,第页,.
  • Bob的公钥 B类 , 2 ; j个 , B类 , ; j个 对所有人来说 j个 .
  • Alice的公钥 A类 .
Alice知道以下所有值 j个 ,表示 x个 1 : = j个 x个 A类 , j个 A类 j个 , x个 2 : = N个 B类 , x个 , j个 : = A类 j个 , x个 4 : = x个 B类 日志 c(c) :
α 1 = 日志 A类 = j个 x个 A类 , j个 A类 j个 N个 B类 日志 c(c) = x个 1 x个 2 日志 c(c) ,
α 2 , j个 = 日志 B类 , 2 ; j个 = A类 j个 N个 B类 日志 c(c) = x个 , j个 x个 2 日志 c(c) ,
α , j个 = 日志 B类 , ; j个 = A类 j个 x个 B类 日志 c(c) = x个 , j个 x个 4 日志 c(c) .
但是,对于Eve来说 α 1 , α 2 , j个 α , j个 ,她需要解决每个值的离散对数问题。这里,我们假设解决离散对数问题的成本为0,所以Eve可以立即计算所有 α 1 , α 2 , j个 α , j个 在这种情况下。
在得到所有 α 1 , α 2 , j个 α , j个 ,她的策略是计算 日志 κ 根据方程式:
日志 κ = j个 x个 A类 , j个 A类 j个 x个 B类 日志 c(c) = x个 1 x个 4 日志 c(c) ,
通过演绎 x个 1 , x个 2 , x个 , j个 , x个 4 日志 c(c) 来自(4)–(6). 该系统包含 4 d日 2 + 1 未知的 d日 2 多项式数量so, x个 1 , x个 2 , x个 , j个 , x个 4 日志 c(c) 不是唯一确定的。我们尝试对上述系统中的一个未知系统进行暴力攻击,以估计算法的破坏复杂度。作为一个例子,我们试着这样做 x个 2 S公司 b条 (f) ; x个 2 表示她必须搜索此攻击的空间。

2.2. 暴力袭击

Eve的选择数与基数相同 G公司 L(左) ( d日 ; F类 ) 对于 x个 2 如果她发现 x个 2 等于 N个 B类 ,然后 x个 1 日志 c(c) = j个 x个 A类 , j个 A类 j个 日志 c(c) x个 , j个 日志 c(c) = A类 j个 日志 c(c) 满足于(4)和(5)因为 x个 2 = N个 B类 是可逆的。发件人(6),她想知道 x个 4 满足 x个 4 = x个 B类 然而, x个 , j个 日志 c(c) 不是可逆矩阵及其解(6)包含 d日 2 第页 n个 k个 ( x个 , j个 日志 c(c) ) 任意元素的数量。这意味着来自 第页 d日 2 第页 n个 k个 ( x个 , j个 日志 c(c) ) 满足的候选人数 x个 4 = x个 B类 所以, S公司 b条 (f) ; x个 2 是:
S公司 b条 (f) ; x个 2 = | G公司 L(左) ( d日 ; F类 ) | 第页 d日 2 第页 n个 k个 ( x个 , j个 日志 c(c) ) ,
即使在第页相对较小,例如16位或32位。此外,她无法判断 x个 2 = N个 B类 x个 4 = x个 B类 感到满意,因为 N个 B类 x个 4 是鲍勃保守秘密的。这一事实表明,即使是穷尽搜索也不适用于此策略。
有关其他安全分析,请参阅[17]这更充分地说明了攻击的难度。

3.SAA-5性能评估

我们已经知道打破上述算法的困难,但是,从实用角度来看,生成SSK还需要高速计算。在这里,我们估计了生成SSK所花费的时间,并报告了SAA-5与D-H的性能测试。

3.1. 性能评估

SAA-5的计算复杂性已经在[17]. 我们显示了共享SSK所需的估计总乘法步骤。
中元素的幂 Z轴 第页 需要 日志 2 第页 最坏情况下的乘法步骤。然后,舒尔指数:
( c(c) M(M) ) , = ( c(c) M(M) , ) , ,
要求 d日 2 日志 2 第页 乘法步骤。计算方法:
b条 { 1 , , d日 } ( A类 , b条 ) B类 b条 , ,
要求 d日 2 ( d日 + 日志 2 第页 ) = d日 + d日 日志 2 第页 乘法步骤。因此,计算如下:
j个 b条 { 1 , , d日 } ( A类 , b条 ) B类 b条 , ,
要求 ( | | 1 ) d日 2 ( d日 + 日志 2 第页 ) = ( | | 1 ) ( d日 + d日 2 日志 2 第页 ) 乘法步骤。因此,我们可以将生成SSK所需的乘法步骤估计为表1.
请注意 Z轴 第页 表示为 日志 2 第页 ,那么,模矩阵的比特长度 M(M) ( d日 , Z轴 第页 ) 表示为 d日 2 日志 2 第页 位。可以看出,计算步骤预计为 d日 .

3.2. 讨论:SAA-5的有效参数及其与D-H的比较

这里,我们报告了SAA-5与D-H的性能测试。此后,我们在以下环境中实现了所有PKA算法:
  • macOS Mojave 10.14.6版。
  • 1.3 GHz英特尔酷睿i5。
  • 8 GB 1867 MHz LPDDR3。
  • 语言:JAVA。
我们通过固定SSK的长度来比较SAA-5和D-H。当SSK的密钥长度固定时,表示为 κ ¯ ,SAA-5中共享SSK的总乘法步骤(表示为 C C S公司 A类 A类 5 )描述如下:
C C S公司 A类 A类 5 = 4 | | ( d日 + κ ¯ ) ,
因为 κ ¯ = d日 2 日志 第页 在这种情况下,D-H的总计算复杂度(表示为 C C D类 H(H) )描述如下:
C C D类 H(H) 4 κ ¯ ,
因为Alice和Bob为每个密钥计算一个公钥和他们自己的SSK,并且每个密钥的比特大小与SSK的比特大小相同,即 κ ¯ .自 κ ¯ 为常数,SAA-5的计算时间预计仅取决于参数d日然而,计算标量指数所需的时间 Z轴 第页 取决于第页并且以指数速度增长是众所周知的(例如,参见第5-6页[18]). 因此,我们预计计算时间不仅取决于d日但也在第页在比较SAA-5和D-H之前,我们展示了我们的实验结果,其中显示了参数第页d日影响SAA-5的计算速度,而SSK长度是固定的(16384位)。
中的白色圆圈图1表示计算Alice和Bob的SSK所用的总时间,黑色菱形表示SSK的位长度。的一对尺寸和位长图1是:
( d日 , 日志 第页 ) = ( 2 , 4096 ) , ( 4 , 1024 ) , ( 8 , 256 ) , ( 16 , 64 ) , ( 32 , 16 ) .
大致来说,减少共享SSK所需的时间可以减少第页并不断增加d日同时保持SSK的长度。
最后,我们展示了SAA-5和D-H的比较实验结果。表2图2显示了我们与D-H的比较结果。Java代码中的算法可以参考[19].

3.3. 实验结果:与D-H的比较

在本实验中,我们将SAA-5参数固定为 d日 = 8 | | = 5 所以,素数的大小(表示为 第页 S公司 A类 A类 5 )由提供 κ ¯ / 64 因为SSK的长度 κ ¯ 表示为 d日 2 日志 第页 .D-H的每个公钥的大小与SSK的大小相同,即 κ ¯ ,因此是素数的一个位长度。SAA-5和D-H中使用的素数的比特大小(表示为 第页 D类 H(H) )如所示表3从中可以看出表2图2当SSK的长度超过2048位时,SAA-5的性能优于D-H,并且SSK越大,它们之间的计算速度差就越大(当SSK为5120位时SAA-5大约比D-H快15倍)。

4.绩效改进

我们表明,SAA-5的性能比D-H更有效,特别是对于大密钥,因为其代数性质和参数的多样性。
在本节中,我们试图通过以下步骤实现一种更快的PKA,其破坏复杂性与SAA-5相同。作为第一步,我们从SAA-5中提取出允许Alice和Bob创建SSK的条件,也就是说,我们构建了一个类似于SAPKA的新PKA框架[15]其中,密钥协商过程由地图的组成来描述。第二步,我们固定框架的参数(映射)以生成新的PKA算法。然后,我们检查新的PKA算法是否具有与SAA-5相同的安全级别和更高的效率。

4.1. 具有多个密钥类的SAPKA

在这里,我们定义了名为SAPKA with Multiple Keys类(SAPKA-MK)的新类。这个类的主要特性是,Alice将她的密钥作为一组生成 { x个 A类 , j个 P(P) ; j个 } ,不是单个元素[15].
SAPKA-MK算法具有以下常见成分:
-
半群 P(P) 以及一些操作。
-
一套 M(M) ^ P(P) 容易可逆的映射 P(P) P(P) ,已调用噪声空间.
-
一套 M(M) P(P) 地图的 : P(P) P(P) .
-
有限集 : = { 1 , 2 , , n个 } N个 .
哪里 | | = n个 .
这些成分 P(P) 是公开的,并且 M(M) P(P) , M(M) ^ P(P) 属于的密钥B类.套装
K(K) B类 : = { M(M) P(P) } × M(M) P(P) × M(M) P(P) × { M(M) P(P) } × M(M) P(P) ^ × M(M) P(P) ^ ,
Bob根据以下方案使用来构造他的密钥和公钥。所有映射都由一组有限的参数定义,因此发送地图意味着发送相应的参数集和规则来组合它们。除非明确提及,否则两个函数之间的相等意味着这些函数具有相同的定义域,并且相等性在其上保持不变。
定义 1
  S公司 是带有某种运算的半群
1 , j个 , 2 , , 4 , j个 : S公司 S公司 ,
对所有人来说 j个 : = { 1 , 2 , , n个 } N个 .订购的四倍 ( { 1 , j个 ; j个 } , 2 , , { 4 , j个 ; j个 } ) 据说是为了满足 多重相容条件 如果以下方程式:
( 1 , 1 2 ( x个 1 ) ) ( 1 , 2 2 ( x个 2 ) ) ( 1 , n个 2 ( x个 n个 ) )
= ( 4 , 1 ( x个 1 ) 4 , 2 ( x个 2 ) 4 , n个 ( x个 n个 ) ) ,
对所有人都满意 x个 j个 ( j个 ) 此后,除非另有规定,否则上述符号∘表示地图组成。如果条件(9)仅在子半群上满足 S公司 0 S公司 ,其中一个说多重兼容性条件 满足于 S公司 0 .
SAPKA-MK算法的密钥协议如下:
步骤1。 
Bob选择地图 ( { 1 , j个 ; j个 } , 2 , , { 4 , j个 ; j个 } , N个 1 , N个 2 ) K(K) B类 .通过共轭 ( 1 , j个 , 2 , , 4 , j个 , N个 1 , N个 2 ) 对于每个 j个 ,Bob构造了四个:
( { 1 , j个 ; j个 } , 2 , , { 4 , j个 ; j个 } ) ,
满足(9). 他使用 作为他功能的密钥:
x个 B类 : = ,
和公钥 ( B类 , 1 , B类 , 2 ) 如下功能:
B类 , 1 ( x个 1 , x个 2 , , x个 n个 ) : = ( 1 , 1 2 ( x个 1 ) ) ( 1 , 2 2 ( x个 2 ) ) ( 1 , n个 2 ( x个 n个 ) ) ,
B类 , 2 ( x个 1 , x个 2 , , x个 n个 ) : = 4 , 1 ( x个 1 ) 4 , 2 ( x个 2 ) 4 , n个 ( x个 n个 ) .
第2步。 
Bob发送公钥 ( B类 , 1 , B类 , 2 ) 给爱丽丝。
步骤3。 
爱丽丝选了一把钥匙 { x个 A类 , j个 P(P) ; j个 } 然后,她将公钥构造为一个元素:
A类 : = B类 , 2 ( x个 A类 , 1 , x个 A类 , 2 , , x个 A类 , n个 ) P(P) .
步骤4。 
Alice发送公钥 A类 给鲍勃。
步骤5。 
Alice计算秘密共享密钥(SSK) κ 作为:
κ = B类 , 1 ( x个 A类 , 1 , x个 A类 , 2 , , x个 A类 , n个 ) = ( 1 , 1 2 ( x个 A类 , 1 ) ) ( 1 , 2 2 ( x个 A类 , 2 ) ) ( 1 , n个 2 ( x个 A类 , n个 ) ) .
第6步。 
鲍勃计算 κ 作为:
κ = x个 B类 ( A类 ) = ( 4 , 1 ( x个 A类 , 1 ) 4 , 2 ( x个 A类 , 2 ) 4 , n个 ( x个 A类 , n个 ) ) .
备注 1
什么时候? n个 = 1 ,SAPKA-MK相当于SAPKA算法。这意味着就Alice的密钥数量而言,SAPKA-MK是SAPKA的通用形式之一。
在这里,我们引入一个引理,它提供了一种构造性的方法来生成满足的族(9).
引理 1
S公司 定义1,功能如下:
1 , j个 , 2 , , 4 , j个 : S公司 S公司 ,
对所有人来说 j个 。如果条件:
1 
每个 ( 1 , j个 , 2 , , 4 , j个 ) 满足以下等式:
1 , j个 2 = 4 , j个
2 
{ e(电子) - 第页 o个 u个 第页 e(电子) n个 d日 o个 o个 第页 第页 小时 S公司 S公司 }
都很满意 j个 , (9)实现了。
证明。 
根据第一个条件,方程式:
( 1 , 1 2 ( x个 1 ) ) ( 1 , 2 2 ( x个 2 ) ) ( 1 , n个 2 ( x个 n个 ) )
= ( 4 , 1 ( x个 1 ) ) ( 4 , 2 ( x个 2 ) ) ( 4 , n个 ( x个 n个 ) ) ,
对所有人来说都是显而易见的 x个 j个 ( j个 ) .通过的自同态性质 S公司 ,方程式:
( 4 , 1 ( x个 1 ) ) ( 4 , 2 ( x个 2 ) ) ( 4 , n个 ( x个 n个 ) )
= ( 4 , 1 ( x个 1 ) 4 , 2 ( x个 2 ) 4 , n个 ( x个 n个 ) ) ,
感到满意。因此,可以得到:
( 1 , 1 2 ( x个 1 ) ) ( 1 , 2 2 ( x个 2 ) ) ( 1 , n个 2 ( x个 n个 ) )
= ( 4 , 1 ( x个 1 ) 4 , 2 ( x个 2 ) 4 , n个 ( x个 n个 ) ) .
 □

4.2. SAPKA-MK版SAA-5

SAA-5可以SAPKA-MK的形式描述为:
该算法的成分包括:
: = { 1 , 2 , , n个 } N个 ,
P(P) : = M(M) ( d日 , Z轴 第页 ) ,
运算•表示Schur乘积,即元素向矩阵乘法。
在这里, ( P(P) , ) 形成一个半群,因为对于任何 x个 , P(P) :
x个 P(P) ,
以及任何 x个 , , z(z) P(P) :
x个 ( z(z) ) = ( x个 ) z(z) .
表示L(左)(分别为。R(右))的左(右)动作 M(M) ( d日 , Z轴 第页 ) 本身,定义如下:
L(左) x个 ( ) : = ( b条 { 1 , , d日 } x个 , b条 b条 , ) ; R(右) x个 ( ) : = ( b条 { 1 , , d日 } x个 b条 , , b条 ) ; x个 , M(M) ( d日 , Z轴 第页 ) .
然后,其他成分包括:
M(M) P(P) : = { L(左) x个 : x个 M(M) ( d日 , Z轴 第页 ) } { R(右) x个 : x个 M(M) ( d日 , Z轴 第页 ) } ,
M(M) ^ P(P) : = { 可逆的 元素 属于 M(M) P(P) } .
如果Bob定义了六元组 ( { 1 , j个 ; j个 } , 2 , , { 4 , j个 ; j个 } , N个 1 , N个 2 ) 对于每个 j个 作为:
1 , j个 ( x个 ) : = b条 { 1 , , d日 } ( c(c) B类 j个 x个 B类 ) b条 , ( x个 ) , b条 = R(右) c(c) B类 j个 x个 B类 ( x个 )
= c(c) x个 B类 j个 x个 B类 ,
2 : = d日 P(P) ,
( x个 ) : = b条 { 1 , , d日 } x个 , b条 ( x个 B类 ) b条 , = L(左) x个 ( x个 B类 ) ,
4 , j个 ( x个 ) : = b条 { 1 , , d日 } ( c(c) B类 j个 ) b条 , ( x个 ) , b条 = R(右) c(c) B类 j个 ( x个 ) = c(c) x个 B类 j个 ,
N个 1 : = d日 P(P) ,
N个 2 ( x个 ) : = b条 { 1 , , d日 } x个 , b条 ( N个 B类 1 ) b条 , : = L(左) x个 ( N个 B类 1 ) ,
并构造了四个 ( { 1 , j个 ; j个 } , 2 , , { 4 , j个 ; j个 } ) 作为:
1 , j个 : = 1 , j个 N个 1 1 ; 2 : = N个 1 2 ; : = N个 2 ; 4 , j个 : = N个 2 1 4 , j个 ,
对所有人来说 j个 ,则得到引理1,即。,
1 , j个 2 ( x个 ) = 1 , j个 2 ( x个 ) = c(c) x个 B类 j个 x个 B类 =
c(c) x个 B类 j个 N个 B类 N个 B类 1 x个 B类 = N个 2 N个 2 1 4 , j个 ( x个 ) = 4 , j个 ( x个 ) ,
和用于 x个 , z(z) P(P) :
( x个 z(z) ) = b条 { 1 , , d日 } ( x个 z(z) ) , b条 ( N个 B类 1 x个 B类 ) b条 , = b条 { 1 , , d日 } x个 , b条 ( N个 B类 1 x个 B类 ) b条 , z(z) , b条 ( N个 B类 1 x个 B类 ) b条 ,
= b条 { 1 , , d日 } x个 , b条 ( N个 B类 1 x个 B类 ) b条 , b条 { 1 , , d日 } z(z) , b条 ( N个 B类 1 x个 B类 ) b条 , = ( x个 ) ( z(z) ) .
通过映射的形成,可以描述SAPKA-MK密钥协商的每个过程。

4.3. SAA-5无Schur指数

在本节中,我们将介绍一种新的PKA,我们称之为SAA-5,不含Schur-Exponentiations(SAA-5-no-SE)。SAA-5-no-SE可描述如下。
此算法的公共参数为:
d日 N个 ; 有限的,有限的 设置 N个 ,
P(P) : = M(M) ( d日 , Z轴 第页 ) : = { d日 × d日 - 矩阵 具有 条目 在里面 Z轴 第页 } .
表示L(左)(分别为。R(右))的左(右)动作 M(M) ( d日 , Z轴 第页 ) 其定义如下:
L(左) x个 ( ) : = x个 ; R(右) x个 ( ) : = x个 ; x个 , M(M) ( d日 , Z轴 第页 ) .
其他公共参数包括:
M(M) P(P) : = { L(左) x个 : x个 M(M) ( d日 , Z轴 第页 ) } { R(右) x个 : x个 M(M) ( d日 , Z轴 第页 ) } ,
M(M) ^ P(P) : = { 可逆的 元素 属于 M(M) P(P) } .
鲍勃的秘方是:
N个 B类 , x个 B类 M(M) ( d日 , Z轴 第页 )
一套
B类 : = { B类 j个 P(P) : j个 , 可逆的 }
步骤1。 
Bob为每个 j个 ,以下六张地图:
1 , j个 ( x个 ) = x个 B类 j个 x个 B类 = R(右) B类 j个 x个 B类 ( x个 ) ,
2 = d日 P(P) ,
( x个 ) = x个 x个 B类 = R(右) x个 B类 ( x个 ) ,
4 , j个 ( x个 ) = x个 B类 j个 = R(右) B类 j个 ( x个 ) ,
N个 1 = d日 P(P) ,
N个 2 ( x个 ) = x个 N个 B类 1 = R(右) N个 B类 1 ( x个 ) .
从六元组 ( { 1 , j个 ; j个 } , 2 , , { 4 , j个 ; j个 } , N个 1 , N个 2 ) ,Bob构造了四个 ( { 1 , j个 ; j个 } , 2 , , { 4 , j个 ; j个 } ) 作为:
1 , j个 : = 1 , j个 N个 1 1 ; 2 : = N个 1 2 ; : = N个 2 ; 4 , j个 : = N个 2 1 4 , j个 ,
对所有人来说 j个 .有了这种结构(12)满足,即。,
1 , j个 2 ( x个 ) = 1 , j个 2 ( x个 ) = x个 B类 j个 x个 B类 = x个 B类 j个 N个 B类 N个 B类 1 x个 B类 = N个 1 N个 1 1 4 , j个 ( x个 ) = 4 , j个 ( x个 ) .
此外,对于任何 x个 , z(z) P(P) , 满足:
( x个 + z(z) ) = N个 2 ( x个 + z(z) ) = ( x个 + z(z) ) x个 B类 N个 B类 1 = x个 x个 B类 N个 B类 1 + z(z) x个 B类 N个 B类 1
= N个 2 ( x个 ) + N个 2 ( z(z) ) = ( x个 ) + ( z(z) ) .
因此,多重兼容性条件(9)满足引理1。
因此,对于任何选择 x个 j个 P(P) ( j个 ),方程式如下:
j个 1 , j个 2 ( x个 j个 ) = j个 4 , j个 ( x个 j个 ) ,
感到满意。然后,Bob准备了他的密钥作为函数:
x个 B类 : = N个 2 = ,
并生成公钥,其功能如下:
B类 , 1 ( x个 1 , x个 2 , , x个 n个 ) = j个 1 , j个 2 ( x个 j个 ) = j个 1 N个 1 1 N个 1 2 ( x个 j个 ) = j个 x个 j个 B类 j个 x个 B类 ,
B类 , 2 ( x个 1 , x个 2 , , x个 n个 ) = j个 4 , j个 ( x个 j个 ) = j个 N个 2 1 4 , j个 ( x个 j个 ) = j个 x个 j个 B类 j个 N个 B类 .
第2步。 
为了发送公钥 ( B类 , 1 , B类 , 2 ) Bob向Alice发送公共矩阵:
B类 j个 x个 B类 , B类 j个 N个 B类 ( j个 ) .
步骤3。 
Alice选择了一组矩阵作为她的密钥:
{ x个 A类 , j个 M(M) ( d日 , Z轴 第页 ) ; j个 } ,
并构造她的公钥:
A类 = B类 , 2 ( x个 A类 , 1 , x个 A类 , 2 , , x个 A类 , n个 ) = j个 x个 A类 , j个 B类 j个 N个 B类 .
步骤4。 
Alice发送公钥 A类 给鲍勃。
步骤5。 
秘密共享密钥(SSK) κ 是:
κ : = j个 x个 A类 , j个 B类 j个 x个 B类 .
爱丽丝知道 B类 j个 x个 B类 ,所以她可以计算:
κ = B类 , 1 ( x个 A类 , 1 , x个 A类 , 2 , , x个 A类 , n个 ) = j个 x个 A类 , j个 B类 j个 x个 B类 .
步骤6。 
鲍勃计算 κ 作为:
κ = x个 ( A类 ) = x个 N个 2 ( j个 x个 A类 , j个 B类 j个 N个 B类 ) = ( j个 x个 A类 , j个 B类 j个 N个 B类 ) N个 B类 1 x个 B类 = j个 x个 A类 , j个 B类 j个 x个 B类 .

4.4. SAA-5与SAA-5-no-SE断裂复杂性的比较

SAA-5的突破性复杂性已经过评估。在本节中,我们假设解决离散对数问题的成本为0,与[17]和第2.1节在这个假设下,我们可以通过考虑Eve的策略来找到这两种算法的SSK,从而证明SAA-5-no-SE的突破复杂性与SAA-5的突破复杂性等价。
定理 1
 SAA-5的突破复杂性与SAA-5-no-E相当。
证明。(伊芙对抗SAA-5-no-SE的策略)
Eve知道以下有限的整数集 = { 1 , 2 , , n个 } 哪里 | | = n个 和矩阵 B类 j个 x个 B类 , B类 j个 N个 B类 , A类 = j个 x个 A类 , j个 B类 j个 N个 B类 对所有人来说 j个 。她还知道以下方程式:
κ = j个 x个 A类 , j个 B类 j个 x个 B类 ,
被保留。她试图恢复 κ 从公钥 B类 j个 x个 B类 , B类 j个 N个 B类 , A类 = j个 x个 A类 , j个 B类 j个 N个 B类 所有这些 B类 j个 , x个 B类 , N个 B类 x个 A类 , j个 对夏娃来说是未知的。
(伊芙对抗SAA-5的策略)
在这种情况下,Eve打破该算法的策略是,她得到以下公钥的对数:
日志 c(c) B类 j个 x个 B类 = B类 j个 x个 B类 日志 c(c) ,
日志 c(c) B类 j个 N个 B类 = B类 j个 N个 B类 日志 c(c) ,
日志 A类 = j个 x个 A类 , j个 B类 j个 N个 B类 日志 c(c) = j个 x个 A类 , j个 日志 c(c) B类 j个 N个 B类 ,
对所有人来说 j个 然后她试着恢复 日志 κ ,即:
日志 κ = j个 x个 A类 , j个 B类 j个 x个 B类 日志 c(c) = j个 x个 A类 , j个 日志 c(c) B类 j个 x个 B类 .
但是,通过 B类 j个 = B类 j个 日志 c(c) ,Eve知道以下方程式:
日志 c(c) B类 j个 x个 B类 = B类 j个 x个 B类 ,
日志 c(c) B类 j个 N个 B类 = B类 j个 N个 B类 ,
日志 A类 = j个 x个 A类 , j个 日志 c(c) B类 j个 N个 B类 = j个 x个 A类 , j个 B类 j个 N个 B类 ,
并试图恢复
日志 κ = j个 x个 A类 , j个 日志 c(c) B类 j个 x个 B类 = j个 x个 A类 , j个 B类 j个 x个 B类 ,
被持有。她试图恢复 日志 κ 从公钥 B类 j个 x个 B类 , B类 j个 N个 B类 , A类 = j个 x个 A类 , j个 B类 j个 N个 B类 所有这些 B类 j个 , x个 B类 , N个 B类 x个 A类 , j个 对夏娃来说是未知的。对于伊芙来说,这是针对SAA-5-no-SE案件的相同策略。 □

4.5. 讨论:SAA-5-no-SE的性能

这里,我们估计了SAA-5-no-SE的计算复杂度并报告了性能测试表4请注意,一个矩阵乘法需要 d日 标量乘法的数量。虽然计算时间预计为 d日 与SAA-5的情况一样,它不需要额外的 d日 2 日志 第页 SAA-5中计算标量指数所需的乘法数。我们已经知道,标量指数的计算严重影响SAA-5的性能,因此在相同条件下,它的计算速度预计要比SAA-5快得多。
在这里,我们将两种设置的计算速度与SAA-5进行比较。在第一种设置中,我们测量了这两种算法在800位到16000位的每个SSK长度下的计算速度,而d日 | | 都固定为10,以查看第页和速度上的SSK长度(结果为表5图3). 在第二个设置中,SAA-5-no-SE对于512位到5120位的每个SSK长度的计算速度,而 d日 = 8 | | = 5 已测量,并且具有与中相同的设置表2图2由于SAA-5-no-SE的SSK长度由下式给出 d日 2 日志 第页 ,与SAA-5相同,D-H、SAA-5和SAA-5-no-SE的素数大小关系描述为:
κ ¯ = 第页 D类 H(H) = 64 第页 S公司 A类 A类 5 = 64 第页 S公司 A类 A类 5 n个 o个 S公司 E类
哪里 第页 S公司 A类 A类 5 n个 o个 S公司 E类 是SAA-5-no-SE中使用的素数的比特大小 κ ¯ 是固定SSK的。此外,SAA-5-no-SE的计算复杂性(表示为 C C S公司 A类 A类 5 n个 o个 S公司 E类 )当SSK长度固定为 κ ¯ 如所示表6以及 S公司 A类 A类 5 和D-H。

4.6. 实验结果:SAA-5-no-SE的性能

图3,白色圆圈表示在SAA-5-no-SE中计算所用的时间,黑色菱形表示SAA-5中的时间。正如我们所料,我们可以看到素数第页不影响SAA-5-no-SE的计算速度。此外,SAA-5-no-SE的计算时间不受其SSK长度的严重影响。
表7图4,白色圆圈表示在SAA-5中计算所用的时间,黑色圆圈表示SAA-5-no-SE中的时间。请注意,SAA-5的计算时间如所示图4是的值表2图2。使用表2图2,我们不仅可以检查SAA-5-no-SE在所有SSK长度中的性能,还可以检查超过1536位的D-H。特别是当SSK长度为5120位时,SAA-5-no-SE大约比D-H快100倍。
对于其他标准PKA/非对称密码的性能,如ElGamal、RSA和椭圆曲线D-H,与D-H的性能没有太大差异(见[20],图1-3,共[21]和图3、图4[18])随着SSK长度的增加,其算法的速度呈指数级增加。虽然某些算法可能比SAA-5或SAA-5-no-SE更快,特别是对于短密钥长度,但SAA-5和SAA-5-no-SE的计算速度是线性增长的,而不是指数增长的。这是SAA-5和SAA-5-no-SE的优点之一。

5.结论

本文表明,由于SAA-5的代数性质和参数的多样性,它的性能要比D-H有效得多,特别是对于大密钥。
此外,还提出了一种更通用的SAA-5方案,称为SAPKA-MK。SAA-5被证明是以SAPKA-MK的形式描述的,作为SAPKA-M的一个具体例子,介绍了一种新的PKA算法SAA-5-no-SE。Alice的SAA-5-no-SE的密钥结构与SAA-5的密钥结构相同,但在公钥和SSK生成步骤中使用的函数在几个方面不同。我们对SAA-5-no-SE的性能测试表明,随着SSK长度的增加,其计算时间呈线性增长,而不是呈指数增长。测试还表明,SAA-5-no-SE是一种比超过1536bit的D-H以及所有SSK长度的SAA-5更有效的PKA算法,其安全级别高达SAA-5。

作者贡献

概念化,K.J.、S.I.和M.R。;形式分析,K.J.和S.I。;软件,M.R。;书面原稿,K.J.和S.I。;写作审查和编辑、K.J.、S.I.和M.R.所有作者都阅读并同意手稿的出版版本。

基金

这项研究没有得到外部资助。

利益冲突

作者声明没有利益冲突。

缩写

本手稿中使用了以下缩写:
PKA公司公钥协议
D-H公司密钥交换
SAPKA公司强非对称公钥协议
南非航空公司强非对称算法
瑞典克朗秘密共享密钥

工具书类

  1. Diffie,W。;Hellman,M.密码学的新方向。IEEE传输。Inf.理论 1976,22, 644–654. [谷歌学者] [交叉参考] [绿色版本]
  2. 铆钉,R.L。;沙米尔。;Adleman,L.获取数字签名和公钥密码系统的方法。Commun公司。ACM公司 1978,21, 120–126. [谷歌学者] [交叉参考]
  3. ElGamal,T.一种基于离散对数的公钥密码系统和签名方案。IEEE传输。Inf.理论 1985,31, 469–472. [谷歌学者] [交叉参考]
  4. Koblitz,N.椭圆曲线密码系统。数学。计算。 1987,48, 203–209. [谷歌学者] [交叉参考]
  5. Adrian,D。;巴加万,K。;Durumeric,Z。;高德里,P。;格林,M。;哈尔德曼,J.A。;Heninger,N。;斯普林格尔,D。;托姆,E。;瓦伦塔,L。;等,《不完善的前向保密:不同的赫尔曼在实践中的失败》。2015年10月12日至16日,美国科罗拉多州丹佛市,第22届ACM SIGSAC计算机和通信安全会议记录;第5-17页。[谷歌学者]
  6. 量子计算机上素分解和离散对数的Shor,P.多项式时间算法。SIAM J.计算。 1997,25, 1484–1509. [谷歌学者] [交叉参考] [绿色版本]
  7. Patarin,J.隐场方程(HFE)和多项式同构(IP):两类新的不对称算法。1996年5月12日至16日在西班牙萨拉戈萨举行的密码技术理论和应用国际会议论文集;施普林格:柏林/海德堡,德国,1996年;第33-48页。[谷歌学者]
  8. 波拉斯,J。;Baena,J。;Ding,J.ZHFE,一种新的多元公钥加密方案。2014年10月1日至3日,加拿大安大略省滑铁卢,后量子密码术国际研讨会论文集;第229-245页。[谷歌学者]
  9. Ajtai,M。;Dwork,C.具有最坏情况/平均情况等效性的公钥密码系统。1997年5月4日至6日在美国德克萨斯州埃尔帕索举行的第50届ACM计算理论研讨会会议记录;第284-293页。[谷歌学者]
  10. Khot,S.格中近似最短向量问题的硬度。J.ACM(杰克姆) 2005,52, 789–808. [谷歌学者] [交叉参考]
  11. 量子密码术后竞赛第二轮提交。在线可用:https://csrc.nist.gov/projects/post-quantum-cryptography/round-2-提交(2020年7月24日访问)。
  12. 阿尔基姆,E。;杜卡斯,L。;Poppelmann,T。;Schwabe,P.后量子密钥交换——一个新的希望。2016年8月10日至12日在美国德克萨斯州奥斯汀举行的第25届USENIX安全研讨会(USENIX-Security 16)会议记录;第327-343页。[谷歌学者]
  13. 霍夫斯坦,J。;Pipher,J。;Silverman,J.H.NTRU:基于环的公钥密码系统。1998年6月21-25日,美国俄勒冈州波特兰,国际算法数论研讨会论文集;施普林格:柏林/海德堡,德国,1998年;第267-288页。[谷歌学者]
  14. 卡萨诺娃,A。;Faugere,J.C。;马卡里奥·拉特,G。;Patarin,J。;佩雷特,L。;Ryckeghem,J.GeMSS:一个伟大的多变量短签名。在线可用:https://www-polsys.lip6.fr/Links/NIST/GeMSS_specification_round2_V2.pdf(2020年7月29日查阅)。
  15. Accardi,L.公司。;Iriyama,S。;雷戈利,M。;Ohya,M。强非对称公钥协商算法; 技术报告ISEC2011-20;IEICE:2011年,日本东京;第115-121页。[谷歌学者]
  16. Accardi,L.公司。;Regoli,M.关于一类强非对称PKA算法。数学杂志。地穴。 2015,9, 151–159. [谷歌学者] [交叉参考] [绿色版本]
  17. Accardi,L.公司。;Iriyana,S。;Jimbo,K。;Regoli,M.一类新的强非对称PKA算法:SAA-5。密码学 2019,, 9. [谷歌学者] [交叉参考] [绿色版本]
  18. Ottaviani,V。;Zanoni,A。;Regoli,M.共轭作为移动加密中的公钥协议。2010年7月26日至28日在希腊雅典举行的2010年国际安全与密码会议(SECRYPT)会议记录;第1-6页。[谷歌学者]
  19. Jimbo,K。;Iriyama,S。;Regoli,M.项目名称:一种新的强非对称算法的实现及其优化。GitHub存储库. 2020. 在线可用:https://github.com/jimbobmij/project_KSM(2020年7月29日查阅)。
  20. Großschädl,J。;Kizhvatov,I.移动设备上客户端SSL/TLS处理的性能和安全方面。2010年12月12日至14日在马来西亚吉隆坡举行的国际密码学和网络安全会议记录;施普林格:德国柏林/海德堡,2010年;第44–61页。[谷歌学者]
  21. Okeyinka,A.E.RSA和ElGamal算法对文本数据的计算速度分析。2015年10月21日至23日,美国加利福尼亚州旧金山,世界工程与计算机科学大会会议记录;第1卷。[谷歌学者]
图1。更改计算固定长度密钥的时间d日是一个变量。
图1。更改计算固定长度密钥的时间d日是一个变量。
密码04 00021 g001
图2。生成SSK的时间比较。
图2。生成SSK的时间比较。
密码04 00021 g002
图3。使用强非对称算法(SAA-5)计算每个SSK长度的速度,而 d日 = 10 | | = 10 .
图3。使用强不对称算法(SAA-5)计算每个SSK长度的速度,同时 d日 = 10 | | = 10 .
密码04 00021 g003
图4。SSK与SAA-5生成时间的比较。
图4。SSK与SAA-5生成时间的比较。
密码04 00021 g004
表1。密钥大小和密钥相乘时间的估计。
表1。密钥大小和密钥相乘时间的估计。
钥匙钻头尺寸步骤
A类 d日 2 日志 第页 ( | | 1 ) ( d日 + d日 2 日志 第页 )
κ A类 d日 2 日志 第页 ( | | 1 ) ( d日 + d日 2 日志 第页 )
B类 2 d日 2 日志 第页 | | ( d日 + d日 2 日志 第页 )
B类 d日 2 日志 第页 | | ( d日 + d日 2 日志 第页 )
κ B类 d日 2 日志 第页 2 ( d日 + d日 2 日志 第页 )
总计 4 ( d日 + d日 2 日志 第页 )
表2。生成秘密共享密钥(SSK)的时间比较。
表2。生成秘密共享密钥(SSK)的时间比较。
SSK长度(位)SAA-5(毫秒)D-H(毫秒)
51212.451.45
102420.633.37
153616.1910.87
204818.1024.21
256028.7745.68
307223.5483.39
358423.35120.29
409624.42219.90
460838.12332.46
512039.58620.86
表3。质数比特大小的比较。
表3。质数比特大小的比较。
SSK长度(位) 第页 南非航空公司 5 (位) 第页 南非航空公司 5 (位)
5128512
1024161024
1536241536
2048322048
2560402560
3072483072
3584563584
4096644096
4608724608
5120805120
表4。密钥大小和密钥相乘时间的估计。
表4。密钥大小和密钥相乘时间的估计。
钥匙钻头尺寸步骤
A类 d日 2 日志 第页 ( | | 1 ) d日
κ A类 d日 2 日志 第页 ( | | 1 ) d日
B类 2 d日 2 | | 日志 第页 | | d日
B类 d日 2 | | 日志 第页 | | d日
κ B类 d日 2 日志 第页 2 d日
总计 4 | | d日
表5。每个SSK长度的计算速度,而 d日 = 10 | | = 10 .
表5。每个SSK长度的计算速度,而 d日 = 10 | | = 10 .
SSK长度(位)第页(位)SAA-5公司SAA-5-无-SE
800834.4216.88
16001640.269.58
24002444.989.92
32003252.3612.86
40004089.8219.24
48004875.1818.78
56005683.9414.74
640064101.1614.76
720072145.0415.62
800080150.5814.68
880088164.8417.64
960096176.4417.68
10,400104191.2017.46
11, 200112202.7617.22
12, 000120213.3615.96
12,800128223.3016.54
13,600136314.0818.24
14,400144336.2417.58
15,200152349.9618.02
16,000160364.6620.30
表6。当SSK长度为 κ ¯ .
表6。当SSK长度为 κ ¯ .
科科斯群岛 D类 H(H) 科科斯群岛 南非航空公司 5 科科斯群岛 南非航空公司 5 东南方
4 κ ¯ 4 | | ( d日 + κ ¯ ) 4 | | d日
表7。生成SSK的时间。
表7。生成SSK的时间。
SSK长度(位)SAA-5-no-SE(毫秒)
5128.32
10245.63
15364.57
20485.26
25607.41
30726.84
35846.15
40964.80
46085.75
51206.02

分享和引用

MDPI和ACS样式

Jimbo,K。;Iriyama,S。;雷戈利,M。一种新的强对称算法的实现及其优化。密码学 2020,4, 21.https://doi.org/10.3390/cryptography4030021

AMA风格

Jimbo K、Iriyama S、Regoli M。一种新的强对称算法的实现及其优化。密码学. 2020; 4(3):21.https://doi.org/10.3390/密码4030021

芝加哥/图拉宾风格

Jimbo、Koki、Satoshi Iriyama和Massimo Regoli。2020年,“新的强对称算法的实现及其优化”密码学第4、3、21页。https://doi.org/10.3390/cryptography4030021

文章指标

返回页首顶部