Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
46f047d7
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
11 个月 前同步成功
通知
8
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,发现更多精彩内容 >>
提交
46f047d7
编写于
5月 30, 2016
作者:
A
Andy Polyakov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
evp/e_aes.c: wire hardware-assisted XTS subroutines.
Reviewed-by:
N
Rich Salz
<
rsalz@openssl.org
>
上级
b53d3257
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
14 addition
and
0 deletion
+14
-0
crypto/evp/e_aes.c
crypto/evp/e_aes.c
+14
-0
未找到文件。
crypto/evp/e_aes.c
浏览文件 @
46f047d7
...
@@ -155,6 +155,8 @@ void AES_xts_decrypt(const char *inp, char *out, size_t len,
...
@@ -155,6 +155,8 @@ void AES_xts_decrypt(const char *inp, char *out, size_t len,
# define HWAES_decrypt aes_p8_decrypt
# define HWAES_decrypt aes_p8_decrypt
# define HWAES_cbc_encrypt aes_p8_cbc_encrypt
# define HWAES_cbc_encrypt aes_p8_cbc_encrypt
# define HWAES_ctr32_encrypt_blocks aes_p8_ctr32_encrypt_blocks
# define HWAES_ctr32_encrypt_blocks aes_p8_ctr32_encrypt_blocks
# define HWAES_xts_encrypt aes_p8_xts_encrypt
# define HWAES_xts_decrypt aes_p8_xts_decrypt
#endif
#endif
#if defined(AES_ASM) && !defined(I386_ONLY) && ( \
#if defined(AES_ASM) && !defined(I386_ONLY) && ( \
...
@@ -1008,6 +1010,12 @@ void HWAES_cbc_encrypt(const unsigned char *in, unsigned char *out,
...
@@ -1008,6 +1010,12 @@ void HWAES_cbc_encrypt(const unsigned char *in, unsigned char *out,
void
HWAES_ctr32_encrypt_blocks
(
const
unsigned
char
*
in
,
unsigned
char
*
out
,
void
HWAES_ctr32_encrypt_blocks
(
const
unsigned
char
*
in
,
unsigned
char
*
out
,
size_t
len
,
const
AES_KEY
*
key
,
size_t
len
,
const
AES_KEY
*
key
,
const
unsigned
char
ivec
[
16
]);
const
unsigned
char
ivec
[
16
]);
void
HWAES_xts_encrypt
(
const
unsigned
char
*
inp
,
unsigned
char
*
out
,
size_t
len
,
const
AES_KEY
*
key1
,
const
AES_KEY
*
key2
,
const
unsigned
char
iv
[
16
]);
void
HWAES_xts_decrypt
(
const
unsigned
char
*
inp
,
unsigned
char
*
out
,
size_t
len
,
const
AES_KEY
*
key1
,
const
AES_KEY
*
key2
,
const
unsigned
char
iv
[
16
]);
#endif
#endif
#define BLOCK_CIPHER_generic_pack(nid,keylen,flags) \
#define BLOCK_CIPHER_generic_pack(nid,keylen,flags) \
...
@@ -1804,11 +1812,17 @@ static int aes_xts_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
...
@@ -1804,11 +1812,17 @@ static int aes_xts_init_key(EVP_CIPHER_CTX *ctx, const unsigned char *key,
EVP_CIPHER_CTX_key_length
(
ctx
)
*
4
,
EVP_CIPHER_CTX_key_length
(
ctx
)
*
4
,
&
xctx
->
ks1
.
ks
);
&
xctx
->
ks1
.
ks
);
xctx
->
xts
.
block1
=
(
block128_f
)
HWAES_encrypt
;
xctx
->
xts
.
block1
=
(
block128_f
)
HWAES_encrypt
;
# ifdef HWAES_xts_encrypt
xctx
->
stream
=
HWAES_xts_encrypt
;
# endif
}
else
{
}
else
{
HWAES_set_decrypt_key
(
key
,
HWAES_set_decrypt_key
(
key
,
EVP_CIPHER_CTX_key_length
(
ctx
)
*
4
,
EVP_CIPHER_CTX_key_length
(
ctx
)
*
4
,
&
xctx
->
ks1
.
ks
);
&
xctx
->
ks1
.
ks
);
xctx
->
xts
.
block1
=
(
block128_f
)
HWAES_decrypt
;
xctx
->
xts
.
block1
=
(
block128_f
)
HWAES_decrypt
;
# ifdef HWAES_xts_decrypt
xctx
->
stream
=
HWAES_xts_decrypt
;
#endif
}
}
HWAES_set_encrypt_key
(
key
+
EVP_CIPHER_CTX_key_length
(
ctx
)
/
2
,
HWAES_set_encrypt_key
(
key
+
EVP_CIPHER_CTX_key_length
(
ctx
)
/
2
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录