Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
0985bd4f
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
1 年多 前同步成功
通知
10
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看板
提交
0985bd4f
编写于
11月 13, 2011
作者:
A
Andy Polyakov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
bn_nist.c: fix strict-aliasing compiler warning.
上级
20bee968
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
41 addition
and
33 deletion
+41
-33
crypto/bn/bn_nist.c
crypto/bn/bn_nist.c
+41
-33
未找到文件。
crypto/bn/bn_nist.c
浏览文件 @
0985bd4f
...
...
@@ -366,7 +366,6 @@ static void nist_cp_bn(BN_ULONG *buf, BN_ULONG *a, int top)
# endif
#endif
/* BN_BITS2 != 64 */
#define nist_set_192(to, from, a1, a2, a3) \
{ \
bn_cp_64(to, 0, from, (a3) - 3) \
...
...
@@ -380,8 +379,11 @@ int BN_nist_mod_192(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,
int
top
=
a
->
top
,
i
;
int
carry
;
register
BN_ULONG
*
r_d
,
*
a_d
=
a
->
d
;
BN_ULONG
buf
[
BN_NIST_192_TOP
],
c_d
[
BN_NIST_192_TOP
],
union
{
BN_ULONG
bn
[
BN_NIST_192_TOP
];
unsigned
int
ui
[
BN_NIST_192_TOP
*
sizeof
(
BN_ULONG
)
/
sizeof
(
unsigned
int
)];
}
buf
;
BN_ULONG
c_d
[
BN_NIST_192_TOP
],
*
res
;
PTR_SIZE_INT
mask
;
static
const
BIGNUM
_bignum_nist_p_192_sqr
=
{
...
...
@@ -414,13 +416,13 @@ int BN_nist_mod_192(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,
else
r_d
=
a_d
;
nist_cp_bn_0
(
buf
,
a_d
+
BN_NIST_192_TOP
,
top
-
BN_NIST_192_TOP
,
BN_NIST_192_TOP
);
nist_cp_bn_0
(
buf
.
bn
,
a_d
+
BN_NIST_192_TOP
,
top
-
BN_NIST_192_TOP
,
BN_NIST_192_TOP
);
#if defined(NIST_INT64)
{
NIST_INT64
acc
;
/* accumulator */
unsigned
int
*
rp
=
(
unsigned
int
*
)
r_d
;
const
unsigned
int
*
bp
=
(
const
unsigned
int
*
)
buf
;
const
unsigned
int
*
bp
=
(
const
unsigned
int
*
)
buf
.
ui
;
acc
=
rp
[
0
];
acc
+=
bp
[
3
*
2
-
6
];
acc
+=
bp
[
5
*
2
-
6
];
rp
[
0
]
=
(
unsigned
int
)
acc
;
acc
>>=
32
;
...
...
@@ -448,11 +450,11 @@ int BN_nist_mod_192(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,
{
BN_ULONG
t_d
[
BN_NIST_192_TOP
];
nist_set_192
(
t_d
,
buf
,
0
,
3
,
3
);
nist_set_192
(
t_d
,
buf
.
bn
,
0
,
3
,
3
);
carry
=
(
int
)
bn_add_words
(
r_d
,
r_d
,
t_d
,
BN_NIST_192_TOP
);
nist_set_192
(
t_d
,
buf
,
4
,
4
,
0
);
nist_set_192
(
t_d
,
buf
.
bn
,
4
,
4
,
0
);
carry
+=
(
int
)
bn_add_words
(
r_d
,
r_d
,
t_d
,
BN_NIST_192_TOP
);
nist_set_192
(
t_d
,
buf
,
5
,
5
,
5
)
nist_set_192
(
t_d
,
buf
.
bn
,
5
,
5
,
5
)
carry
+=
(
int
)
bn_add_words
(
r_d
,
r_d
,
t_d
,
BN_NIST_192_TOP
);
}
#endif
...
...
@@ -651,8 +653,11 @@ int BN_nist_mod_256(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,
int
i
,
top
=
a
->
top
;
int
carry
=
0
;
register
BN_ULONG
*
a_d
=
a
->
d
,
*
r_d
;
BN_ULONG
buf
[
BN_NIST_256_TOP
],
c_d
[
BN_NIST_256_TOP
],
union
{
BN_ULONG
bn
[
BN_NIST_256_TOP
];
unsigned
int
ui
[
BN_NIST_256_TOP
*
sizeof
(
BN_ULONG
)
/
sizeof
(
unsigned
int
)];
}
buf
;
BN_ULONG
c_d
[
BN_NIST_256_TOP
],
*
res
;
PTR_SIZE_INT
mask
;
union
{
bn_addsub_f
f
;
PTR_SIZE_INT
p
;
}
u
;
...
...
@@ -686,13 +691,13 @@ int BN_nist_mod_256(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,
else
r_d
=
a_d
;
nist_cp_bn_0
(
buf
,
a_d
+
BN_NIST_256_TOP
,
top
-
BN_NIST_256_TOP
,
BN_NIST_256_TOP
);
nist_cp_bn_0
(
buf
.
bn
,
a_d
+
BN_NIST_256_TOP
,
top
-
BN_NIST_256_TOP
,
BN_NIST_256_TOP
);
#if defined(NIST_INT64)
{
NIST_INT64
acc
;
/* accumulator */
unsigned
int
*
rp
=
(
unsigned
int
*
)
r_d
;
const
unsigned
int
*
bp
=
(
const
unsigned
int
*
)
buf
;
const
unsigned
int
*
bp
=
(
const
unsigned
int
*
)
buf
.
ui
;
acc
=
rp
[
0
];
acc
+=
bp
[
8
-
8
];
acc
+=
bp
[
9
-
8
];
...
...
@@ -764,9 +769,9 @@ int BN_nist_mod_256(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,
BN_ULONG
t_d
[
BN_NIST_256_TOP
];
/*S1*/
nist_set_256
(
t_d
,
buf
,
15
,
14
,
13
,
12
,
11
,
0
,
0
,
0
);
nist_set_256
(
t_d
,
buf
.
bn
,
15
,
14
,
13
,
12
,
11
,
0
,
0
,
0
);
/*S2*/
nist_set_256
(
c_d
,
buf
,
0
,
15
,
14
,
13
,
12
,
0
,
0
,
0
);
nist_set_256
(
c_d
,
buf
.
bn
,
0
,
15
,
14
,
13
,
12
,
0
,
0
,
0
);
carry
=
(
int
)
bn_add_words
(
t_d
,
t_d
,
c_d
,
BN_NIST_256_TOP
);
/* left shift */
{
...
...
@@ -784,22 +789,22 @@ int BN_nist_mod_256(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,
}
carry
+=
(
int
)
bn_add_words
(
r_d
,
r_d
,
t_d
,
BN_NIST_256_TOP
);
/*S3*/
nist_set_256
(
t_d
,
buf
,
15
,
14
,
0
,
0
,
0
,
10
,
9
,
8
);
nist_set_256
(
t_d
,
buf
.
bn
,
15
,
14
,
0
,
0
,
0
,
10
,
9
,
8
);
carry
+=
(
int
)
bn_add_words
(
r_d
,
r_d
,
t_d
,
BN_NIST_256_TOP
);
/*S4*/
nist_set_256
(
t_d
,
buf
,
8
,
13
,
15
,
14
,
13
,
11
,
10
,
9
);
nist_set_256
(
t_d
,
buf
.
bn
,
8
,
13
,
15
,
14
,
13
,
11
,
10
,
9
);
carry
+=
(
int
)
bn_add_words
(
r_d
,
r_d
,
t_d
,
BN_NIST_256_TOP
);
/*D1*/
nist_set_256
(
t_d
,
buf
,
10
,
8
,
0
,
0
,
0
,
13
,
12
,
11
);
nist_set_256
(
t_d
,
buf
.
bn
,
10
,
8
,
0
,
0
,
0
,
13
,
12
,
11
);
carry
-=
(
int
)
bn_sub_words
(
r_d
,
r_d
,
t_d
,
BN_NIST_256_TOP
);
/*D2*/
nist_set_256
(
t_d
,
buf
,
11
,
9
,
0
,
0
,
15
,
14
,
13
,
12
);
nist_set_256
(
t_d
,
buf
.
bn
,
11
,
9
,
0
,
0
,
15
,
14
,
13
,
12
);
carry
-=
(
int
)
bn_sub_words
(
r_d
,
r_d
,
t_d
,
BN_NIST_256_TOP
);
/*D3*/
nist_set_256
(
t_d
,
buf
,
12
,
0
,
10
,
9
,
8
,
15
,
14
,
13
);
nist_set_256
(
t_d
,
buf
.
bn
,
12
,
0
,
10
,
9
,
8
,
15
,
14
,
13
);
carry
-=
(
int
)
bn_sub_words
(
r_d
,
r_d
,
t_d
,
BN_NIST_256_TOP
);
/*D4*/
nist_set_256
(
t_d
,
buf
,
13
,
0
,
11
,
10
,
9
,
0
,
15
,
14
);
nist_set_256
(
t_d
,
buf
.
bn
,
13
,
0
,
11
,
10
,
9
,
0
,
15
,
14
);
carry
-=
(
int
)
bn_sub_words
(
r_d
,
r_d
,
t_d
,
BN_NIST_256_TOP
);
}
...
...
@@ -851,8 +856,11 @@ int BN_nist_mod_384(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,
int
i
,
top
=
a
->
top
;
int
carry
=
0
;
register
BN_ULONG
*
r_d
,
*
a_d
=
a
->
d
;
BN_ULONG
buf
[
BN_NIST_384_TOP
],
c_d
[
BN_NIST_384_TOP
],
union
{
BN_ULONG
bn
[
BN_NIST_384_TOP
];
unsigned
int
ui
[
BN_NIST_384_TOP
*
sizeof
(
BN_ULONG
)
/
sizeof
(
unsigned
int
)];
}
buf
;
BN_ULONG
c_d
[
BN_NIST_384_TOP
],
*
res
;
PTR_SIZE_INT
mask
;
union
{
bn_addsub_f
f
;
PTR_SIZE_INT
p
;
}
u
;
...
...
@@ -887,13 +895,13 @@ int BN_nist_mod_384(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,
else
r_d
=
a_d
;
nist_cp_bn_0
(
buf
,
a_d
+
BN_NIST_384_TOP
,
top
-
BN_NIST_384_TOP
,
BN_NIST_384_TOP
);
nist_cp_bn_0
(
buf
.
bn
,
a_d
+
BN_NIST_384_TOP
,
top
-
BN_NIST_384_TOP
,
BN_NIST_384_TOP
);
#if defined(NIST_INT64)
{
NIST_INT64
acc
;
/* accumulator */
unsigned
int
*
rp
=
(
unsigned
int
*
)
r_d
;
const
unsigned
int
*
bp
=
(
const
unsigned
int
*
)
buf
;
const
unsigned
int
*
bp
=
(
const
unsigned
int
*
)
buf
.
ui
;
acc
=
rp
[
0
];
acc
+=
bp
[
12
-
12
];
acc
+=
bp
[
21
-
12
];
...
...
@@ -980,7 +988,7 @@ int BN_nist_mod_384(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,
BN_ULONG
t_d
[
BN_NIST_384_TOP
];
/*S1*/
nist_set_256
(
t_d
,
buf
,
0
,
0
,
0
,
0
,
0
,
23
-
4
,
22
-
4
,
21
-
4
);
nist_set_256
(
t_d
,
buf
.
bn
,
0
,
0
,
0
,
0
,
0
,
23
-
4
,
22
-
4
,
21
-
4
);
/* left shift */
{
register
BN_ULONG
*
ap
,
t
,
c
;
...
...
@@ -997,27 +1005,27 @@ int BN_nist_mod_384(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,
carry
=
(
int
)
bn_add_words
(
r_d
+
(
128
/
BN_BITS2
),
r_d
+
(
128
/
BN_BITS2
),
t_d
,
BN_NIST_256_TOP
);
/*S2 */
carry
+=
(
int
)
bn_add_words
(
r_d
,
r_d
,
buf
,
BN_NIST_384_TOP
);
carry
+=
(
int
)
bn_add_words
(
r_d
,
r_d
,
buf
.
bn
,
BN_NIST_384_TOP
);
/*S3*/
nist_set_384
(
t_d
,
buf
,
20
,
19
,
18
,
17
,
16
,
15
,
14
,
13
,
12
,
23
,
22
,
21
);
nist_set_384
(
t_d
,
buf
.
bn
,
20
,
19
,
18
,
17
,
16
,
15
,
14
,
13
,
12
,
23
,
22
,
21
);
carry
+=
(
int
)
bn_add_words
(
r_d
,
r_d
,
t_d
,
BN_NIST_384_TOP
);
/*S4*/
nist_set_384
(
t_d
,
buf
,
19
,
18
,
17
,
16
,
15
,
14
,
13
,
12
,
20
,
0
,
23
,
0
);
nist_set_384
(
t_d
,
buf
.
bn
,
19
,
18
,
17
,
16
,
15
,
14
,
13
,
12
,
20
,
0
,
23
,
0
);
carry
+=
(
int
)
bn_add_words
(
r_d
,
r_d
,
t_d
,
BN_NIST_384_TOP
);
/*S5*/
nist_set_384
(
t_d
,
buf
,
0
,
0
,
0
,
0
,
23
,
22
,
21
,
20
,
0
,
0
,
0
,
0
);
nist_set_384
(
t_d
,
buf
.
bn
,
0
,
0
,
0
,
0
,
23
,
22
,
21
,
20
,
0
,
0
,
0
,
0
);
carry
+=
(
int
)
bn_add_words
(
r_d
,
r_d
,
t_d
,
BN_NIST_384_TOP
);
/*S6*/
nist_set_384
(
t_d
,
buf
,
0
,
0
,
0
,
0
,
0
,
0
,
23
,
22
,
21
,
0
,
0
,
20
);
nist_set_384
(
t_d
,
buf
.
bn
,
0
,
0
,
0
,
0
,
0
,
0
,
23
,
22
,
21
,
0
,
0
,
20
);
carry
+=
(
int
)
bn_add_words
(
r_d
,
r_d
,
t_d
,
BN_NIST_384_TOP
);
/*D1*/
nist_set_384
(
t_d
,
buf
,
22
,
21
,
20
,
19
,
18
,
17
,
16
,
15
,
14
,
13
,
12
,
23
);
nist_set_384
(
t_d
,
buf
.
bn
,
22
,
21
,
20
,
19
,
18
,
17
,
16
,
15
,
14
,
13
,
12
,
23
);
carry
-=
(
int
)
bn_sub_words
(
r_d
,
r_d
,
t_d
,
BN_NIST_384_TOP
);
/*D2*/
nist_set_384
(
t_d
,
buf
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
23
,
22
,
21
,
20
,
0
);
nist_set_384
(
t_d
,
buf
.
bn
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
23
,
22
,
21
,
20
,
0
);
carry
-=
(
int
)
bn_sub_words
(
r_d
,
r_d
,
t_d
,
BN_NIST_384_TOP
);
/*D3*/
nist_set_384
(
t_d
,
buf
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
23
,
23
,
0
,
0
,
0
);
nist_set_384
(
t_d
,
buf
.
bn
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
23
,
23
,
0
,
0
,
0
);
carry
-=
(
int
)
bn_sub_words
(
r_d
,
r_d
,
t_d
,
BN_NIST_384_TOP
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录