Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
ce0727f9
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看板
提交
ce0727f9
编写于
1月 06, 2012
作者:
A
Andy Polyakov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
bn_nist.c: harmonize buf in BN_nist_mod_256 with other mod functions.
上级
8e855452
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
19 addition
and
13 deletion
+19
-13
crypto/bn/bn_nist.c
crypto/bn/bn_nist.c
+19
-13
未找到文件。
crypto/bn/bn_nist.c
浏览文件 @
ce0727f9
...
...
@@ -306,10 +306,11 @@ const BIGNUM *BN_get0_nist_prime_521(void)
}
static
void
nist_cp_bn_0
(
BN_ULONG
*
buf
,
BN_ULONG
*
a
,
int
top
,
int
max
)
static
void
nist_cp_bn_0
(
BN_ULONG
*
buf
,
const
BN_ULONG
*
a
,
int
top
,
int
max
)
{
int
i
;
BN_ULONG
*
_tmp1
=
(
buf
),
*
_tmp2
=
(
a
);
BN_ULONG
*
_tmp1
=
(
buf
);
const
BN_ULONG
*
_tmp2
=
(
a
);
#ifdef BN_DEBUG
OPENSSL_assert
(
top
<=
max
);
...
...
@@ -320,10 +321,12 @@ static void nist_cp_bn_0(BN_ULONG *buf, BN_ULONG *a, int top, int max)
*
_tmp1
++
=
(
BN_ULONG
)
0
;
}
static
void
nist_cp_bn
(
BN_ULONG
*
buf
,
BN_ULONG
*
a
,
int
top
)
static
void
nist_cp_bn
(
BN_ULONG
*
buf
,
const
BN_ULONG
*
a
,
int
top
)
{
int
i
;
BN_ULONG
*
_tmp1
=
(
buf
),
*
_tmp2
=
(
a
);
BN_ULONG
*
_tmp1
=
(
buf
);
const
BN_ULONG
*
_tmp2
=
(
a
);
for
(
i
=
(
top
);
i
!=
0
;
i
--
)
*
_tmp1
++
=
*
_tmp2
++
;
}
...
...
@@ -499,8 +502,11 @@ int BN_nist_mod_224(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,
int
top
=
a
->
top
,
i
;
int
carry
;
BN_ULONG
*
r_d
,
*
a_d
=
a
->
d
;
BN_ULONG
buf
[
BN_NIST_224_TOP
],
c_d
[
BN_NIST_224_TOP
],
union
{
BN_ULONG
bn
[
BN_NIST_224_TOP
];
unsigned
int
ui
[
BN_NIST_224_TOP
*
sizeof
(
BN_ULONG
)
/
sizeof
(
unsigned
int
)];
}
buf
;
BN_ULONG
c_d
[
BN_NIST_224_TOP
],
*
res
;
PTR_SIZE_INT
mask
;
union
{
bn_addsub_f
f
;
PTR_SIZE_INT
p
;
}
u
;
...
...
@@ -539,18 +545,18 @@ int BN_nist_mod_224(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,
/* copy upper 256 bits of 448 bit number ... */
nist_cp_bn_0
(
c_d
,
a_d
+
(
BN_NIST_224_TOP
-
1
),
top
-
(
BN_NIST_224_TOP
-
1
),
BN_NIST_224_TOP
);
/* ... and right shift by 32 to obtain upper 224 bits */
nist_set_224
(
buf
,
c_d
,
14
,
13
,
12
,
11
,
10
,
9
,
8
);
nist_set_224
(
buf
.
bn
,
c_d
,
14
,
13
,
12
,
11
,
10
,
9
,
8
);
/* truncate lower part to 224 bits too */
r_d
[
BN_NIST_224_TOP
-
1
]
&=
BN_MASK2l
;
#else
nist_cp_bn_0
(
buf
,
a_d
+
BN_NIST_224_TOP
,
top
-
BN_NIST_224_TOP
,
BN_NIST_224_TOP
);
nist_cp_bn_0
(
buf
.
bn
,
a_d
+
BN_NIST_224_TOP
,
top
-
BN_NIST_224_TOP
,
BN_NIST_224_TOP
);
#endif
#if defined(NIST_INT64) && BN_BITS2!=64
{
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
[
7
-
7
];
acc
-=
bp
[
11
-
7
];
rp
[
0
]
=
(
unsigned
int
)
acc
;
acc
>>=
32
;
...
...
@@ -585,13 +591,13 @@ int BN_nist_mod_224(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,
{
BN_ULONG
t_d
[
BN_NIST_224_TOP
];
nist_set_224
(
t_d
,
buf
,
10
,
9
,
8
,
7
,
0
,
0
,
0
);
nist_set_224
(
t_d
,
buf
.
bn
,
10
,
9
,
8
,
7
,
0
,
0
,
0
);
carry
=
(
int
)
bn_add_words
(
r_d
,
r_d
,
t_d
,
BN_NIST_224_TOP
);
nist_set_224
(
t_d
,
buf
,
0
,
13
,
12
,
11
,
0
,
0
,
0
);
nist_set_224
(
t_d
,
buf
.
bn
,
0
,
13
,
12
,
11
,
0
,
0
,
0
);
carry
+=
(
int
)
bn_add_words
(
r_d
,
r_d
,
t_d
,
BN_NIST_224_TOP
);
nist_set_224
(
t_d
,
buf
,
13
,
12
,
11
,
10
,
9
,
8
,
7
);
nist_set_224
(
t_d
,
buf
.
bn
,
13
,
12
,
11
,
10
,
9
,
8
,
7
);
carry
-=
(
int
)
bn_sub_words
(
r_d
,
r_d
,
t_d
,
BN_NIST_224_TOP
);
nist_set_224
(
t_d
,
buf
,
0
,
0
,
0
,
0
,
13
,
12
,
11
);
nist_set_224
(
t_d
,
buf
.
bn
,
0
,
0
,
0
,
0
,
13
,
12
,
11
);
carry
-=
(
int
)
bn_sub_words
(
r_d
,
r_d
,
t_d
,
BN_NIST_224_TOP
);
#if BN_BITS2==64
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录