Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
btwise
openssl
提交
8bd7ca99
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,发现更多精彩内容 >>
提交
8bd7ca99
编写于
12月 03, 2013
作者:
A
Andy Polyakov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
crypto/bn/asm/rsaz-x86_64.pl: make it work on Win64.
上级
31ed9a21
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
15 addition
and
13 deletion
+15
-13
crypto/bn/asm/rsaz-x86_64.pl
crypto/bn/asm/rsaz-x86_64.pl
+2
-0
crypto/bn/rsaz_exp.c
crypto/bn/rsaz_exp.c
+13
-13
未找到文件。
crypto/bn/asm/rsaz-x86_64.pl
浏览文件 @
8bd7ca99
...
...
@@ -910,6 +910,7 @@ rsaz_512_mul_gather4:
push %r14
push %r15
mov $pwr, $pwr
subq \$128+24, %rsp
.Lmul_gather4_body:
___
...
...
@@ -1249,6 +1250,7 @@ rsaz_512_mul_scatter4:
push %r14
push %r15
mov $pwr, $pwr
subq \$128+24, %rsp
.Lmul_scatter4_body:
leaq ($tbl,$pwr,4), $tbl
...
...
crypto/bn/rsaz_exp.c
浏览文件 @
8bd7ca99
...
...
@@ -46,8 +46,8 @@
* See crypto/bn/asm/rsaz-avx2.pl for further details.
*/
void
rsaz_1024_norm2red_avx2
(
void
*
red
,
const
void
*
norm
);
void
rsaz_1024_mul_avx2
(
void
*
ret
,
const
void
*
a
,
const
void
*
b
,
const
void
*
n
,
unsigned
long
k
);
void
rsaz_1024_sqr_avx2
(
void
*
ret
,
const
void
*
a
,
const
void
*
n
,
unsigned
long
k
,
int
cnt
);
void
rsaz_1024_mul_avx2
(
void
*
ret
,
const
void
*
a
,
const
void
*
b
,
const
void
*
n
,
BN_ULONG
k
);
void
rsaz_1024_sqr_avx2
(
void
*
ret
,
const
void
*
a
,
const
void
*
n
,
BN_ULONG
k
,
int
cnt
);
void
rsaz_1024_scatter5_avx2
(
void
*
tbl
,
const
void
*
val
,
int
i
);
void
rsaz_1024_gather5_avx2
(
void
*
val
,
const
void
*
tbl
,
int
i
);
void
rsaz_1024_red2norm_avx2
(
void
*
norm
,
const
void
*
red
);
...
...
@@ -63,9 +63,9 @@ void rsaz_1024_red2norm_avx2(void *norm,const void *red);
# define ALIGN64
/* not fatal, might hurt performance a little */
#endif
ALIGN64
static
const
unsigned
long
one
[
40
]
=
ALIGN64
static
const
BN_ULONG
one
[
40
]
=
{
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
};
ALIGN64
static
const
unsigned
long
two80
[
40
]
=
ALIGN64
static
const
BN_ULONG
two80
[
40
]
=
{
0
,
0
,
1
<<
22
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
};
void
RSAZ_1024_mod_exp_avx2
(
BN_ULONG
result_norm
[
16
],
...
...
@@ -256,13 +256,13 @@ void RSAZ_1024_mod_exp_avx2(BN_ULONG result_norm[16],
/*
* See crypto/bn/rsaz-x86_64.pl for further details.
*/
void
rsaz_512_mul
(
void
*
ret
,
const
void
*
a
,
const
void
*
b
,
const
void
*
n
,
unsigned
long
k
);
void
rsaz_512_mul_scatter4
(
void
*
ret
,
const
void
*
a
,
const
void
*
n
,
unsigned
long
k
,
const
void
*
tbl
,
unsigned
int
power
);
void
rsaz_512_mul_gather4
(
void
*
ret
,
const
void
*
a
,
const
void
*
tbl
,
const
void
*
n
,
unsigned
long
k
,
unsigned
int
power
);
void
rsaz_512_mul_by_one
(
void
*
ret
,
const
void
*
a
,
const
void
*
n
,
unsigned
long
k
);
void
rsaz_512_sqr
(
void
*
ret
,
const
void
*
a
,
const
void
*
n
,
unsigned
long
k
,
int
cnt
);
void
rsaz_512_scatter4
(
void
*
tbl
,
const
unsigned
long
*
val
,
int
power
);
void
rsaz_512_gather4
(
unsigned
long
*
val
,
const
void
*
tbl
,
int
power
);
void
rsaz_512_mul
(
void
*
ret
,
const
void
*
a
,
const
void
*
b
,
const
void
*
n
,
BN_ULONG
k
);
void
rsaz_512_mul_scatter4
(
void
*
ret
,
const
void
*
a
,
const
void
*
n
,
BN_ULONG
k
,
const
void
*
tbl
,
unsigned
int
power
);
void
rsaz_512_mul_gather4
(
void
*
ret
,
const
void
*
a
,
const
void
*
tbl
,
const
void
*
n
,
BN_ULONG
k
,
unsigned
int
power
);
void
rsaz_512_mul_by_one
(
void
*
ret
,
const
void
*
a
,
const
void
*
n
,
BN_ULONG
k
);
void
rsaz_512_sqr
(
void
*
ret
,
const
void
*
a
,
const
void
*
n
,
BN_ULONG
k
,
int
cnt
);
void
rsaz_512_scatter4
(
void
*
tbl
,
const
BN_ULONG
*
val
,
int
power
);
void
rsaz_512_gather4
(
BN_ULONG
*
val
,
const
void
*
tbl
,
int
power
);
void
RSAZ_512_mod_exp
(
BN_ULONG
result
[
8
],
const
BN_ULONG
base
[
8
],
const
BN_ULONG
exponent
[
8
],
...
...
@@ -270,8 +270,8 @@ void RSAZ_512_mod_exp(BN_ULONG result[8],
{
unsigned
char
storage
[
16
*
8
*
8
+
64
*
2
+
64
];
/* 1.2KB */
unsigned
char
*
table
=
storage
+
(
64
-
((
size_t
)
storage
%
64
));
unsigned
long
*
a_inv
=
(
unsigned
long
*
)(
table
+
16
*
8
*
8
),
*
temp
=
(
unsigned
long
*
)(
table
+
16
*
8
*
8
+
8
*
8
);
BN_ULONG
*
a_inv
=
(
BN_ULONG
*
)(
table
+
16
*
8
*
8
),
*
temp
=
(
BN_ULONG
*
)(
table
+
16
*
8
*
8
+
8
*
8
);
unsigned
char
*
p_str
=
(
unsigned
char
*
)
exponent
;
int
index
;
unsigned
int
wvalue
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录