Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
19f7e5e2
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看板
提交
19f7e5e2
编写于
5月 01, 2010
作者:
B
Ben Laurie
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Missing declarations, no assembler in PEDANTIC.
上级
bb92e2c8
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
19 addition
and
4 deletion
+19
-4
crypto/modes/gcm128.c
crypto/modes/gcm128.c
+4
-4
crypto/modes/modes.h
crypto/modes/modes.h
+15
-0
未找到文件。
crypto/modes/gcm128.c
浏览文件 @
19f7e5e2
...
...
@@ -83,7 +83,7 @@ typedef struct { u64 hi,lo; } u128;
# undef STRICT_ALIGNMENT
#endif
#if defined(__GNUC__) && __GNUC__>=2
#if defined(__GNUC__) && __GNUC__>=2
&& !defined(PEDANTIC)
# if defined(__x86_64) || defined(__x86_64__)
# define BSWAP8(x) ({ u64 ret=(x); \
asm volatile ("bswapq %0" \
...
...
@@ -91,7 +91,7 @@ typedef struct { u64 hi,lo; } u128;
# define BSWAP4(x) ({ u32 ret=(x); \
asm volatile ("bswapl %0" \
: "+r"(ret)); ret; })
# elif
defined(__i386) || defined(__i386__
)
# elif
(defined(__i386) || defined(__i386__)) && !defined(PEDANTIC
)
# define BSWAP8(x) ({ u32 lo=(u64)(x)>>32,hi=(x); \
asm volatile ("bswapl %0; bswapl %1" \
: "+r"(hi),"+r"(lo)); \
...
...
@@ -565,7 +565,7 @@ static void gcm_gmult_1bit(u64 Xi[2],const u64 H[2])
#endif
typedef
struc
t
{
struct
gcm128_contex
t
{
/* Following 6 names follow names in GCM specification */
union
{
u64
u
[
2
];
u32
d
[
4
];
u8
c
[
16
];
}
Yi
,
EKi
,
EK0
,
Xi
,
H
,
...
...
@@ -579,7 +579,7 @@ typedef struct {
unsigned
int
res
,
ctr
;
block128_f
block
;
void
*
key
;
}
GCM128_CONTEXT
;
};
void
CRYPTO_gcm128_init
(
GCM128_CONTEXT
*
ctx
,
void
*
key
,
block128_f
block
)
{
...
...
crypto/modes/modes.h
浏览文件 @
19f7e5e2
...
...
@@ -70,3 +70,18 @@ size_t CRYPTO_nistcts128_decrypt_block(const unsigned char *in, unsigned char *o
size_t
CRYPTO_nistcts128_decrypt
(
const
unsigned
char
*
in
,
unsigned
char
*
out
,
size_t
len
,
const
void
*
key
,
unsigned
char
ivec
[
16
],
cbc128_f
cbc
);
typedef
struct
gcm128_context
GCM128_CONTEXT
;
void
CRYPTO_gcm128_init
(
GCM128_CONTEXT
*
ctx
,
void
*
key
,
block128_f
block
);
void
CRYPTO_gcm128_setiv
(
GCM128_CONTEXT
*
ctx
,
const
unsigned
char
*
iv
,
size_t
len
);
void
CRYPTO_gcm128_aad
(
GCM128_CONTEXT
*
ctx
,
const
unsigned
char
*
aad
,
size_t
len
);
void
CRYPTO_gcm128_encrypt
(
GCM128_CONTEXT
*
ctx
,
const
unsigned
char
*
in
,
unsigned
char
*
out
,
size_t
len
);
void
CRYPTO_gcm128_decrypt
(
GCM128_CONTEXT
*
ctx
,
const
unsigned
char
*
in
,
unsigned
char
*
out
,
size_t
len
);
void
CRYPTO_gcm128_finish
(
GCM128_CONTEXT
*
ctx
);
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录