diff options
Diffstat (limited to 'src/lib/crypto/krb/rand2key')
-rw-r--r-- | src/lib/crypto/krb/rand2key/Makefile.in | 8 | ||||
-rw-r--r-- | src/lib/crypto/krb/rand2key/camellia_rand2key.c | 43 | ||||
-rw-r--r-- | src/lib/crypto/krb/rand2key/rand2key.h | 3 |
3 files changed, 51 insertions, 3 deletions
diff --git a/src/lib/crypto/krb/rand2key/Makefile.in b/src/lib/crypto/krb/rand2key/Makefile.in index 72f14feaa..adde89b94 100644 --- a/src/lib/crypto/krb/rand2key/Makefile.in +++ b/src/lib/crypto/krb/rand2key/Makefile.in @@ -10,13 +10,15 @@ DEFS= PROG_LIBPATH=-L$(TOPLIBD) PROG_RPATH=$(KRB5_LIBDIR) -STLIBOBJS= aes_rand2key.o des_rand2key.o des3_rand2key.o rc4_rand2key.o +STLIBOBJS= aes_rand2key.o des_rand2key.o des3_rand2key.o rc4_rand2key.o camellia_rand2key.o OBJS= $(OUTPRE)aes_rand2key.$(OBJEXT) $(OUTPRE)des_rand2key.$(OBJEXT) \ - $(OUTPRE)des3_rand2key.$(OBJEXT) $(OUTPRE)rc4_rand2key.$(OBJEXT) + $(OUTPRE)des3_rand2key.$(OBJEXT) $(OUTPRE)rc4_rand2key.$(OBJEXT) \ + $(OUTPRE)camellia_rand2key.$(OBJEXT) SRCS= $(srcdir)/aes_rand2key.c $(srcdir)/des_rand2key.c \ - $(srcdir)/des3_rand2key.c $(srcdir)/rc4_rand2key.c + $(srcdir)/des3_rand2key.c $(srcdir)/rc4_rand2key.c \ + $(srcdir)/camellia_rand2key.c ##DOS##LIBOBJS = $(OBJS) diff --git a/src/lib/crypto/krb/rand2key/camellia_rand2key.c b/src/lib/crypto/krb/rand2key/camellia_rand2key.c new file mode 100644 index 000000000..50e7ef015 --- /dev/null +++ b/src/lib/crypto/krb/rand2key/camellia_rand2key.c @@ -0,0 +1,43 @@ +/* + * lib/crypto/krb/rand2key/camellia_rand2key.c + * + * Copyright (c) 2009 + * NTT (Nippon Telegraph and Telephone Corporation) . All rights reserved. + * + * Export of this software from the United States of America may + * require a specific license from the United States Government. + * It is the responsibility of any person or organization contemplating + * export to obtain such a license before exporting. + * + * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and + * distribute this software and its documentation for any purpose and + * without fee is hereby granted, provided that the above copyright + * notice appear in all copies and that both that copyright notice and + * this permission notice appear in supporting documentation, and that + * the name of M.I.T. not be used in advertising or publicity pertaining + * to distribution of the software without specific, written prior + * permission. Furthermore if you modify this software you must label + * your software as modified software and not distribute it in such a + * fashion that it might be confused with the original M.I.T. software. + * M.I.T. makes no representations about the suitability of + * this software for any purpose. It is provided "as is" without express + * or implied warranty. + */ + + +#include "rand2key.h" + +krb5_error_code +krb5int_camellia_make_key(const krb5_data *randombits, krb5_keyblock *key) +{ + if (key->length != 16 && key->length != 32) + return(KRB5_BAD_KEYSIZE); + if (randombits->length != key->length) + return(KRB5_CRYPTO_INTERNAL); + + key->magic = KV5M_KEYBLOCK; + + memcpy(key->contents, randombits->data, randombits->length); + + return(0); +} diff --git a/src/lib/crypto/krb/rand2key/rand2key.h b/src/lib/crypto/krb/rand2key/rand2key.h index 321c45230..262d83daf 100644 --- a/src/lib/crypto/krb/rand2key/rand2key.h +++ b/src/lib/crypto/krb/rand2key/rand2key.h @@ -14,3 +14,6 @@ krb5int_des3_make_key(const krb5_data *randombits, krb5_keyblock *key); krb5_error_code krb5int_aes_make_key(const krb5_data *randombits, krb5_keyblock *key); + +krb5_error_code +krb5int_camellia_make_key(const krb5_data *randombits, krb5_keyblock *key); |