Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
030a3f95
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,发现更多精彩内容 >>
提交
030a3f95
编写于
6月 02, 2014
作者:
A
Andy Polyakov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
evp/e_aes.c: populate HWAES_* to remaning modes.
Submitted by: Ard Biesheuvel.
上级
14f47acf
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
50 addition
and
0 deletion
+50
-0
crypto/evp/e_aes.c
crypto/evp/e_aes.c
+50
-0
未找到文件。
crypto/evp/e_aes.c
浏览文件 @
030a3f95
...
@@ -1311,6 +1311,20 @@ static int aes_gcm_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
...
@@ -1311,6 +1311,20 @@ static int aes_gcm_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
return
1
;
return
1
;
if
(
key
)
if
(
key
)
{
do
{
{
do
{
#ifdef HWAES_CAPABLE
if
(
HWAES_CAPABLE
)
{
HWAES_set_encrypt_key
(
key
,
ctx
->
key_len
*
8
,
&
gctx
->
ks
.
ks
);
CRYPTO_gcm128_init
(
&
gctx
->
gcm
,
&
gctx
->
ks
,
(
block128_f
)
HWAES_encrypt
);
#ifdef HWAES_ctr32_encrypt_blocks
gctx
->
ctr
=
(
ctr128_f
)
HWAES_ctr32_encrypt_blocks
;
#else
gctx
->
ctr
=
NULL
;
#endif
}
else
#endif
#ifdef BSAES_CAPABLE
#ifdef BSAES_CAPABLE
if
(
BSAES_CAPABLE
)
if
(
BSAES_CAPABLE
)
{
{
...
@@ -1706,6 +1720,29 @@ static int aes_xts_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
...
@@ -1706,6 +1720,29 @@ static int aes_xts_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
xctx
->
stream
=
NULL
;
xctx
->
stream
=
NULL
;
#endif
#endif
/* key_len is two AES keys */
/* key_len is two AES keys */
#ifdef HWAES_CAPABLE
if
(
HWAES_CAPABLE
)
{
if
(
enc
)
{
HWAES_set_encrypt_key
(
key
,
ctx
->
key_len
*
4
,
&
xctx
->
ks1
.
ks
);
xctx
->
xts
.
block1
=
(
block128_f
)
HWAES_encrypt
;
}
else
{
HWAES_set_decrypt_key
(
key
,
ctx
->
key_len
*
4
,
&
xctx
->
ks1
.
ks
);
xctx
->
xts
.
block1
=
(
block128_f
)
HWAES_decrypt
;
}
HWAES_set_encrypt_key
(
key
+
ctx
->
key_len
/
2
,
ctx
->
key_len
*
4
,
&
xctx
->
ks2
.
ks
);
xctx
->
xts
.
block2
=
(
block128_f
)
HWAES_encrypt
;
xctx
->
xts
.
key1
=
&
xctx
->
ks1
;
break
;
}
else
#endif
#ifdef BSAES_CAPABLE
#ifdef BSAES_CAPABLE
if
(
BSAES_CAPABLE
)
if
(
BSAES_CAPABLE
)
xctx
->
stream
=
enc
?
bsaes_xts_encrypt
:
bsaes_xts_decrypt
;
xctx
->
stream
=
enc
?
bsaes_xts_encrypt
:
bsaes_xts_decrypt
;
...
@@ -1856,6 +1893,19 @@ static int aes_ccm_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
...
@@ -1856,6 +1893,19 @@ static int aes_ccm_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
return
1
;
return
1
;
if
(
key
)
do
if
(
key
)
do
{
{
#ifdef HWAES_CAPABLE
if
(
HWAES_CAPABLE
)
{
HWAES_set_encrypt_key
(
key
,
ctx
->
key_len
*
8
,
&
cctx
->
ks
.
ks
);
CRYPTO_ccm128_init
(
&
cctx
->
ccm
,
cctx
->
M
,
cctx
->
L
,
&
cctx
->
ks
,
(
block128_f
)
HWAES_encrypt
);
cctx
->
str
=
NULL
;
cctx
->
key_set
=
1
;
break
;
}
else
#endif
#ifdef VPAES_CAPABLE
#ifdef VPAES_CAPABLE
if
(
VPAES_CAPABLE
)
if
(
VPAES_CAPABLE
)
{
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录