Home | History | Annotate | Download | only in krb5

Lines Matching defs:et

89     struct _krb5_encryption_type *et = _krb5_find_enctype(type);
90 if(et == NULL) {
93 *keysize = et->keytype->size;
102 struct _krb5_encryption_type *et = _krb5_find_enctype(type);
103 if(et == NULL) {
106 *keybits = et->keytype->bits;
116 struct _krb5_encryption_type *et = _krb5_find_enctype(type);
117 if(et == NULL) {
120 ret = krb5_data_alloc(&key->keyvalue, et->keytype->size);
124 if(et->keytype->random_key)
125 (*et->keytype->random_key)(context, key);
137 struct _krb5_encryption_type *et = _krb5_find_enctype(key->key->keytype);
140 if (et == NULL) {
145 kt = et->keytype;
404 ct = crypto->et->keyed_checksum;
406 ct = crypto->et->checksum;
467 kct = crypto->et->keyed_checksum;
473 ct->name, crypto->et->name);
494 ct->name, (crypto != NULL)? crypto->et->name : "(none)");
513 ct->name, crypto ? crypto->et->name : "(unkeyed)");
558 ct = crypto->et->keyed_checksum;
560 ct = crypto->et->checksum;
799 return (crypto->et->flags & F_DERIVED) != 0;
819 const struct _krb5_encryption_type *et = crypto->et;
821 checksum_sz = CHECKSUMSIZE(et->keyed_checksum);
823 sz = et->confoundersize + len;
824 block_sz = (sz + et->padsize - 1) &~ (et->padsize - 1); /* pad */
831 krb5_generate_random_block(q, et->confoundersize); /* XXX */
832 q += et->confoundersize;
836 et->keyed_checksum,
857 ret = (*et->encrypt)(context, dkey, p, block_sz, 1, usage, ivec);
883 const struct _krb5_encryption_type *et = crypto->et;
885 checksum_sz = CHECKSUMSIZE(et->keyed_checksum);
887 sz = et->confoundersize + len;
888 block_sz = (sz + et->padsize - 1) &~ (et->padsize - 1); /* pad */
895 krb5_generate_random_block(q, et->confoundersize); /* XXX */
896 q += et->confoundersize;
907 ivc = malloc(et->blocksize + block_sz);
913 memcpy(ivc, ivec, et->blocksize);
915 memset(ivc, 0, et->blocksize);
917 ret = (*et->encrypt)(context, dkey, p, block_sz, 1, usage, ivec);
920 memcpy(&ivc[et->blocksize], p, block_sz);
923 et->keyed_checksum,
927 et->blocksize + block_sz,
961 const struct _krb5_encryption_type *et = crypto->et;
963 checksum_sz = CHECKSUMSIZE(et->checksum);
965 sz = et->confoundersize + checksum_sz + len;
966 block_sz = (sz + et->padsize - 1) &~ (et->padsize - 1); /* pad */
972 krb5_generate_random_block(q, et->confoundersize); /* XXX */
973 q += et->confoundersize;
979 et->checksum,
992 memcpy(p + et->confoundersize, cksum.checksum.data, cksum.checksum.length);
997 ret = (*et->encrypt)(context, &crypto->key, p, block_sz, 1, 0, ivec);
1021 struct _krb5_encryption_type *et = crypto->et;
1022 size_t cksum_sz = CHECKSUMSIZE(et->checksum);
1023 size_t sz = len + cksum_sz + et->confoundersize;
1033 krb5_generate_random_block(p, et->confoundersize);
1034 p += et->confoundersize;
1036 ret = (*et->encrypt)(context, &crypto->key, tmp, sz, TRUE, usage, ivec);
1061 struct _krb5_encryption_type *et = crypto->et;
1064 checksum_sz = CHECKSUMSIZE(et->keyed_checksum);
1065 if (len < checksum_sz + et->confoundersize) {
1072 if (((len - checksum_sz) % et->padsize) != 0) {
1094 ret = (*et->encrypt)(context, dkey, p, len, 0, usage, ivec);
1102 cksum.cksumtype = CHECKSUMTYPE(et->keyed_checksum);
1114 l = len - et->confoundersize;
1115 memmove(p, p + et->confoundersize, l);
1139 struct _krb5_encryption_type *et = crypto->et;
1142 checksum_sz = CHECKSUMSIZE(et->keyed_checksum);
1143 if (len < checksum_sz + et->confoundersize) {
1150 if (((len - checksum_sz) % et->padsize) != 0) {
1157 p = malloc(et->blocksize + len);
1162 memcpy(p, ivec, et->blocksize);
1164 memset(p, 0, et->blocksize);
1165 memcpy(&p[et->blocksize], data, len);
1169 cksum.cksumtype = CHECKSUMTYPE(et->keyed_checksum);
1175 et->blocksize + len,
1192 ret = (*et->encrypt)(context, dkey, &p[et->blocksize], len, 0, usage, ivec);
1198 l = len - et->confoundersize;
1199 memmove(p, p + et->blocksize + et->confoundersize, l);
1221 struct _krb5_encryption_type *et = crypto->et;
1223 if ((len % et->padsize) != 0) {
1227 checksum_sz = CHECKSUMSIZE(et->checksum);
1228 if (len < checksum_sz + et->confoundersize) {
1245 ret = (*et->encrypt)(context, &crypto->key, p, len, 0, 0, ivec);
1250 ret = krb5_data_copy(&cksum.checksum, p + et
1255 memset(p + et->confoundersize, 0, checksum_sz);
1256 cksum.cksumtype = CHECKSUMTYPE(et->checksum);
1263 l = len - et->confoundersize - checksum_sz;
1264 memmove(p, p + et->confoundersize + checksum_sz, l);
1283 struct _krb5_encryption_type *et = crypto->et;
1284 size_t cksum_sz = CHECKSUMSIZE(et->checksum);
1285 size_t sz = len - cksum_sz - et->confoundersize;
1289 if ((len % et->padsize) != 0) {
1293 if (len < cksum_sz + et->confoundersize) {
1305 ret = (*et->encrypt)(context, &crypto->key, p, len, FALSE, usage, ivec);
1311 memmove (p, p + cksum_sz + et->confoundersize, sz);
1444 iov_pad_validate(const struct _krb5_encryption_type *et,
1454 headersz = et->confoundersize;
1457 block_sz = (sz + et->padsize - 1) &~ (et->padsize - 1); /* pad */
1516 const struct _krb5_encryption_type *et = crypto->et;
1532 headersz = et->confoundersize;
1533 trailersz = CHECKSUMSIZE(et->keyed_checksum);
1542 ret = iov_pad_validate(et, data, num_data, &piv);
1553 if (et->flags & F_ENC_THEN_CKSUM) {
1569 heim_assert(et->blocksize <= sizeof(old_ivec),
1573 memcpy(old_ivec, ivec, et->blocksize);
1575 memset(old_ivec, 0, et->blocksize);
1577 ret = (*et->encrypt)(context, dkey, enc_data.data, enc_data.length,
1586 ivec_data.length = et->blocksize;
1599 et->keyed_checksum,
1617 if (!(et->flags & F_ENC_THEN_CKSUM)) {
1630 ret = (*et->encrypt)(context, dkey, enc_data.data, enc_data.length,
1685 struct _krb5_encryption_type *et = crypto->et;
1695 if (hiv == NULL || hiv->data.length != et->confoundersize)
1700 if (tiv->data.length != CHECKSUMSIZE(et->keyed_checksum))
1704 if ((iov_enc_data_len(data, num_data) % et->padsize) != 0) {
1712 if (!(et->flags & F_ENC_THEN_CKSUM)) {
1725 ret = (*et->encrypt)(context, dkey, enc_data.data, enc_data.length,
1741 heim_assert(et->blocksize <= sizeof(zero_ivec),
1744 ivec_data.length = et->blocksize;
1754 cksum.cksumtype = CHECKSUMTYPE(et->keyed_checksum);
1765 if (et->flags & F_ENC_THEN_CKSUM) {
1778 ret = (*et->encrypt)(context, dkey, enc_data.data, enc_data.length,
1900 struct _krb5_encryption_type *et = crypto->et;
1935 cksum.cksumtype = CHECKSUMTYPE(et->keyed_checksum);
1965 *len = crypto->et->blocksize;
1972 if (crypto->et->padsize > 1)
1973 *len = crypto->et->padsize;
1978 *len = CHECKSUMSIZE(crypto->et->keyed_checksum);
1981 if (crypto->et->keyed_checksum)
1982 *len = CHECKSUMSIZE(crypto->et->keyed_checksum);
1984 *len = CHECKSUMSIZE(crypto->et->checksum);
2024 switch (crypto->et->flags & F_CRYPTO_MASK) {
2085 switch (crypto->et->flags & F_CRYPTO_MASK) {
2135 struct _krb5_encryption_type *et,
2144 struct _krb5_key_type *kt = et->keytype;
2146 if(et->blocksize * 8 < kt->bits || len != et->blocksize) {
2147 nblocks = (kt->bits + et->blocksize * 8 - 1) / (et->blocksize * 8);
2148 k = malloc(nblocks * et->blocksize);
2153 ret = _krb5_n_fold(constant, len, k, et->blocksize);
2161 memcpy(k + i * et->blocksize,
2162 k + (i - 1) * et->blocksize,
2163 et->blocksize);
2164 (*et->encrypt)(context, key, k + i * et->blocksize, et->blocksize,
2177 (*et->encrypt)(context, key, c, len, 1, 0, NULL);
2193 _krb5_DES3_random_to_key(context, key->key, k, nblocks * et->blocksize);
2199 memset_s(k, nblocks * et->blocksize, 0, nblocks * et->blocksize);
2207 struct _krb5_encryption_type *et,
2213 struct _krb5_key_type *kt = et->keytype;
2257 struct _krb5_encryption_type *et,
2268 switch (et->flags & F_KDF_MASK) {
2270 ret = derive_key_rfc3961(context, et, key, constant, len);
2273 ret = derive_key_sp800_hmac(context, et, key, constant, len);
2279 et->keytype->type);
2284 free_key_schedule(context, key, et);
2314 struct _krb5_encryption_type *et;
2319 et = _krb5_find_enctype (etype);
2320 if (et == NULL) {
2329 ret = _krb5_derive_key(context, et, &d, constant, constant_len);
2332 _krb5_free_key_data(context, &d, et);
2358 return _krb5_derive_key(context, crypto->et, d, constant, sizeof(constant));
2391 (*crypto)->et = _krb5_find_enctype(etype);
2392 if((*crypto)->et == NULL || ((*crypto)->et->flags & F_DISABLED)) {
2397 if((*crypto)->et->keytype->size != key->keyvalue.length) {
2419 struct _krb5_encryption_type *et)
2421 if (et->keytype->cleanup)
2422 (*et->keytype->cleanup)(context, key);
2429 struct _krb5_encryption_type *et)
2433 free_key_schedule(context, key, et);
2440 struct _krb5_encryption_type *et)
2442 _krb5_free_key_data(context, &ku->key, et);
2463 free_key_usage(context, &crypto->key_usage[i], crypto->et);
2465 _krb5_free_key_data(context, &crypto->key, crypto->et);
2487 *blocksize = crypto->et->blocksize;
2508 *enctype = crypto->et->type;
2529 *padsize = crypto->et->padsize;
2550 *confoundersize = crypto->et->confoundersize;
2570 struct _krb5_encryption_type *et = _krb5_find_enctype(enctype);
2571 if(et == NULL) {
2578 et->flags |= F_DISABLED;
2597 struct _krb5_encryption_type *et = _krb5_find_enctype(enctype);
2598 if(et == NULL) {
2605 et->flags &= ~F_DISABLED;
2650 struct _krb5_encryption_type *et = _krb5_find_enctype(enctype);
2651 if(et == NULL || (et->flags & F_WEAK))
2670 struct _krb5_encryption_type *et;
2672 et = _krb5_find_enctype (enctype);
2674 return et && (et->flags & F_SP800_108_HMAC_KDF);
2682 struct _krb5_encryption_type *et = crypto->et;
2683 size_t padsize = et->padsize;
2684 size_t checksumsize = CHECKSUMSIZE(et->checksum);
2687 res = et->confoundersize + checksumsize + data_len;
2697 struct _krb5_encryption_type *et = crypto->et;
2698 size_t padsize = et->padsize;
2701 res = et->confoundersize + data_len;
2703 if (et->keyed_checksum)
2704 res += et->keyed_checksum->checksumsize;
2706 res += et->checksum->checksumsize;
2733 struct _krb5_encryption_type *et = crypto->et;
2736 res = CHECKSUMSIZE(et->checksum);
2737 res += et->confoundersize;
2738 if (et->padsize > 1)
2739 res += et->padsize;
2747 struct _krb5_encryption_type *et = crypto->et;
2750 if (et->keyed_checksum)
2751 res = CHECKSUMSIZE(et->keyed_checksum);
2753 res = CHECKSUMSIZE(et->checksum);
2754 res += et->confoundersize;
2755 if (et->padsize > 1)
2756 res += et->padsize;
2794 struct _krb5_encryption_type *et = _krb5_find_enctype(type);
2795 if(et == NULL) {
2801 if ((et->keytype->bits + 7) / 8 > size) {
2806 et->name, (int)et->keytype->size);
2809 ret = krb5_data_alloc(&key->keyvalue, et->keytype->size);
2813 if (et->keytype->random_to_key)
2814 (*et->keytype->random_to_key)(context, key, data, size);
2816 memcpy(key->keyvalue.data, data, et->keytype->size);
2828 struct _krb5_encryption_type *et = _krb5_find_enctype(type);
2830 if(et == NULL || et->prf_length == 0) {
2837 *length = et->prf_length;
2847 struct _krb5_encryption_type *et = crypto->et;
2851 if(et->prf == NULL) {
2854 et->name);
2858 return (*et->prf)(context, crypto, input, output);