Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
btwise
openssl
提交
983180bb
O
openssl
项目概览
btwise
/
openssl
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
openssl
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
983180bb
编写于
7月 30, 2007
作者:
A
Andy Polyakov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Buglet fixes and minor optimization in aes-x86_86 assembler.
上级
cdb03921
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
17 addition
and
17 deletion
+17
-17
crypto/aes/asm/aes-x86_64.pl
crypto/aes/asm/aes-x86_64.pl
+17
-17
未找到文件。
crypto/aes/asm/aes-x86_64.pl
浏览文件 @
983180bb
...
...
@@ -1879,10 +1879,10 @@ AES_cbc_encrypt:
.align 16
.Lcbc_slow_way:
# allocate aligned stack frame...
lea -8
0
(%rsp),%rbp
lea -8
8
(%rsp),%rbp
and \$-64,%rbp
# ... just "above" key schedule
lea -8
0
-63(%rcx),%rax
lea -8
8
-63(%rcx),%rax
sub %rbp,%rax
neg %rax
and \$0x3c0,%rax
...
...
@@ -1891,9 +1891,9 @@ AES_cbc_encrypt:
xchg %rsp,%rbp
add \$8,%rsp # reserve for return address!
mov %rbp,$_rsp # save %rsp
mov %rdi,$_inp # save copy of inp
mov %rsi,$_out # save copy of out
mov %rdx,$_len # save copy of len
#
mov %rdi,$_inp # save copy of inp
#
mov %rsi,$_out # save copy of out
#
mov %rdx,$_len # save copy of len
#mov %rcx,$_key # save copy of key
mov %r8,$_ivp # save copy of ivp
mov %r8,%rbp # rearrange input arguments
...
...
@@ -1901,6 +1901,7 @@ AES_cbc_encrypt:
mov %rsi,$out
mov %rdi,$inp
mov %rcx,$key
mov %rdx,%r10
mov 240($key),%eax
mov $key,$keyp # save key pointer
...
...
@@ -1919,8 +1920,7 @@ AES_cbc_encrypt:
je .LSLOW_DECRYPT
#--------------------------- SLOW ENCRYPT ---------------------------#
test \$-16,%rdx # check upon length
mov %rdx,%r10
test \$-16,%r10 # check upon length
mov 0(%rbp),$s0 # load iv
mov 4(%rbp),$s1
mov 8(%rbp),$s2
...
...
@@ -1936,12 +1936,13 @@ AES_cbc_encrypt:
mov $keyp,$key # restore key
mov $inp,$_inp # save inp
mov $out,$_out # save out
mov %r10,$_len # save len
call _x86_64_AES_encrypt_compact
mov $_inp,$inp # restore inp
mov $_out,$out # restore out
mov $_len,%r10
mov $_len,%r10
# restore len
mov $s0,0($out)
mov $s1,4($out)
mov $s2,8($out)
...
...
@@ -1951,7 +1952,6 @@ AES_cbc_encrypt:
lea 16($out),$out
sub \$16,%r10
test \$-16,%r10
mov %r10,$_len
jnz .Lcbc_slow_enc_loop
test \$15,%r10
jnz .Lcbc_slow_enc_tail
...
...
@@ -1969,12 +1969,12 @@ AES_cbc_encrypt:
mov %r10,%rcx
mov $inp,%rsi
mov $out,%rdi
.long 0x
F689
A4F3 # rep movsb
.long 0x
9066
A4F3 # rep movsb
.Lcbc_slow_enc_in_place:
mov \$16,%rcx # zero tail
sub %r10,%rcx
xor %rax,%rax
.long 0x
F689
AAF3 # rep stosb
.long 0x
9066
AAF3 # rep stosb
mov $out,$inp # this is not a mistake!
movq \$16,$_len # len=16
jmp .Lcbc_slow_enc_loop # one more spin...
...
...
@@ -1984,10 +1984,10 @@ AES_cbc_encrypt:
shr \$3,%rax
add %rax,$sbox # recall "magic" constants!
mov 0(%rbp),%r1
0
# copy iv to stack
mov 8(%rbp),%r1
1
mov %r1
0
,0+$ivec
mov %r1
1
,8+$ivec
mov 0(%rbp),%r1
1
# copy iv to stack
mov 8(%rbp),%r1
2
mov %r1
1
,0+$ivec
mov %r1
2
,8+$ivec
.align 4
.Lcbc_slow_dec_loop:
...
...
@@ -1998,6 +1998,7 @@ AES_cbc_encrypt:
mov $keyp,$key # restore key
mov $inp,$_inp # save inp
mov $out,$_out # save out
mov %r10,$_len # save len
call _x86_64_AES_decrypt_compact
...
...
@@ -2025,7 +2026,6 @@ AES_cbc_encrypt:
lea 16($inp),$inp
lea 16($out),$out
mov %r10,$_len
jmp .Lcbc_slow_dec_loop
.Lcbc_slow_dec_done:
mov $_ivp,%rdi
...
...
@@ -2053,7 +2053,7 @@ AES_cbc_encrypt:
mov $out,%rdi
lea $ivec,%rsi
lea 16(%r10),%rcx
.long 0x
F689
A4F3 # rep movsb
.long 0x
9066
A4F3 # rep movsb
jmp .Lcbc_exit
.size AES_cbc_encrypt,.-AES_cbc_encrypt
___
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录