Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
8d1ebe0b
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
接近 2 年 前同步成功
通知
12
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看板
提交
8d1ebe0b
编写于
1月 28, 2004
作者:
R
Richard Levitte
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add the missing parts for DES CFB1 and CFB8.
Add the corresponding AES parts while I'm at it. make update
上级
1fb72444
变更
15
隐藏空白更改
内联
并排
Showing
15 changed file
with
335 addition
and
33 deletion
+335
-33
crypto/aes/aes.h
crypto/aes/aes.h
+9
-0
crypto/aes/aes_cfb.c
crypto/aes/aes_cfb.c
+93
-0
crypto/des/des.h
crypto/des/des.h
+4
-0
crypto/evp/c_allc.c
crypto/evp/c_allc.c
+8
-0
crypto/evp/e_aes.c
crypto/evp/e_aes.c
+22
-4
crypto/evp/e_des3.c
crypto/evp/e_des3.c
+2
-1
crypto/evp/evp.h
crypto/evp/evp.h
+38
-11
crypto/evp/evp_err.c
crypto/evp/evp_err.c
+3
-1
crypto/evp/evp_lib.c
crypto/evp/evp_lib.c
+24
-0
crypto/evp/evp_locl.h
crypto/evp/evp_locl.h
+11
-2
crypto/objects/obj_dat.h
crypto/objects/obj_dat.h
+33
-3
crypto/objects/obj_mac.h
crypto/objects/obj_mac.h
+40
-0
crypto/objects/obj_mac.num
crypto/objects/obj_mac.num
+10
-0
crypto/objects/objects.txt
crypto/objects/objects.txt
+13
-0
util/libeay.num
util/libeay.num
+25
-11
未找到文件。
crypto/aes/aes.h
浏览文件 @
8d1ebe0b
...
@@ -97,6 +97,15 @@ void AES_cbc_encrypt(const unsigned char *in, unsigned char *out,
...
@@ -97,6 +97,15 @@ void AES_cbc_encrypt(const unsigned char *in, unsigned char *out,
void
AES_cfb128_encrypt
(
const
unsigned
char
*
in
,
unsigned
char
*
out
,
void
AES_cfb128_encrypt
(
const
unsigned
char
*
in
,
unsigned
char
*
out
,
const
unsigned
long
length
,
const
AES_KEY
*
key
,
const
unsigned
long
length
,
const
AES_KEY
*
key
,
unsigned
char
*
ivec
,
int
*
num
,
const
int
enc
);
unsigned
char
*
ivec
,
int
*
num
,
const
int
enc
);
void
AES_cfb1_encrypt
(
const
unsigned
char
*
in
,
unsigned
char
*
out
,
const
unsigned
long
length
,
const
AES_KEY
*
key
,
unsigned
char
*
ivec
,
int
*
num
,
const
int
enc
);
void
AES_cfb8_encrypt
(
const
unsigned
char
*
in
,
unsigned
char
*
out
,
const
unsigned
long
length
,
const
AES_KEY
*
key
,
unsigned
char
*
ivec
,
int
*
num
,
const
int
enc
);
void
AES_cfbr_encrypt_block
(
const
unsigned
char
*
in
,
unsigned
char
*
out
,
const
int
nbits
,
const
AES_KEY
*
key
,
unsigned
char
*
ivec
,
const
int
enc
);
void
AES_ofb128_encrypt
(
const
unsigned
char
*
in
,
unsigned
char
*
out
,
void
AES_ofb128_encrypt
(
const
unsigned
char
*
in
,
unsigned
char
*
out
,
const
unsigned
long
length
,
const
AES_KEY
*
key
,
const
unsigned
long
length
,
const
AES_KEY
*
key
,
unsigned
char
*
ivec
,
int
*
num
);
unsigned
char
*
ivec
,
int
*
num
);
...
...
crypto/aes/aes_cfb.c
浏览文件 @
8d1ebe0b
...
@@ -155,3 +155,96 @@ void AES_cfb128_encrypt(const unsigned char *in, unsigned char *out,
...
@@ -155,3 +155,96 @@ void AES_cfb128_encrypt(const unsigned char *in, unsigned char *out,
*
num
=
n
;
*
num
=
n
;
}
}
/* This expects a single block of size nbits for both in and out. Note that
it corrupts any extra bits in the last byte of out */
/* Untested, once it is working, it will be optimised */
void
AES_cfbr_encrypt_block
(
const
unsigned
char
*
in
,
unsigned
char
*
out
,
const
int
nbits
,
const
AES_KEY
*
key
,
unsigned
char
*
ivec
,
const
int
enc
)
{
int
n
;
unsigned
char
ovec
[
AES_BLOCK_SIZE
*
2
];
assert
(
in
&&
out
&&
key
&&
ivec
);
if
(
enc
)
{
/* construct the new IV */
AES_encrypt
(
ivec
,
ovec
,
key
);
/* encrypt the input */
for
(
n
=
0
;
n
<
(
nbits
+
7
)
/
8
;
++
n
)
out
[
n
]
=
in
[
n
]
^
ovec
[
n
];
/* fill in the first half of the new IV with the current IV */
memcpy
(
ovec
,
ivec
,
AES_BLOCK_SIZE
);
/* and put the ciphertext in the second half */
memcpy
(
ovec
+
AES_BLOCK_SIZE
,
out
,(
nbits
+
7
)
/
8
);
/* shift ovec left most of the bits... */
memmove
(
ovec
,
ovec
+
nbits
/
8
,
AES_BLOCK_SIZE
+
(
nbits
%
8
?
1
:
0
));
/* now the remaining bits */
if
(
nbits
%
8
!=
0
)
for
(
n
=
0
;
n
<
AES_BLOCK_SIZE
;
++
n
)
{
ovec
[
n
]
<<=
nbits
%
8
;
ovec
[
n
]
|=
ovec
[
n
+
1
]
>>
(
8
-
nbits
%
8
);
}
/* finally, move it back into place */
memcpy
(
ivec
,
ovec
,
AES_BLOCK_SIZE
);
}
else
{
/* construct the new IV in the first half of ovec */
AES_encrypt
(
ivec
,
ovec
,
key
);
/* decrypt the input */
for
(
n
=
0
;
n
<
(
nbits
+
7
)
/
8
;
++
n
)
out
[
n
]
=
in
[
n
]
^
ovec
[
n
];
/* fill in the first half of the new IV with the current IV */
memcpy
(
ovec
,
ivec
,
AES_BLOCK_SIZE
);
/* append the ciphertext */
memcpy
(
ovec
+
AES_BLOCK_SIZE
,
in
,(
nbits
+
7
)
/
8
);
/* shift ovec left most of the bits... */
memmove
(
ovec
,
ovec
+
nbits
/
8
,
AES_BLOCK_SIZE
+
(
nbits
%
8
?
1
:
0
));
/* now the remaining bits */
if
(
nbits
%
8
!=
0
)
for
(
n
=
0
;
n
<
AES_BLOCK_SIZE
;
++
n
)
{
ovec
[
n
]
<<=
nbits
%
8
;
ovec
[
n
]
|=
ovec
[
n
+
1
]
>>
(
8
-
nbits
%
8
);
}
/* finally, move it back into place */
memcpy
(
ivec
,
ovec
,
AES_BLOCK_SIZE
);
}
/* it is not necessary to cleanse ovec, since the IV is not secret */
}
/* N.B. This expects the input to be packed, MS bit first */
void
AES_cfb1_encrypt
(
const
unsigned
char
*
in
,
unsigned
char
*
out
,
const
unsigned
long
length
,
const
AES_KEY
*
key
,
unsigned
char
*
ivec
,
int
*
num
,
const
int
enc
)
{
unsigned
int
n
;
unsigned
char
c
[
1
],
d
[
1
];
assert
(
in
&&
out
&&
key
&&
ivec
&&
num
);
assert
(
*
num
==
0
);
memset
(
out
,
0
,(
length
+
7
)
/
8
);
for
(
n
=
0
;
n
<
length
;
++
n
)
{
c
[
0
]
=
(
in
[
n
/
8
]
&
(
1
<<
(
7
-
n
%
8
)))
?
0x80
:
0
;
AES_cfbr_encrypt_block
(
c
,
d
,
1
,
key
,
ivec
,
enc
);
out
[
n
/
8
]
=
(
out
[
n
/
8
]
&~
(
1
<<
(
7
-
n
%
8
)))
|
((
d
[
0
]
&
0x80
)
>>
(
n
%
8
));
}
}
void
AES_cfb8_encrypt
(
const
unsigned
char
*
in
,
unsigned
char
*
out
,
const
unsigned
long
length
,
const
AES_KEY
*
key
,
unsigned
char
*
ivec
,
int
*
num
,
const
int
enc
)
{
unsigned
int
n
;
assert
(
in
&&
out
&&
key
&&
ivec
&&
num
);
assert
(
*
num
==
0
);
for
(
n
=
0
;
n
<
length
;
++
n
)
AES_cfbr_encrypt_block
(
&
in
[
n
],
&
out
[
n
],
8
,
key
,
ivec
,
enc
);
}
crypto/des/des.h
浏览文件 @
8d1ebe0b
...
@@ -187,6 +187,10 @@ void DES_ede3_cfb64_encrypt(const unsigned char *in,unsigned char *out,
...
@@ -187,6 +187,10 @@ void DES_ede3_cfb64_encrypt(const unsigned char *in,unsigned char *out,
long
length
,
DES_key_schedule
*
ks1
,
long
length
,
DES_key_schedule
*
ks1
,
DES_key_schedule
*
ks2
,
DES_key_schedule
*
ks3
,
DES_key_schedule
*
ks2
,
DES_key_schedule
*
ks3
,
DES_cblock
*
ivec
,
int
*
num
,
int
enc
);
DES_cblock
*
ivec
,
int
*
num
,
int
enc
);
void
DES_ede3_cfb_encrypt
(
const
unsigned
char
*
in
,
unsigned
char
*
out
,
int
numbits
,
long
length
,
DES_key_schedule
*
ks1
,
DES_key_schedule
*
ks2
,
DES_key_schedule
*
ks3
,
DES_cblock
*
ivec
,
int
enc
);
void
DES_ede3_ofb64_encrypt
(
const
unsigned
char
*
in
,
unsigned
char
*
out
,
void
DES_ede3_ofb64_encrypt
(
const
unsigned
char
*
in
,
unsigned
char
*
out
,
long
length
,
DES_key_schedule
*
ks1
,
long
length
,
DES_key_schedule
*
ks1
,
DES_key_schedule
*
ks2
,
DES_key_schedule
*
ks3
,
DES_key_schedule
*
ks2
,
DES_key_schedule
*
ks3
,
...
...
crypto/evp/c_allc.c
浏览文件 @
8d1ebe0b
...
@@ -67,6 +67,8 @@ void OpenSSL_add_all_ciphers(void)
...
@@ -67,6 +67,8 @@ void OpenSSL_add_all_ciphers(void)
#ifndef OPENSSL_NO_DES
#ifndef OPENSSL_NO_DES
EVP_add_cipher
(
EVP_des_cfb
());
EVP_add_cipher
(
EVP_des_cfb
());
EVP_add_cipher
(
EVP_des_cfb1
());
EVP_add_cipher
(
EVP_des_cfb8
());
EVP_add_cipher
(
EVP_des_ede_cfb
());
EVP_add_cipher
(
EVP_des_ede_cfb
());
EVP_add_cipher
(
EVP_des_ede3_cfb
());
EVP_add_cipher
(
EVP_des_ede3_cfb
());
...
@@ -150,6 +152,8 @@ void OpenSSL_add_all_ciphers(void)
...
@@ -150,6 +152,8 @@ void OpenSSL_add_all_ciphers(void)
EVP_add_cipher
(
EVP_aes_128_ecb
());
EVP_add_cipher
(
EVP_aes_128_ecb
());
EVP_add_cipher
(
EVP_aes_128_cbc
());
EVP_add_cipher
(
EVP_aes_128_cbc
());
EVP_add_cipher
(
EVP_aes_128_cfb
());
EVP_add_cipher
(
EVP_aes_128_cfb
());
EVP_add_cipher
(
EVP_aes_128_cfb1
());
EVP_add_cipher
(
EVP_aes_128_cfb8
());
EVP_add_cipher
(
EVP_aes_128_ofb
());
EVP_add_cipher
(
EVP_aes_128_ofb
());
#if 0
#if 0
EVP_add_cipher(EVP_aes_128_ctr());
EVP_add_cipher(EVP_aes_128_ctr());
...
@@ -159,6 +163,8 @@ void OpenSSL_add_all_ciphers(void)
...
@@ -159,6 +163,8 @@ void OpenSSL_add_all_ciphers(void)
EVP_add_cipher
(
EVP_aes_192_ecb
());
EVP_add_cipher
(
EVP_aes_192_ecb
());
EVP_add_cipher
(
EVP_aes_192_cbc
());
EVP_add_cipher
(
EVP_aes_192_cbc
());
EVP_add_cipher
(
EVP_aes_192_cfb
());
EVP_add_cipher
(
EVP_aes_192_cfb
());
EVP_add_cipher
(
EVP_aes_192_cfb1
());
EVP_add_cipher
(
EVP_aes_192_cfb8
());
EVP_add_cipher
(
EVP_aes_192_ofb
());
EVP_add_cipher
(
EVP_aes_192_ofb
());
#if 0
#if 0
EVP_add_cipher(EVP_aes_192_ctr());
EVP_add_cipher(EVP_aes_192_ctr());
...
@@ -168,6 +174,8 @@ void OpenSSL_add_all_ciphers(void)
...
@@ -168,6 +174,8 @@ void OpenSSL_add_all_ciphers(void)
EVP_add_cipher
(
EVP_aes_256_ecb
());
EVP_add_cipher
(
EVP_aes_256_ecb
());
EVP_add_cipher
(
EVP_aes_256_cbc
());
EVP_add_cipher
(
EVP_aes_256_cbc
());
EVP_add_cipher
(
EVP_aes_256_cfb
());
EVP_add_cipher
(
EVP_aes_256_cfb
());
EVP_add_cipher
(
EVP_aes_256_cfb1
());
EVP_add_cipher
(
EVP_aes_256_cfb8
());
EVP_add_cipher
(
EVP_aes_256_ofb
());
EVP_add_cipher
(
EVP_aes_256_ofb
());
#if 0
#if 0
EVP_add_cipher(EVP_aes_256_ctr());
EVP_add_cipher(EVP_aes_256_ctr());
...
...
crypto/evp/e_aes.c
浏览文件 @
8d1ebe0b
...
@@ -86,17 +86,35 @@ IMPLEMENT_BLOCK_CIPHER(aes_256, ks, AES, EVP_AES_KEY,
...
@@ -86,17 +86,35 @@ IMPLEMENT_BLOCK_CIPHER(aes_256, ks, AES, EVP_AES_KEY,
EVP_CIPHER_get_asn1_iv
,
EVP_CIPHER_get_asn1_iv
,
NULL
)
NULL
)
#define IMPLEMENT_AES_CFBR(ksize,cbits) IMPLEMENT_CFBR(aes,AES,EVP_AES_KEY,ks,ksize,cbits,16)
IMPLEMENT_AES_CFBR
(
128
,
1
)
IMPLEMENT_AES_CFBR
(
192
,
1
)
IMPLEMENT_AES_CFBR
(
256
,
1
)
IMPLEMENT_AES_CFBR
(
128
,
8
)
IMPLEMENT_AES_CFBR
(
192
,
8
)
IMPLEMENT_AES_CFBR
(
256
,
8
)
static
int
aes_init_key
(
EVP_CIPHER_CTX
*
ctx
,
const
unsigned
char
*
key
,
static
int
aes_init_key
(
EVP_CIPHER_CTX
*
ctx
,
const
unsigned
char
*
key
,
const
unsigned
char
*
iv
,
int
enc
)
{
const
unsigned
char
*
iv
,
int
enc
)
{
int
ret
;
if
((
ctx
->
cipher
->
flags
&
EVP_CIPH_MODE
)
==
EVP_CIPH_CFB_MODE
if
((
ctx
->
cipher
->
flags
&
EVP_CIPH_MODE
)
==
EVP_CIPH_CFB_MODE
||
(
ctx
->
cipher
->
flags
&
EVP_CIPH_MODE
)
==
EVP_CIPH_OFB_MODE
||
(
ctx
->
cipher
->
flags
&
EVP_CIPH_MODE
)
==
EVP_CIPH_OFB_MODE
||
enc
)
||
enc
)
AES_set_encrypt_key
(
key
,
ctx
->
key_len
*
8
,
ctx
->
cipher_data
);
ret
=
AES_set_encrypt_key
(
key
,
ctx
->
key_len
*
8
,
ctx
->
cipher_data
);
else
else
AES_set_decrypt_key
(
key
,
ctx
->
key_len
*
8
,
ctx
->
cipher_data
);
ret
=
AES_set_decrypt_key
(
key
,
ctx
->
key_len
*
8
,
ctx
->
cipher_data
);
if
(
ret
<
0
)
{
EVPerr
(
EVP_F_AES_INIT_KEY
,
EVP_R_AES_KEY_SETUP_FAILED
);
return
0
;
}
return
1
;
return
1
;
}
}
#endif
#endif
crypto/evp/e_des3.c
浏览文件 @
8d1ebe0b
...
@@ -85,7 +85,8 @@ static int des_ede_ecb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
...
@@ -85,7 +85,8 @@ static int des_ede_ecb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
const
unsigned
char
*
in
,
unsigned
int
inl
)
const
unsigned
char
*
in
,
unsigned
int
inl
)
{
{
BLOCK_CIPHER_ecb_loop
()
BLOCK_CIPHER_ecb_loop
()
DES_ecb3_encrypt
(
in
+
i
,
out
+
i
,
DES_ecb3_encrypt
((
const_DES_cblock
*
)(
in
+
i
),
(
DES_cblock
*
)(
out
+
i
),
&
data
(
ctx
)
->
ks1
,
&
data
(
ctx
)
->
ks2
,
&
data
(
ctx
)
->
ks1
,
&
data
(
ctx
)
->
ks2
,
&
data
(
ctx
)
->
ks3
,
&
data
(
ctx
)
->
ks3
,
ctx
->
encrypt
);
ctx
->
encrypt
);
...
...
crypto/evp/evp.h
浏览文件 @
8d1ebe0b
...
@@ -603,9 +603,20 @@ const EVP_CIPHER *EVP_des_ede(void);
...
@@ -603,9 +603,20 @@ const EVP_CIPHER *EVP_des_ede(void);
const
EVP_CIPHER
*
EVP_des_ede3
(
void
);
const
EVP_CIPHER
*
EVP_des_ede3
(
void
);
const
EVP_CIPHER
*
EVP_des_ede_ecb
(
void
);
const
EVP_CIPHER
*
EVP_des_ede_ecb
(
void
);
const
EVP_CIPHER
*
EVP_des_ede3_ecb
(
void
);
const
EVP_CIPHER
*
EVP_des_ede3_ecb
(
void
);
const
EVP_CIPHER
*
EVP_des_cfb
(
void
);
const
EVP_CIPHER
*
EVP_des_cfb64
(
void
);
const
EVP_CIPHER
*
EVP_des_ede_cfb
(
void
);
# define EVP_des_cfb EVP_des_cfb64
const
EVP_CIPHER
*
EVP_des_ede3_cfb
(
void
);
const
EVP_CIPHER
*
EVP_des_cfb1
(
void
);
const
EVP_CIPHER
*
EVP_des_cfb8
(
void
);
const
EVP_CIPHER
*
EVP_des_ede_cfb64
(
void
);
# define EVP_des_ede_cfb EVP_des_ede_cfb64
#if 0
const EVP_CIPHER *EVP_des_ede_cfb1(void);
const EVP_CIPHER *EVP_des_ede_cfb8(void);
#endif
const
EVP_CIPHER
*
EVP_des_ede3_cfb64
(
void
);
# define EVP_des_ede3_cfb EVP_des_ede3_cfb64
const
EVP_CIPHER
*
EVP_des_ede3_cfb1
(
void
);
const
EVP_CIPHER
*
EVP_des_ede3_cfb8
(
void
);
const
EVP_CIPHER
*
EVP_des_ofb
(
void
);
const
EVP_CIPHER
*
EVP_des_ofb
(
void
);
const
EVP_CIPHER
*
EVP_des_ede_ofb
(
void
);
const
EVP_CIPHER
*
EVP_des_ede_ofb
(
void
);
const
EVP_CIPHER
*
EVP_des_ede3_ofb
(
void
);
const
EVP_CIPHER
*
EVP_des_ede3_ofb
(
void
);
...
@@ -629,7 +640,8 @@ const EVP_CIPHER *EVP_rc4_40(void);
...
@@ -629,7 +640,8 @@ const EVP_CIPHER *EVP_rc4_40(void);
#endif
#endif
#ifndef OPENSSL_NO_IDEA
#ifndef OPENSSL_NO_IDEA
const
EVP_CIPHER
*
EVP_idea_ecb
(
void
);
const
EVP_CIPHER
*
EVP_idea_ecb
(
void
);
const
EVP_CIPHER
*
EVP_idea_cfb
(
void
);
const
EVP_CIPHER
*
EVP_idea_cfb64
(
void
);
# define EVP_idea_cfb EVP_idea_cfb64
const
EVP_CIPHER
*
EVP_idea_ofb
(
void
);
const
EVP_CIPHER
*
EVP_idea_ofb
(
void
);
const
EVP_CIPHER
*
EVP_idea_cbc
(
void
);
const
EVP_CIPHER
*
EVP_idea_cbc
(
void
);
#endif
#endif
...
@@ -638,45 +650,58 @@ const EVP_CIPHER *EVP_rc2_ecb(void);
...
@@ -638,45 +650,58 @@ const EVP_CIPHER *EVP_rc2_ecb(void);
const
EVP_CIPHER
*
EVP_rc2_cbc
(
void
);
const
EVP_CIPHER
*
EVP_rc2_cbc
(
void
);
const
EVP_CIPHER
*
EVP_rc2_40_cbc
(
void
);
const
EVP_CIPHER
*
EVP_rc2_40_cbc
(
void
);
const
EVP_CIPHER
*
EVP_rc2_64_cbc
(
void
);
const
EVP_CIPHER
*
EVP_rc2_64_cbc
(
void
);
const
EVP_CIPHER
*
EVP_rc2_cfb
(
void
);
const
EVP_CIPHER
*
EVP_rc2_cfb64
(
void
);
# define EVP_rc2_cfb EVP_rc2_cfb64
const
EVP_CIPHER
*
EVP_rc2_ofb
(
void
);
const
EVP_CIPHER
*
EVP_rc2_ofb
(
void
);
#endif
#endif
#ifndef OPENSSL_NO_BF
#ifndef OPENSSL_NO_BF
const
EVP_CIPHER
*
EVP_bf_ecb
(
void
);
const
EVP_CIPHER
*
EVP_bf_ecb
(
void
);
const
EVP_CIPHER
*
EVP_bf_cbc
(
void
);
const
EVP_CIPHER
*
EVP_bf_cbc
(
void
);
const
EVP_CIPHER
*
EVP_bf_cfb
(
void
);
const
EVP_CIPHER
*
EVP_bf_cfb64
(
void
);
# define EVP_bf_cfb EVP_bf_cfb64
const
EVP_CIPHER
*
EVP_bf_ofb
(
void
);
const
EVP_CIPHER
*
EVP_bf_ofb
(
void
);
#endif
#endif
#ifndef OPENSSL_NO_CAST
#ifndef OPENSSL_NO_CAST
const
EVP_CIPHER
*
EVP_cast5_ecb
(
void
);
const
EVP_CIPHER
*
EVP_cast5_ecb
(
void
);
const
EVP_CIPHER
*
EVP_cast5_cbc
(
void
);
const
EVP_CIPHER
*
EVP_cast5_cbc
(
void
);
const
EVP_CIPHER
*
EVP_cast5_cfb
(
void
);
const
EVP_CIPHER
*
EVP_cast5_cfb64
(
void
);
# define EVP_cast5_cfb EVP_cast5_cfb64
const
EVP_CIPHER
*
EVP_cast5_ofb
(
void
);
const
EVP_CIPHER
*
EVP_cast5_ofb
(
void
);
#endif
#endif
#ifndef OPENSSL_NO_RC5
#ifndef OPENSSL_NO_RC5
const
EVP_CIPHER
*
EVP_rc5_32_12_16_cbc
(
void
);
const
EVP_CIPHER
*
EVP_rc5_32_12_16_cbc
(
void
);
const
EVP_CIPHER
*
EVP_rc5_32_12_16_ecb
(
void
);
const
EVP_CIPHER
*
EVP_rc5_32_12_16_ecb
(
void
);
const
EVP_CIPHER
*
EVP_rc5_32_12_16_cfb
(
void
);
const
EVP_CIPHER
*
EVP_rc5_32_12_16_cfb64
(
void
);
# define EVP_rc5_32_12_16_cfb EVP_rc5_32_12_16_cfb64
const
EVP_CIPHER
*
EVP_rc5_32_12_16_ofb
(
void
);
const
EVP_CIPHER
*
EVP_rc5_32_12_16_ofb
(
void
);
#endif
#endif
#ifndef OPENSSL_NO_AES
#ifndef OPENSSL_NO_AES
const
EVP_CIPHER
*
EVP_aes_128_ecb
(
void
);
const
EVP_CIPHER
*
EVP_aes_128_ecb
(
void
);
const
EVP_CIPHER
*
EVP_aes_128_cbc
(
void
);
const
EVP_CIPHER
*
EVP_aes_128_cbc
(
void
);
const
EVP_CIPHER
*
EVP_aes_128_cfb
(
void
);
const
EVP_CIPHER
*
EVP_aes_128_cfb1
(
void
);
const
EVP_CIPHER
*
EVP_aes_128_cfb8
(
void
);
const
EVP_CIPHER
*
EVP_aes_128_cfb128
(
void
);
# define EVP_aes_128_cfb EVP_aes_128_cfb128
const
EVP_CIPHER
*
EVP_aes_128_ofb
(
void
);
const
EVP_CIPHER
*
EVP_aes_128_ofb
(
void
);
#if 0
#if 0
const EVP_CIPHER *EVP_aes_128_ctr(void);
const EVP_CIPHER *EVP_aes_128_ctr(void);
#endif
#endif
const
EVP_CIPHER
*
EVP_aes_192_ecb
(
void
);
const
EVP_CIPHER
*
EVP_aes_192_ecb
(
void
);
const
EVP_CIPHER
*
EVP_aes_192_cbc
(
void
);
const
EVP_CIPHER
*
EVP_aes_192_cbc
(
void
);
const
EVP_CIPHER
*
EVP_aes_192_cfb
(
void
);
const
EVP_CIPHER
*
EVP_aes_192_cfb1
(
void
);
const
EVP_CIPHER
*
EVP_aes_192_cfb8
(
void
);
const
EVP_CIPHER
*
EVP_aes_192_cfb128
(
void
);
# define EVP_aes_192_cfb EVP_aes_192_cfb128
const
EVP_CIPHER
*
EVP_aes_192_ofb
(
void
);
const
EVP_CIPHER
*
EVP_aes_192_ofb
(
void
);
#if 0
#if 0
const EVP_CIPHER *EVP_aes_192_ctr(void);
const EVP_CIPHER *EVP_aes_192_ctr(void);
#endif
#endif
const
EVP_CIPHER
*
EVP_aes_256_ecb
(
void
);
const
EVP_CIPHER
*
EVP_aes_256_ecb
(
void
);
const
EVP_CIPHER
*
EVP_aes_256_cbc
(
void
);
const
EVP_CIPHER
*
EVP_aes_256_cbc
(
void
);
const
EVP_CIPHER
*
EVP_aes_256_cfb
(
void
);
const
EVP_CIPHER
*
EVP_aes_256_cfb1
(
void
);
const
EVP_CIPHER
*
EVP_aes_256_cfb8
(
void
);
const
EVP_CIPHER
*
EVP_aes_256_cfb128
(
void
);
# define EVP_aes_256_cfb EVP_aes_256_cfb128
const
EVP_CIPHER
*
EVP_aes_256_ofb
(
void
);
const
EVP_CIPHER
*
EVP_aes_256_ofb
(
void
);
#if 0
#if 0
const EVP_CIPHER *EVP_aes_256_ctr(void);
const EVP_CIPHER *EVP_aes_256_ctr(void);
...
@@ -794,6 +819,7 @@ void ERR_load_EVP_strings(void);
...
@@ -794,6 +819,7 @@ void ERR_load_EVP_strings(void);
/* Error codes for the EVP functions. */
/* Error codes for the EVP functions. */
/* Function codes. */
/* Function codes. */
#define EVP_F_AES_INIT_KEY 133
#define EVP_F_D2I_PKEY 100
#define EVP_F_D2I_PKEY 100
#define EVP_F_ECDSA_PKEY2PKCS8 129
#define EVP_F_ECDSA_PKEY2PKCS8 129
#define EVP_F_EC_KEY_PKEY2PKCS8 132
#define EVP_F_EC_KEY_PKEY2PKCS8 132
...
@@ -828,6 +854,7 @@ void ERR_load_EVP_strings(void);
...
@@ -828,6 +854,7 @@ void ERR_load_EVP_strings(void);
#define EVP_F_RC5_CTRL 125
#define EVP_F_RC5_CTRL 125
/* Reason codes. */
/* Reason codes. */
#define EVP_R_AES_KEY_SETUP_FAILED 143
#define EVP_R_ASN1_LIB 140
#define EVP_R_ASN1_LIB 140
#define EVP_R_BAD_BLOCK_LENGTH 136
#define EVP_R_BAD_BLOCK_LENGTH 136
#define EVP_R_BAD_DECRYPT 100
#define EVP_R_BAD_DECRYPT 100
...
...
crypto/evp/evp_err.c
浏览文件 @
8d1ebe0b
/* crypto/evp/evp_err.c */
/* crypto/evp/evp_err.c */
/* ====================================================================
/* ====================================================================
* Copyright (c) 1999-200
2
The OpenSSL Project. All rights reserved.
* Copyright (c) 1999-200
3
The OpenSSL Project. All rights reserved.
*
*
* Redistribution and use in source and binary forms, with or without
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* modification, are permitted provided that the following conditions
...
@@ -66,6 +66,7 @@
...
@@ -66,6 +66,7 @@
#ifndef OPENSSL_NO_ERR
#ifndef OPENSSL_NO_ERR
static
ERR_STRING_DATA
EVP_str_functs
[]
=
static
ERR_STRING_DATA
EVP_str_functs
[]
=
{
{
{
ERR_PACK
(
0
,
EVP_F_AES_INIT_KEY
,
0
),
"AES_INIT_KEY"
},
{
ERR_PACK
(
0
,
EVP_F_D2I_PKEY
,
0
),
"D2I_PKEY"
},
{
ERR_PACK
(
0
,
EVP_F_D2I_PKEY
,
0
),
"D2I_PKEY"
},
{
ERR_PACK
(
0
,
EVP_F_ECDSA_PKEY2PKCS8
,
0
),
"ECDSA_PKEY2PKCS8"
},
{
ERR_PACK
(
0
,
EVP_F_ECDSA_PKEY2PKCS8
,
0
),
"ECDSA_PKEY2PKCS8"
},
{
ERR_PACK
(
0
,
EVP_F_EC_KEY_PKEY2PKCS8
,
0
),
"EC_KEY_PKEY2PKCS8"
},
{
ERR_PACK
(
0
,
EVP_F_EC_KEY_PKEY2PKCS8
,
0
),
"EC_KEY_PKEY2PKCS8"
},
...
@@ -103,6 +104,7 @@ static ERR_STRING_DATA EVP_str_functs[]=
...
@@ -103,6 +104,7 @@ static ERR_STRING_DATA EVP_str_functs[]=
static
ERR_STRING_DATA
EVP_str_reasons
[]
=
static
ERR_STRING_DATA
EVP_str_reasons
[]
=
{
{
{
EVP_R_AES_KEY_SETUP_FAILED
,
"aes key setup failed"
},
{
EVP_R_ASN1_LIB
,
"asn1 lib"
},
{
EVP_R_ASN1_LIB
,
"asn1 lib"
},
{
EVP_R_BAD_BLOCK_LENGTH
,
"bad block length"
},
{
EVP_R_BAD_BLOCK_LENGTH
,
"bad block length"
},
{
EVP_R_BAD_DECRYPT
,
"bad decrypt"
},
{
EVP_R_BAD_DECRYPT
,
"bad decrypt"
},
...
...
crypto/evp/evp_lib.c
浏览文件 @
8d1ebe0b
...
@@ -135,6 +135,30 @@ int EVP_CIPHER_type(const EVP_CIPHER *ctx)
...
@@ -135,6 +135,30 @@ int EVP_CIPHER_type(const EVP_CIPHER *ctx)
return
NID_rc4
;
return
NID_rc4
;
case
NID_aes_128_cfb128
:
case
NID_aes_128_cfb8
:
case
NID_aes_128_cfb1
:
return
NID_aes_128_cfb128
;
case
NID_aes_192_cfb128
:
case
NID_aes_192_cfb8
:
case
NID_aes_192_cfb1
:
return
NID_aes_192_cfb128
;
case
NID_aes_256_cfb128
:
case
NID_aes_256_cfb8
:
case
NID_aes_256_cfb1
:
return
NID_aes_256_cfb128
;
case
NID_des_cfb64
:
case
NID_des_cfb8
:
case
NID_des_cfb1
:
return
NID_des_cfb64
;
default:
default:
/* Check it has an OID and it is valid */
/* Check it has an OID and it is valid */
otmp
=
OBJ_nid2obj
(
nid
);
otmp
=
OBJ_nid2obj
(
nid
);
...
...
crypto/evp/evp_locl.h
浏览文件 @
8d1ebe0b
...
@@ -90,7 +90,7 @@ static int cname##_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const uns
...
@@ -90,7 +90,7 @@ static int cname##_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const uns
}
}
#define BLOCK_CIPHER_func_cfb(cname, cprefix, cbits, kstruct, ksched) \
#define BLOCK_CIPHER_func_cfb(cname, cprefix, cbits, kstruct, ksched) \
static int cname##_cfb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, unsigned int inl) \
static int cname##_cfb
##cbits##
_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, unsigned int inl) \
{\
{\
cprefix##_cfb##cbits##_encrypt(in, out, (long)inl, &((kstruct *)ctx->cipher_data)->ksched, ctx->iv, &ctx->num, ctx->encrypt);\
cprefix##_cfb##cbits##_encrypt(in, out, (long)inl, &((kstruct *)ctx->cipher_data)->ksched, ctx->iv, &ctx->num, ctx->encrypt);\
return 1;\
return 1;\
...
@@ -127,7 +127,7 @@ BLOCK_CIPHER_def1(cname, cbc, cbc, CBC, kstruct, nid, block_size, key_len, \
...
@@ -127,7 +127,7 @@ BLOCK_CIPHER_def1(cname, cbc, cbc, CBC, kstruct, nid, block_size, key_len, \
#define BLOCK_CIPHER_def_cfb(cname, kstruct, nid, key_len, \
#define BLOCK_CIPHER_def_cfb(cname, kstruct, nid, key_len, \
iv_len, cbits, flags, init_key, cleanup, \
iv_len, cbits, flags, init_key, cleanup, \
set_asn1, get_asn1, ctrl) \
set_asn1, get_asn1, ctrl) \
BLOCK_CIPHER_def1(cname, cfb##cbits, cfb, CFB, kstruct, nid, 1, \
BLOCK_CIPHER_def1(cname, cfb##cbits, cfb
##cbits
, CFB, kstruct, nid, 1, \
key_len, iv_len, flags, init_key, cleanup, set_asn1, \
key_len, iv_len, flags, init_key, cleanup, set_asn1, \
get_asn1, ctrl)
get_asn1, ctrl)
...
@@ -225,3 +225,12 @@ const EVP_CIPHER *EVP_##cname##_ecb(void) { return &cname##_ecb; }
...
@@ -225,3 +225,12 @@ const EVP_CIPHER *EVP_##cname##_ecb(void) { return &cname##_ecb; }
get_asn1, ctrl)
get_asn1, ctrl)
#define EVP_C_DATA(kstruct, ctx) ((kstruct *)(ctx)->cipher_data)
#define EVP_C_DATA(kstruct, ctx) ((kstruct *)(ctx)->cipher_data)
#define IMPLEMENT_CFBR(cipher,cprefix,kstruct,ksched,keysize,cbits,iv_len) \
BLOCK_CIPHER_func_cfb(cipher##_##keysize,cprefix,cbits,kstruct,ksched) \
BLOCK_CIPHER_def_cfb(cipher##_##keysize,kstruct, \
NID_##cipher##_##keysize, keysize/8, iv_len, cbits, \
0, cipher##_init_key, NULL, \
EVP_CIPHER_set_asn1_iv, \
EVP_CIPHER_get_asn1_iv, \
NULL)
crypto/objects/obj_dat.h
浏览文件 @
8d1ebe0b
...
@@ -62,9 +62,9 @@
...
@@ -62,9 +62,9 @@
* [including the GNU Public Licence.]
* [including the GNU Public Licence.]
*/
*/
#define NUM_NID 7
2
6
#define NUM_NID 7
3
6
#define NUM_SN 7
2
1
#define NUM_SN 7
3
1
#define NUM_LN 7
2
1
#define NUM_LN 7
3
1
#define NUM_OBJ 693
#define NUM_OBJ 693
static
unsigned
char
lvalues
[
4882
]
=
{
static
unsigned
char
lvalues
[
4882
]
=
{
...
@@ -1896,20 +1896,36 @@ static ASN1_OBJECT nid_objs[NUM_NID]={
...
@@ -1896,20 +1896,36 @@ static ASN1_OBJECT nid_objs[NUM_NID]={
NID_international_organizations
,
1
,
&
(
lvalues
[
4880
]),
0
},
NID_international_organizations
,
1
,
&
(
lvalues
[
4880
]),
0
},
{
"Oakley-EC2N-3"
,
"ipsec3"
,
NID_ipsec3
,
0
,
NULL
},
{
"Oakley-EC2N-3"
,
"ipsec3"
,
NID_ipsec3
,
0
,
NULL
},
{
"Oakley-EC2N-4"
,
"ipsec4"
,
NID_ipsec4
,
0
,
NULL
},
{
"Oakley-EC2N-4"
,
"ipsec4"
,
NID_ipsec4
,
0
,
NULL
},
{
"AES-128-CFB1"
,
"aes-128-cfb1"
,
NID_aes_128_cfb1
,
0
,
NULL
},
{
"AES-192-CFB1"
,
"aes-192-cfb1"
,
NID_aes_192_cfb1
,
0
,
NULL
},
{
"AES-256-CFB1"
,
"aes-256-cfb1"
,
NID_aes_256_cfb1
,
0
,
NULL
},
{
"AES-128-CFB8"
,
"aes-128-cfb8"
,
NID_aes_128_cfb8
,
0
,
NULL
},
{
"AES-192-CFB8"
,
"aes-192-cfb8"
,
NID_aes_192_cfb8
,
0
,
NULL
},
{
"AES-256-CFB8"
,
"aes-256-cfb8"
,
NID_aes_256_cfb8
,
0
,
NULL
},
{
"DES-CFB1"
,
"des-cfb1"
,
NID_des_cfb1
,
0
,
NULL
},
{
"DES-CFB8"
,
"des-cfb8"
,
NID_des_cfb8
,
0
,
NULL
},
{
"DES-EDE3-CFB1"
,
"des-ede3-cfb1"
,
NID_des_ede3_cfb1
,
0
,
NULL
},
{
"DES-EDE3-CFB8"
,
"des-ede3-cfb8"
,
NID_des_ede3_cfb8
,
0
,
NULL
},
};
};
static
ASN1_OBJECT
*
sn_objs
[
NUM_SN
]
=
{
static
ASN1_OBJECT
*
sn_objs
[
NUM_SN
]
=
{
&
(
nid_objs
[
364
]),
/* "AD_DVCS" */
&
(
nid_objs
[
364
]),
/* "AD_DVCS" */
&
(
nid_objs
[
419
]),
/* "AES-128-CBC" */
&
(
nid_objs
[
419
]),
/* "AES-128-CBC" */
&
(
nid_objs
[
421
]),
/* "AES-128-CFB" */
&
(
nid_objs
[
421
]),
/* "AES-128-CFB" */
&
(
nid_objs
[
726
]),
/* "AES-128-CFB1" */
&
(
nid_objs
[
729
]),
/* "AES-128-CFB8" */
&
(
nid_objs
[
418
]),
/* "AES-128-ECB" */
&
(
nid_objs
[
418
]),
/* "AES-128-ECB" */
&
(
nid_objs
[
420
]),
/* "AES-128-OFB" */
&
(
nid_objs
[
420
]),
/* "AES-128-OFB" */
&
(
nid_objs
[
423
]),
/* "AES-192-CBC" */
&
(
nid_objs
[
423
]),
/* "AES-192-CBC" */
&
(
nid_objs
[
425
]),
/* "AES-192-CFB" */
&
(
nid_objs
[
425
]),
/* "AES-192-CFB" */
&
(
nid_objs
[
727
]),
/* "AES-192-CFB1" */
&
(
nid_objs
[
730
]),
/* "AES-192-CFB8" */
&
(
nid_objs
[
422
]),
/* "AES-192-ECB" */
&
(
nid_objs
[
422
]),
/* "AES-192-ECB" */
&
(
nid_objs
[
424
]),
/* "AES-192-OFB" */
&
(
nid_objs
[
424
]),
/* "AES-192-OFB" */
&
(
nid_objs
[
427
]),
/* "AES-256-CBC" */
&
(
nid_objs
[
427
]),
/* "AES-256-CBC" */
&
(
nid_objs
[
429
]),
/* "AES-256-CFB" */
&
(
nid_objs
[
429
]),
/* "AES-256-CFB" */
&
(
nid_objs
[
728
]),
/* "AES-256-CFB1" */
&
(
nid_objs
[
731
]),
/* "AES-256-CFB8" */
&
(
nid_objs
[
426
]),
/* "AES-256-ECB" */
&
(
nid_objs
[
426
]),
/* "AES-256-ECB" */
&
(
nid_objs
[
428
]),
/* "AES-256-OFB" */
&
(
nid_objs
[
428
]),
/* "AES-256-OFB" */
&
(
nid_objs
[
91
]),
/* "BF-CBC" */
&
(
nid_objs
[
91
]),
/* "BF-CBC" */
...
@@ -1929,6 +1945,8 @@ static ASN1_OBJECT *sn_objs[NUM_SN]={
...
@@ -1929,6 +1945,8 @@ static ASN1_OBJECT *sn_objs[NUM_SN]={
&
(
nid_objs
[
31
]),
/* "DES-CBC" */
&
(
nid_objs
[
31
]),
/* "DES-CBC" */
&
(
nid_objs
[
707
]),
/* "DES-CDMF" */
&
(
nid_objs
[
707
]),
/* "DES-CDMF" */
&
(
nid_objs
[
30
]),
/* "DES-CFB" */
&
(
nid_objs
[
30
]),
/* "DES-CFB" */
&
(
nid_objs
[
732
]),
/* "DES-CFB1" */
&
(
nid_objs
[
733
]),
/* "DES-CFB8" */
&
(
nid_objs
[
29
]),
/* "DES-ECB" */
&
(
nid_objs
[
29
]),
/* "DES-ECB" */
&
(
nid_objs
[
32
]),
/* "DES-EDE" */
&
(
nid_objs
[
32
]),
/* "DES-EDE" */
&
(
nid_objs
[
43
]),
/* "DES-EDE-CBC" */
&
(
nid_objs
[
43
]),
/* "DES-EDE-CBC" */
...
@@ -1937,6 +1955,8 @@ static ASN1_OBJECT *sn_objs[NUM_SN]={
...
@@ -1937,6 +1955,8 @@ static ASN1_OBJECT *sn_objs[NUM_SN]={
&
(
nid_objs
[
33
]),
/* "DES-EDE3" */
&
(
nid_objs
[
33
]),
/* "DES-EDE3" */
&
(
nid_objs
[
44
]),
/* "DES-EDE3-CBC" */
&
(
nid_objs
[
44
]),
/* "DES-EDE3-CBC" */
&
(
nid_objs
[
61
]),
/* "DES-EDE3-CFB" */
&
(
nid_objs
[
61
]),
/* "DES-EDE3-CFB" */
&
(
nid_objs
[
734
]),
/* "DES-EDE3-CFB1" */
&
(
nid_objs
[
735
]),
/* "DES-EDE3-CFB8" */
&
(
nid_objs
[
63
]),
/* "DES-EDE3-OFB" */
&
(
nid_objs
[
63
]),
/* "DES-EDE3-OFB" */
&
(
nid_objs
[
45
]),
/* "DES-OFB" */
&
(
nid_objs
[
45
]),
/* "DES-OFB" */
&
(
nid_objs
[
80
]),
/* "DESX-CBC" */
&
(
nid_objs
[
80
]),
/* "DESX-CBC" */
...
@@ -2737,14 +2757,20 @@ static ASN1_OBJECT *ln_objs[NUM_LN]={
...
@@ -2737,14 +2757,20 @@ static ASN1_OBJECT *ln_objs[NUM_LN]={
&
(
nid_objs
[
670
]),
/* "additional verification" */
&
(
nid_objs
[
670
]),
/* "additional verification" */
&
(
nid_objs
[
419
]),
/* "aes-128-cbc" */
&
(
nid_objs
[
419
]),
/* "aes-128-cbc" */
&
(
nid_objs
[
421
]),
/* "aes-128-cfb" */
&
(
nid_objs
[
421
]),
/* "aes-128-cfb" */
&
(
nid_objs
[
726
]),
/* "aes-128-cfb1" */
&
(
nid_objs
[
729
]),
/* "aes-128-cfb8" */
&
(
nid_objs
[
418
]),
/* "aes-128-ecb" */
&
(
nid_objs
[
418
]),
/* "aes-128-ecb" */
&
(
nid_objs
[
420
]),
/* "aes-128-ofb" */
&
(
nid_objs
[
420
]),
/* "aes-128-ofb" */
&
(
nid_objs
[
423
]),
/* "aes-192-cbc" */
&
(
nid_objs
[
423
]),
/* "aes-192-cbc" */
&
(
nid_objs
[
425
]),
/* "aes-192-cfb" */
&
(
nid_objs
[
425
]),
/* "aes-192-cfb" */
&
(
nid_objs
[
727
]),
/* "aes-192-cfb1" */
&
(
nid_objs
[
730
]),
/* "aes-192-cfb8" */
&
(
nid_objs
[
422
]),
/* "aes-192-ecb" */
&
(
nid_objs
[
422
]),
/* "aes-192-ecb" */
&
(
nid_objs
[
424
]),
/* "aes-192-ofb" */
&
(
nid_objs
[
424
]),
/* "aes-192-ofb" */
&
(
nid_objs
[
427
]),
/* "aes-256-cbc" */
&
(
nid_objs
[
427
]),
/* "aes-256-cbc" */
&
(
nid_objs
[
429
]),
/* "aes-256-cfb" */
&
(
nid_objs
[
429
]),
/* "aes-256-cfb" */
&
(
nid_objs
[
728
]),
/* "aes-256-cfb1" */
&
(
nid_objs
[
731
]),
/* "aes-256-cfb8" */
&
(
nid_objs
[
426
]),
/* "aes-256-ecb" */
&
(
nid_objs
[
426
]),
/* "aes-256-ecb" */
&
(
nid_objs
[
428
]),
/* "aes-256-ofb" */
&
(
nid_objs
[
428
]),
/* "aes-256-ofb" */
&
(
nid_objs
[
376
]),
/* "algorithm" */
&
(
nid_objs
[
376
]),
/* "algorithm" */
...
@@ -2803,6 +2829,8 @@ static ASN1_OBJECT *ln_objs[NUM_LN]={
...
@@ -2803,6 +2829,8 @@ static ASN1_OBJECT *ln_objs[NUM_LN]={
&
(
nid_objs
[
31
]),
/* "des-cbc" */
&
(
nid_objs
[
31
]),
/* "des-cbc" */
&
(
nid_objs
[
707
]),
/* "des-cdmf" */
&
(
nid_objs
[
707
]),
/* "des-cdmf" */
&
(
nid_objs
[
30
]),
/* "des-cfb" */
&
(
nid_objs
[
30
]),
/* "des-cfb" */
&
(
nid_objs
[
732
]),
/* "des-cfb1" */
&
(
nid_objs
[
733
]),
/* "des-cfb8" */
&
(
nid_objs
[
29
]),
/* "des-ecb" */
&
(
nid_objs
[
29
]),
/* "des-ecb" */
&
(
nid_objs
[
32
]),
/* "des-ede" */
&
(
nid_objs
[
32
]),
/* "des-ede" */
&
(
nid_objs
[
43
]),
/* "des-ede-cbc" */
&
(
nid_objs
[
43
]),
/* "des-ede-cbc" */
...
@@ -2811,6 +2839,8 @@ static ASN1_OBJECT *ln_objs[NUM_LN]={
...
@@ -2811,6 +2839,8 @@ static ASN1_OBJECT *ln_objs[NUM_LN]={
&
(
nid_objs
[
33
]),
/* "des-ede3" */
&
(
nid_objs
[
33
]),
/* "des-ede3" */
&
(
nid_objs
[
44
]),
/* "des-ede3-cbc" */
&
(
nid_objs
[
44
]),
/* "des-ede3-cbc" */
&
(
nid_objs
[
61
]),
/* "des-ede3-cfb" */
&
(
nid_objs
[
61
]),
/* "des-ede3-cfb" */
&
(
nid_objs
[
734
]),
/* "des-ede3-cfb1" */
&
(
nid_objs
[
735
]),
/* "des-ede3-cfb8" */
&
(
nid_objs
[
63
]),
/* "des-ede3-ofb" */
&
(
nid_objs
[
63
]),
/* "des-ede3-ofb" */
&
(
nid_objs
[
45
]),
/* "des-ofb" */
&
(
nid_objs
[
45
]),
/* "des-ofb" */
&
(
nid_objs
[
107
]),
/* "description" */
&
(
nid_objs
[
107
]),
/* "description" */
...
...
crypto/objects/obj_mac.h
浏览文件 @
8d1ebe0b
...
@@ -2319,6 +2319,46 @@
...
@@ -2319,6 +2319,46 @@
#define NID_aes_256_cfb128 429
#define NID_aes_256_cfb128 429
#define OBJ_aes_256_cfb128 OBJ_aes,44L
#define OBJ_aes_256_cfb128 OBJ_aes,44L
#define SN_aes_128_cfb1 "AES-128-CFB1"
#define LN_aes_128_cfb1 "aes-128-cfb1"
#define NID_aes_128_cfb1 726
#define SN_aes_192_cfb1 "AES-192-CFB1"
#define LN_aes_192_cfb1 "aes-192-cfb1"
#define NID_aes_192_cfb1 727
#define SN_aes_256_cfb1 "AES-256-CFB1"
#define LN_aes_256_cfb1 "aes-256-cfb1"
#define NID_aes_256_cfb1 728
#define SN_aes_128_cfb8 "AES-128-CFB8"
#define LN_aes_128_cfb8 "aes-128-cfb8"
#define NID_aes_128_cfb8 729
#define SN_aes_192_cfb8 "AES-192-CFB8"
#define LN_aes_192_cfb8 "aes-192-cfb8"
#define NID_aes_192_cfb8 730
#define SN_aes_256_cfb8 "AES-256-CFB8"
#define LN_aes_256_cfb8 "aes-256-cfb8"
#define NID_aes_256_cfb8 731
#define SN_des_cfb1 "DES-CFB1"
#define LN_des_cfb1 "des-cfb1"
#define NID_des_cfb1 732
#define SN_des_cfb8 "DES-CFB8"
#define LN_des_cfb8 "des-cfb8"
#define NID_des_cfb8 733
#define SN_des_ede3_cfb1 "DES-EDE3-CFB1"
#define LN_des_ede3_cfb1 "des-ede3-cfb1"
#define NID_des_ede3_cfb1 734
#define SN_des_ede3_cfb8 "DES-EDE3-CFB8"
#define LN_des_ede3_cfb8 "des-ede3-cfb8"
#define NID_des_ede3_cfb8 735
#define SN_hold_instruction_code "holdInstructionCode"
#define SN_hold_instruction_code "holdInstructionCode"
#define LN_hold_instruction_code "Hold Instruction Code"
#define LN_hold_instruction_code "Hold Instruction Code"
#define NID_hold_instruction_code 430
#define NID_hold_instruction_code 430
...
...
crypto/objects/obj_mac.num
浏览文件 @
8d1ebe0b
...
@@ -723,3 +723,13 @@ joint_iso_itu_t 722
...
@@ -723,3 +723,13 @@ joint_iso_itu_t 722
international_organizations 723
international_organizations 723
ipsec3 724
ipsec3 724
ipsec4 725
ipsec4 725
aes_128_cfb1 726
aes_192_cfb1 727
aes_256_cfb1 728
aes_128_cfb8 729
aes_192_cfb8 730
aes_256_cfb8 731
des_cfb1 732
des_cfb8 733
des_ede3_cfb1 734
des_ede3_cfb8 735
crypto/objects/objects.txt
浏览文件 @
8d1ebe0b
...
@@ -775,6 +775,19 @@ aes 43 : AES-256-OFB : aes-256-ofb
...
@@ -775,6 +775,19 @@ aes 43 : AES-256-OFB : aes-256-ofb
!Cname aes-256-cfb128
!Cname aes-256-cfb128
aes 44 : AES-256-CFB : aes-256-cfb
aes 44 : AES-256-CFB : aes-256-cfb
# There are no OIDs for these modes...
: AES-128-CFB1 : aes-128-cfb1
: AES-192-CFB1 : aes-192-cfb1
: AES-256-CFB1 : aes-256-cfb1
: AES-128-CFB8 : aes-128-cfb8
: AES-192-CFB8 : aes-192-cfb8
: AES-256-CFB8 : aes-256-cfb8
: DES-CFB1 : des-cfb1
: DES-CFB8 : des-cfb8
: DES-EDE3-CFB1 : des-ede3-cfb1
: DES-EDE3-CFB8 : des-ede3-cfb8
# Hold instruction CRL entry extension
# Hold instruction CRL entry extension
!Cname hold-instruction-code
!Cname hold-instruction-code
id-ce 23 : holdInstructionCode : Hold Instruction Code
id-ce 23 : holdInstructionCode : Hold Instruction Code
...
...
util/libeay.num
浏览文件 @
8d1ebe0b
...
@@ -284,20 +284,20 @@ EVP_add_alias 291 NOEXIST::FUNCTION:
...
@@ -284,20 +284,20 @@ EVP_add_alias 291 NOEXIST::FUNCTION:
EVP_add_cipher 292 EXIST::FUNCTION:
EVP_add_cipher 292 EXIST::FUNCTION:
EVP_add_digest 293 EXIST::FUNCTION:
EVP_add_digest 293 EXIST::FUNCTION:
EVP_bf_cbc 294 EXIST::FUNCTION:BF
EVP_bf_cbc 294 EXIST::FUNCTION:BF
EVP_bf_cfb
295 EXIST::FUNCTION:BF
EVP_bf_cfb
64
295 EXIST::FUNCTION:BF
EVP_bf_ecb 296 EXIST::FUNCTION:BF
EVP_bf_ecb 296 EXIST::FUNCTION:BF
EVP_bf_ofb 297 EXIST::FUNCTION:BF
EVP_bf_ofb 297 EXIST::FUNCTION:BF
EVP_cleanup 298 EXIST::FUNCTION:
EVP_cleanup 298 EXIST::FUNCTION:
EVP_des_cbc 299 EXIST::FUNCTION:DES
EVP_des_cbc 299 EXIST::FUNCTION:DES
EVP_des_cfb
300 EXIST::FUNCTION:DES
EVP_des_cfb
64
300 EXIST::FUNCTION:DES
EVP_des_ecb 301 EXIST::FUNCTION:DES
EVP_des_ecb 301 EXIST::FUNCTION:DES
EVP_des_ede 302 EXIST::FUNCTION:DES
EVP_des_ede 302 EXIST::FUNCTION:DES
EVP_des_ede3 303 EXIST::FUNCTION:DES
EVP_des_ede3 303 EXIST::FUNCTION:DES
EVP_des_ede3_cbc 304 EXIST::FUNCTION:DES
EVP_des_ede3_cbc 304 EXIST::FUNCTION:DES
EVP_des_ede3_cfb
305 EXIST::FUNCTION:DES
EVP_des_ede3_cfb
64
305 EXIST::FUNCTION:DES
EVP_des_ede3_ofb 306 EXIST::FUNCTION:DES
EVP_des_ede3_ofb 306 EXIST::FUNCTION:DES
EVP_des_ede_cbc 307 EXIST::FUNCTION:DES
EVP_des_ede_cbc 307 EXIST::FUNCTION:DES
EVP_des_ede_cfb
308 EXIST::FUNCTION:DES
EVP_des_ede_cfb
64
308 EXIST::FUNCTION:DES
EVP_des_ede_ofb 309 EXIST::FUNCTION:DES
EVP_des_ede_ofb 309 EXIST::FUNCTION:DES
EVP_des_ofb 310 EXIST::FUNCTION:DES
EVP_des_ofb 310 EXIST::FUNCTION:DES
EVP_desx_cbc 311 EXIST::FUNCTION:DES
EVP_desx_cbc 311 EXIST::FUNCTION:DES
...
@@ -308,14 +308,14 @@ EVP_get_cipherbyname 315 EXIST::FUNCTION:
...
@@ -308,14 +308,14 @@ EVP_get_cipherbyname 315 EXIST::FUNCTION:
EVP_get_digestbyname 316 EXIST::FUNCTION:
EVP_get_digestbyname 316 EXIST::FUNCTION:
EVP_get_pw_prompt 317 EXIST::FUNCTION:
EVP_get_pw_prompt 317 EXIST::FUNCTION:
EVP_idea_cbc 318 EXIST::FUNCTION:IDEA
EVP_idea_cbc 318 EXIST::FUNCTION:IDEA
EVP_idea_cfb
319 EXIST::FUNCTION:IDEA
EVP_idea_cfb
64
319 EXIST::FUNCTION:IDEA
EVP_idea_ecb 320 EXIST::FUNCTION:IDEA
EVP_idea_ecb 320 EXIST::FUNCTION:IDEA
EVP_idea_ofb 321 EXIST::FUNCTION:IDEA
EVP_idea_ofb 321 EXIST::FUNCTION:IDEA
EVP_md2 322 EXIST::FUNCTION:MD2
EVP_md2 322 EXIST::FUNCTION:MD2
EVP_md5 323 EXIST::FUNCTION:MD5
EVP_md5 323 EXIST::FUNCTION:MD5
EVP_md_null 324 EXIST::FUNCTION:
EVP_md_null 324 EXIST::FUNCTION:
EVP_rc2_cbc 325 EXIST::FUNCTION:RC2
EVP_rc2_cbc 325 EXIST::FUNCTION:RC2
EVP_rc2_cfb
326 EXIST::FUNCTION:RC2
EVP_rc2_cfb
64
326 EXIST::FUNCTION:RC2
EVP_rc2_ecb 327 EXIST::FUNCTION:RC2
EVP_rc2_ecb 327 EXIST::FUNCTION:RC2
EVP_rc2_ofb 328 EXIST::FUNCTION:RC2
EVP_rc2_ofb 328 EXIST::FUNCTION:RC2
EVP_rc4 329 EXIST::FUNCTION:RC4
EVP_rc4 329 EXIST::FUNCTION:RC4
...
@@ -962,7 +962,7 @@ i2t_ASN1_OBJECT 979 EXIST::FUNCTION:
...
@@ -962,7 +962,7 @@ i2t_ASN1_OBJECT 979 EXIST::FUNCTION:
BN_BLINDING_new 980 EXIST::FUNCTION:
BN_BLINDING_new 980 EXIST::FUNCTION:
BN_BLINDING_free 981 EXIST::FUNCTION:
BN_BLINDING_free 981 EXIST::FUNCTION:
EVP_cast5_cbc 983 EXIST::FUNCTION:CAST
EVP_cast5_cbc 983 EXIST::FUNCTION:CAST
EVP_cast5_cfb
984 EXIST::FUNCTION:CAST
EVP_cast5_cfb
64
984 EXIST::FUNCTION:CAST
EVP_cast5_ecb 985 EXIST::FUNCTION:CAST
EVP_cast5_ecb 985 EXIST::FUNCTION:CAST
EVP_cast5_ofb 986 EXIST::FUNCTION:CAST
EVP_cast5_ofb 986 EXIST::FUNCTION:CAST
BF_decrypt 987 EXIST::FUNCTION:BF
BF_decrypt 987 EXIST::FUNCTION:BF
...
@@ -1057,7 +1057,7 @@ EVP_CIPHER_param_to_asn1 1084 EXIST::FUNCTION:
...
@@ -1057,7 +1057,7 @@ EVP_CIPHER_param_to_asn1 1084 EXIST::FUNCTION:
EVP_CIPHER_get_asn1_iv 1085 EXIST::FUNCTION:
EVP_CIPHER_get_asn1_iv 1085 EXIST::FUNCTION:
EVP_CIPHER_set_asn1_iv 1086 EXIST::FUNCTION:
EVP_CIPHER_set_asn1_iv 1086 EXIST::FUNCTION:
EVP_rc5_32_12_16_cbc 1087 EXIST::FUNCTION:RC5
EVP_rc5_32_12_16_cbc 1087 EXIST::FUNCTION:RC5
EVP_rc5_32_12_16_cfb
1088 EXIST::FUNCTION:RC5
EVP_rc5_32_12_16_cfb
64
1088 EXIST::FUNCTION:RC5
EVP_rc5_32_12_16_ecb 1089 EXIST::FUNCTION:RC5
EVP_rc5_32_12_16_ecb 1089 EXIST::FUNCTION:RC5
EVP_rc5_32_12_16_ofb 1090 EXIST::FUNCTION:RC5
EVP_rc5_32_12_16_ofb 1090 EXIST::FUNCTION:RC5
asn1_add_error 1091 EXIST::FUNCTION:
asn1_add_error 1091 EXIST::FUNCTION:
...
@@ -2776,10 +2776,10 @@ ENGINE_load_4758cca 3218 EXIST::FUNCTION:ENGINE,STATIC_ENGIN
...
@@ -2776,10 +2776,10 @@ ENGINE_load_4758cca 3218 EXIST::FUNCTION:ENGINE,STATIC_ENGIN
_ossl_096_des_random_seed 3219 EXIST::FUNCTION:DES
_ossl_096_des_random_seed 3219 EXIST::FUNCTION:DES
EVP_aes_256_ofb 3220 EXIST::FUNCTION:AES
EVP_aes_256_ofb 3220 EXIST::FUNCTION:AES
EVP_aes_192_ofb 3221 EXIST::FUNCTION:AES
EVP_aes_192_ofb 3221 EXIST::FUNCTION:AES
EVP_aes_128_cfb
3222 EXIST::FUNCTION:AES
EVP_aes_128_cfb
64 3222 NOEXIST::FUNCTION:
EVP_aes_256_cfb
3223 EXIST::FUNCTION:AES
EVP_aes_256_cfb
64 3223 NOEXIST::FUNCTION:
EVP_aes_128_ofb 3224 EXIST::FUNCTION:AES
EVP_aes_128_ofb 3224 EXIST::FUNCTION:AES
EVP_aes_192_cfb
3225 EXIST::FUNCTION:AES
EVP_aes_192_cfb
64 3225 NOEXIST::FUNCTION:
CONF_modules_free 3226 EXIST::FUNCTION:
CONF_modules_free 3226 EXIST::FUNCTION:
NCONF_default 3227 EXIST::FUNCTION:
NCONF_default 3227 EXIST::FUNCTION:
OPENSSL_no_config 3228 EXIST::FUNCTION:
OPENSSL_no_config 3228 EXIST::FUNCTION:
...
@@ -3148,3 +3148,17 @@ BN_GF2m_mod_inv_arr 3576 EXIST::FUNCTION:
...
@@ -3148,3 +3148,17 @@ BN_GF2m_mod_inv_arr 3576 EXIST::FUNCTION:
ENGINE_unregister_ECDSA 3577 EXIST::FUNCTION:ENGINE
ENGINE_unregister_ECDSA 3577 EXIST::FUNCTION:ENGINE
PKCS7_set_digest 3578 EXIST::FUNCTION:
PKCS7_set_digest 3578 EXIST::FUNCTION:
PKCS7_set0_type_other 3579 EXIST::FUNCTION:
PKCS7_set0_type_other 3579 EXIST::FUNCTION:
EVP_aes_128_cfb8 3580 EXIST::FUNCTION:AES
EVP_aes_256_cfb128 3581 EXIST::FUNCTION:AES
EVP_aes_128_cfb1 3582 EXIST::FUNCTION:AES
EVP_aes_192_cfb8 3583 EXIST::FUNCTION:AES
EVP_aes_256_cfb8 3584 EXIST::FUNCTION:AES
DES_ede3_cfb_encrypt 3585 EXIST::FUNCTION:DES
EVP_aes_128_cfb128 3586 EXIST::FUNCTION:AES
EVP_des_ede3_cfb8 3587 EXIST::FUNCTION:DES
EVP_aes_192_cfb128 3588 EXIST::FUNCTION:AES
EVP_aes_192_cfb1 3589 EXIST::FUNCTION:AES
EVP_des_cfb8 3590 EXIST::FUNCTION:DES
EVP_aes_256_cfb1 3591 EXIST::FUNCTION:AES
EVP_des_cfb1 3592 EXIST::FUNCTION:DES
EVP_des_ede3_cfb1 3593 EXIST::FUNCTION:DES
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录