Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
7b8c8c4d
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
大约 1 年 前同步成功
通知
9
Star
18
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party Openssl
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
7b8c8c4d
编写于
6月 25, 2014
作者:
A
Andy Polyakov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
aesv8-armx.pl: rigid input verification in key setup.
上级
7eb04882
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
20 addition
and
1 deletion
+20
-1
crypto/aes/asm/aesv8-armx.pl
crypto/aes/asm/aesv8-armx.pl
+20
-1
未找到文件。
crypto/aes/asm/aesv8-armx.pl
浏览文件 @
7b8c8c4d
...
@@ -70,6 +70,19 @@ $code.=<<___ if ($flavour =~ /64/);
...
@@ -70,6 +70,19 @@ $code.=<<___ if ($flavour =~ /64/);
add
x29
,
sp
,
#0
add
x29
,
sp
,
#0
___
___
$code
.=
<<___;
$code
.=
<<___;
mov $ptr,#-1
cmp $inp,#0
b.eq .Lenc_key_abort
cmp $out,#0
b.eq .Lenc_key_abort
mov $ptr,#-2
cmp $bits,#128
b.lt .Lenc_key_abort
cmp $bits,#256
b.gt .Lenc_key_abort
tst $bits,#0x3f
b.ne .Lenc_key_abort
adr $ptr,rcon
adr $ptr,rcon
cmp $bits,#192
cmp $bits,#192
...
@@ -209,8 +222,10 @@ $code.=<<___;
...
@@ -209,8 +222,10 @@ $code.=<<___;
.Ldone:
.Ldone:
str $rounds,[$out]
str $rounds,[$out]
mov $ptr,#0
eor x0,x0,x0 // return value
.Lenc_key_abort:
mov x0,$ptr // return value
`"ldr x29,[sp],#16" if ($flavour =~ /64/)`
`"ldr x29,[sp],#16" if ($flavour =~ /64/)`
ret
ret
.size ${prefix}_set_encrypt_key,.-${prefix}_set_encrypt_key
.size ${prefix}_set_encrypt_key,.-${prefix}_set_encrypt_key
...
@@ -230,6 +245,9 @@ ___
...
@@ -230,6 +245,9 @@ ___
$code
.=
<<___;
$code
.=
<<___;
bl .Lenc_key
bl .Lenc_key
cmp x0,#0
b.ne .Ldec_key_abort
sub $out,$out,#240 // restore original $out
sub $out,$out,#240 // restore original $out
mov x4,#-16
mov x4,#-16
add $inp,$out,x12,lsl#4 // end of key schedule
add $inp,$out,x12,lsl#4 // end of key schedule
...
@@ -254,6 +272,7 @@ $code.=<<___;
...
@@ -254,6 +272,7 @@ $code.=<<___;
vst1.32 {v0.16b},[$inp]
vst1.32 {v0.16b},[$inp]
eor x0,x0,x0 // return value
eor x0,x0,x0 // return value
.Ldec_key_abort:
___
___
$code
.=<<
___
if
(
$flavour
!~
/64/
);
$code
.=<<
___
if
(
$flavour
!~
/64/
);
ldmia
sp
!
,{
r4
,
pc
}
ldmia
sp
!
,{
r4
,
pc
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录