~mdw
/
secnet
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ec-field-test.c: Make the field-element type use internal format.
[secnet]
/
transform-cbcmac.c
diff --git
a/transform-cbcmac.c
b/transform-cbcmac.c
index
7e6a1f7
..
e7a3ee5
100644
(file)
--- a/
transform-cbcmac.c
+++ b/
transform-cbcmac.c
@@
-101,8
+101,8
@@
static void transform_delkey(void *sst)
ti->keyed=False;
}
ti->keyed=False;
}
-static
uint32_t transform_forward(void *sst, struct buffer_if *buf
,
-
const char **errmsg)
+static
transform_apply_return transform_forward(void *sst
,
+
struct buffer_if *buf,
const char **errmsg)
{
struct transform_inst *ti=sst;
uint8_t *padp;
{
struct transform_inst *ti=sst;
uint8_t *padp;
@@
-172,8
+172,8
@@
static uint32_t transform_forward(void *sst, struct buffer_if *buf,
return 0;
}
return 0;
}
-static
uint32_t transform_reverse(void *sst, struct buffer_if *buf
,
-
const char **errmsg)
+static
transform_apply_return transform_reverse(void *sst
,
+
struct buffer_if *buf,
const char **errmsg)
{
struct transform_inst *ti=sst;
uint8_t *padp;
{
struct transform_inst *ti=sst;
uint8_t *padp;
@@
-191,7
+191,7
@@
static uint32_t transform_reverse(void *sst, struct buffer_if *buf,
if (buf->size < 4 + 16 + 16) {
*errmsg="msg too short";
if (buf->size < 4 + 16 + 16) {
*errmsg="msg too short";
- return
1
;
+ return
transform_apply_err
;
}
/* CBC */
}
/* CBC */
@@
-203,7
+203,7
@@
static uint32_t transform_reverse(void *sst, struct buffer_if *buf,
/* Assert bufsize is multiple of blocksize */
if (buf->size&0xf) {
*errmsg="msg not multiple of cipher blocksize";
/* Assert bufsize is multiple of blocksize */
if (buf->size&0xf) {
*errmsg="msg not multiple of cipher blocksize";
- return
1
;
+ return
transform_apply_err
;
}
serpentbe_encrypt(&ti->cryptkey,iv,iv);
for (n=buf->start; n<buf->start+buf->size; n+=16)
}
serpentbe_encrypt(&ti->cryptkey,iv,iv);
for (n=buf->start; n<buf->start+buf->size; n+=16)
@@
-231,9
+231,9
@@
static uint32_t transform_reverse(void *sst, struct buffer_if *buf,
serpentbe_encrypt(&ti->mackey,macplain,macacc);
}
serpentbe_encrypt(&ti->mackey,macacc,macacc);
serpentbe_encrypt(&ti->mackey,macplain,macacc);
}
serpentbe_encrypt(&ti->mackey,macacc,macacc);
- if (!consttime_memeq(macexpected,macacc,16)
!=0
) {
+ if (!consttime_memeq(macexpected,macacc,16)) {
*errmsg="invalid MAC";
*errmsg="invalid MAC";
- return
1
;
+ return
transform_apply_err
;
}
/* PKCS5, stolen from IWJ */
}
/* PKCS5, stolen from IWJ */
@@
-242,7
+242,7
@@
static uint32_t transform_reverse(void *sst, struct buffer_if *buf,
padlen=*padp;
if (!padlen || (padlen > PKCS5_MASK+1)) {
*errmsg="pkcs5: invalid length";
padlen=*padp;
if (!padlen || (padlen > PKCS5_MASK+1)) {
*errmsg="pkcs5: invalid length";
- return
1
;
+ return
transform_apply_err
;
}
buf_unappend(buf,padlen-1);
}
buf_unappend(buf,padlen-1);
@@
-284,9
+284,6
@@
static list_t *transform_apply(closure_t *self, struct cloc loc,
update_max_start_pad(&transform_max_start_pad, 28);
/* 4byte seqnum, 16byte pad, 4byte MACIV, 4byte IV */
update_max_start_pad(&transform_max_start_pad, 28);
/* 4byte seqnum, 16byte pad, 4byte MACIV, 4byte IV */
- /* We need 256*2 bits for serpent keys, 32 bits for CBC-IV and 32 bits
- for CBCMAC-IV, and 32 bits for init sequence number */
- st->ops.keylen=REQUIRED_KEYLEN;
st->ops.create=transform_create;
/* First parameter must be a dict */
st->ops.create=transform_create;
/* First parameter must be a dict */
@@
-298,7
+295,7
@@
static list_t *transform_apply(closure_t *self, struct cloc loc,
SEQNUM_PARAMS_INIT(dict,&st->p,"serpent-cbc256",loc);
SEQNUM_PARAMS_INIT(dict,&st->p,"serpent-cbc256",loc);
- SET_CAPAB_
TRANSFORMNUM(CAPAB_TRANSFORMNUM
_SERPENT256CBC);
+ SET_CAPAB_
BIT(CAPAB_BIT
_SERPENT256CBC);
return new_closure(&st->cl);
}
return new_closure(&st->cl);
}