summaryrefslogtreecommitdiffstats
path: root/g10/dek.h
diff options
context:
space:
mode:
Diffstat (limited to 'g10/dek.h')
-rw-r--r--g10/dek.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/g10/dek.h b/g10/dek.h
new file mode 100644
index 0000000..3654491
--- /dev/null
+++ b/g10/dek.h
@@ -0,0 +1,51 @@
+/* dek.h - The data encryption key structure.
+ * Copyright (C) 2014 Werner Koch
+ *
+ * This file is part of GnuPG.
+ *
+ * GnuPG is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * GnuPG is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <https://www.gnu.org/licenses/>.
+ */
+#ifndef G10_DEK_H
+#define G10_DEK_H
+
+typedef struct
+{
+ /* The algorithm (e.g., CIPHER_ALGO_AES). */
+ int algo;
+ /* The length of the key (in bytes). */
+ int keylen;
+
+ /* Whether we've already printed information about this key. This
+ * is currently only used in decrypt_data() and only if we are in
+ * verbose mode. */
+ unsigned int algo_info_printed : 1;
+
+ /* AEAD shall be used. The value is the AEAD algo. */
+ int use_aead : 4;
+
+ /* MDC shall be used. */
+ unsigned int use_mdc : 1;
+
+ /* This key was read from a SK-ESK packet (see proc_symkey_enc). */
+ unsigned int symmetric : 1;
+
+ /* This is the largest used keylen (256 bit). */
+ byte key[32];
+
+ /* The cacheid for the S2K. */
+ char s2k_cacheid[1+16+1];
+} DEK;
+
+
+#endif /*G10_DEK_H*/