Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
b3214008
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,发现更多精彩内容 >>
提交
b3214008
编写于
2月 10, 2016
作者:
A
Andy Polyakov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Configurations: engage PPC ChaCha20 and Poly1305 modules.
Reviewed-by:
N
Richard Levitte
<
levitte@openssl.org
>
上级
9e58d119
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
41 addition
and
0 deletion
+41
-0
Configurations/00-base-templates.conf
Configurations/00-base-templates.conf
+2
-0
crypto/ppccap.c
crypto/ppccap.c
+39
-0
未找到文件。
Configurations/00-base-templates.conf
浏览文件 @
b3214008
...
...
@@ -190,6 +190,8 @@
aes_asm_src
=>
"aes_core.c aes_cbc.c aes-ppc.s vpaes-ppc.s aesp8-ppc.s"
,
sha1_asm_src
=>
"sha1-ppc.s sha256-ppc.s sha512-ppc.s sha256p8-ppc.s sha512p8-ppc.s"
,
modes_asm_src
=>
"ghashp8-ppc.s"
,
chacha_asm_src
=>
"chacha-ppc.s"
,
poly1305_asm_src
=>
"poly1305-ppc.s poly1305-ppcfp.s"
,
},
ppc32_asm
=> {
inherit_from
=> [
"ppc64_asm"
],
...
...
crypto/ppccap.c
浏览文件 @
b3214008
...
...
@@ -79,6 +79,45 @@ void sha512_block_data_order(void *ctx, const void *inp, size_t len)
sha512_block_ppc
(
ctx
,
inp
,
len
);
}
void
ChaCha20_ctr32_int
(
unsigned
char
*
out
,
const
unsigned
char
*
inp
,
size_t
len
,
const
unsigned
int
key
[
8
],
const
unsigned
int
counter
[
4
]);
void
ChaCha20_ctr32_vmx
(
unsigned
char
*
out
,
const
unsigned
char
*
inp
,
size_t
len
,
const
unsigned
int
key
[
8
],
const
unsigned
int
counter
[
4
]);
void
ChaCha20_ctr32
(
unsigned
char
*
out
,
const
unsigned
char
*
inp
,
size_t
len
,
const
unsigned
int
key
[
8
],
const
unsigned
int
counter
[
4
])
{
OPENSSL_ppccap_P
&
PPC_ALTIVEC
?
ChaCha20_ctr32_vmx
(
out
,
inp
,
len
,
key
,
counter
)
:
ChaCha20_ctr32_int
(
out
,
inp
,
len
,
key
,
counter
);
}
void
poly1305_init_int
(
void
*
ctx
,
const
unsigned
char
key
[
16
]);
void
poly1305_blocks
(
void
*
ctx
,
const
unsigned
char
*
inp
,
size_t
len
,
unsigned
int
padbit
);
void
poly1305_emit
(
void
*
ctx
,
unsigned
char
mac
[
16
],
const
unsigned
int
nonce
[
4
]);
void
poly1305_init_fpu
(
void
*
ctx
,
const
unsigned
char
key
[
16
]);
void
poly1305_blocks_fpu
(
void
*
ctx
,
const
unsigned
char
*
inp
,
size_t
len
,
unsigned
int
padbit
);
void
poly1305_emit_fpu
(
void
*
ctx
,
unsigned
char
mac
[
16
],
const
unsigned
int
nonce
[
4
]);
int
poly1305_init
(
void
*
ctx
,
const
unsigned
char
key
[
16
],
void
*
func
[
2
])
{
if
(
sizeof
(
size_t
)
==
4
&&
(
OPENSSL_ppccap_P
&
PPC_FPU
))
{
poly1305_init_fpu
(
ctx
,
key
);
func
[
0
]
=
poly1305_blocks_fpu
;
func
[
1
]
=
poly1305_emit_fpu
;
}
else
{
poly1305_init_int
(
ctx
,
key
);
func
[
0
]
=
poly1305_blocks
;
func
[
1
]
=
poly1305_emit
;
}
return
1
;
}
static
sigjmp_buf
ill_jmp
;
static
void
ill_handler
(
int
sig
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录