# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: opencannabis/crypto/primitives/Keys.proto
"""Generated protocol buffer code."""
from google.protobuf.internal import enum_type_wrapper
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from opencannabis.crypto.primitives import Integrity_pb2 as opencannabis_dot_crypto_dot_primitives_dot_Integrity__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='opencannabis/crypto/primitives/Keys.proto',
  package='opencannabis.crypto',
  syntax='proto3',
  serialized_options=b'\n(io.opencannabis.schema.crypto.primitivesH\001P\001\242\002\003OCS',
  create_key=_descriptor._internal_create_key,
  serialized_pb=b'\n)opencannabis/crypto/primitives/Keys.proto\x12\x13opencannabis.crypto\x1a.opencannabis/crypto/primitives/Integrity.proto\"z\n\x15\x42lockCipherParameters\x12\x33\n\talgorithm\x18\x01 \x01(\x0e\x32 .opencannabis.crypto.BlockCipher\x12,\n\x04mode\x18\x02 \x01(\x0e\x32\x1e.opencannabis.crypto.BlockMode\"\x94\x01\n\x16SymmetricKeyParameters\x12\x33\n\x06stream\x18\x01 \x01(\x0e\x32!.opencannabis.crypto.StreamCipherH\x00\x12;\n\x05\x62lock\x18\x02 \x01(\x0b\x32*.opencannabis.crypto.BlockCipherParametersH\x00\x42\x08\n\x06\x63ipher\"\x80\x01\n\x1b\x41symmetricKeypairParameters\x12\x31\n\x06scheme\x18\x01 \x01(\x0e\x32!.opencannabis.crypto.KeyingScheme\x12.\n\x0b\x66ingerprint\x18\x02 \x01(\x0b\x32\x19.opencannabis.crypto.Hash\"\xad\x02\n\rKeyParameters\x12\x11\n\talgorithm\x18\x01 \x01(\t\x12\x0e\n\x06\x66ormat\x18\x02 \x01(\t\x12\x0c\n\x04\x62its\x18\x03 \x01(\r\x12*\n\x04type\x18\x04 \x01(\x0e\x32\x1c.opencannabis.crypto.KeyType\x12\x38\n\x0b\x64isposition\x18\x05 \x01(\x0e\x32#.opencannabis.crypto.KeyDisposition\x12\x33\n\x06scheme\x18\n \x01(\x0e\x32!.opencannabis.crypto.KeyingSchemeH\x00\x12@\n\tsymmetric\x18\x0b \x01(\x0b\x32+.opencannabis.crypto.SymmetricKeyParametersH\x00\x42\x0e\n\x0c\x61rchitecture\"\x8c\x01\n\x14InitializationVector\x12;\n\x04mode\x18\x01 \x01(\x0e\x32-.opencannabis.crypto.InitializationVectorMode\x12\r\n\x03raw\x18\n \x01(\x0cH\x00\x12\r\n\x03\x62\x36\x34\x18\x0b \x01(\tH\x00\x12\x10\n\x06number\x18\x0c \x01(\rH\x00\x42\x07\n\x05value\"y\n\x0cSymmetricKey\x12\x0c\n\x04\x62its\x18\x01 \x01(\r\x12\x35\n\x02iv\x18\x02 \x01(\x0b\x32).opencannabis.crypto.InitializationVector\x12\r\n\x03raw\x18\n \x01(\x0cH\x00\x12\r\n\x03\x62\x36\x34\x18\x0b \x01(\tH\x00\x42\x06\n\x04\x64\x61ta\"\x97\x01\n\x0bKeyMaterial\x12.\n\x0b\x66ingerprint\x18\x01 \x01(\x0b\x32\x19.opencannabis.crypto.Hash\x12\x32\n\x06params\x18\x02 \x01(\x0b\x32\".opencannabis.crypto.KeyParameters\x12\r\n\x03raw\x18\n \x01(\x0cH\x00\x12\r\n\x03pem\x18\x0b \x01(\tH\x00\x42\x06\n\x04\x64\x61ta\"n\n\x07Keypair\x12\x30\n\x06public\x18\x01 \x01(\x0b\x32 .opencannabis.crypto.KeyMaterial\x12\x31\n\x07private\x18\x02 \x01(\x0b\x32 .opencannabis.crypto.KeyMaterial*(\n\x07KeyType\x12\r\n\tSYMMETRIC\x10\x00\x12\x0e\n\nASYMMETRIC\x10\x01*8\n\x0eKeyDisposition\x12\x0b\n\x07PRIVATE\x10\x00\x12\r\n\tEPHEMERAL\x10\x01\x12\n\n\x06PUBLIC\x10\x02*B\n\x0b\x42lockCipher\x12\x1c\n\x18UNSPECIFIED_BLOCK_CIPHER\x10\x00\x12\x07\n\x03\x41\x45S\x10\x01\x12\x0c\n\x08\x43\x41MELLIA\x10\x02*M\n\x0cStreamCipher\x12\x1d\n\x19UNSPECIFIED_STREAM_CIPHER\x10\x00\x12\x07\n\x03RC5\x10\x01\x12\x07\n\x03RC6\x10\x02\x12\x0c\n\x08\x43HACHA20\x10\x03*A\n\x0cKeyAgreement\x12\x1d\n\x19UNSPECIFIED_KEY_AGREEMENT\x10\x00\x12\x07\n\x03\x44HE\x10\x01\x12\t\n\x05\x45\x43\x44HE\x10\x02*x\n\tBlockMode\x12\x1a\n\x16UNSPECIFIED_BLOCK_MODE\x10\x00\x12\x07\n\x03\x45\x43\x42\x10\x01\x12\x07\n\x03\x43\x42\x43\x10\x02\x12\x07\n\x03\x43\x46\x42\x10\x03\x12\x07\n\x03OFB\x10\x04\x12\x07\n\x03\x43TR\x10\x05\x12\x07\n\x03\x43\x43M\x10\x06\x12\x07\n\x03GCM\x10\x07\x12\x07\n\x03XTS\x10\x08\x12\x07\n\x03KWP\x10\t*4\n\x0cKeyingScheme\x12\x07\n\x03RSA\x10\x00\x12\x07\n\x03\x45\x43\x43\x10\x01\x12\x07\n\x03\x44SA\x10\x02\x12\t\n\x05\x45\x64\x44SA\x10\x03*@\n\x18InitializationVectorMode\x12\r\n\tSTATIC_IV\x10\x00\x12\x08\n\x04TOTP\x10\x01\x12\x0b\n\x07\x43OUNTER\x10\x02\x42\x34\n(io.opencannabis.schema.crypto.primitivesH\x01P\x01\xa2\x02\x03OCSb\x06proto3'
  ,
  dependencies=[opencannabis_dot_crypto_dot_primitives_dot_Integrity__pb2.DESCRIPTOR,])

_KEYTYPE = _descriptor.EnumDescriptor(
  name='KeyType',
  full_name='opencannabis.crypto.KeyType',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='SYMMETRIC', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='ASYMMETRIC', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=1356,
  serialized_end=1396,
)
_sym_db.RegisterEnumDescriptor(_KEYTYPE)

KeyType = enum_type_wrapper.EnumTypeWrapper(_KEYTYPE)
_KEYDISPOSITION = _descriptor.EnumDescriptor(
  name='KeyDisposition',
  full_name='opencannabis.crypto.KeyDisposition',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='PRIVATE', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='EPHEMERAL', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='PUBLIC', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=1398,
  serialized_end=1454,
)
_sym_db.RegisterEnumDescriptor(_KEYDISPOSITION)

KeyDisposition = enum_type_wrapper.EnumTypeWrapper(_KEYDISPOSITION)
_BLOCKCIPHER = _descriptor.EnumDescriptor(
  name='BlockCipher',
  full_name='opencannabis.crypto.BlockCipher',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNSPECIFIED_BLOCK_CIPHER', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='AES', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='CAMELLIA', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=1456,
  serialized_end=1522,
)
_sym_db.RegisterEnumDescriptor(_BLOCKCIPHER)

BlockCipher = enum_type_wrapper.EnumTypeWrapper(_BLOCKCIPHER)
_STREAMCIPHER = _descriptor.EnumDescriptor(
  name='StreamCipher',
  full_name='opencannabis.crypto.StreamCipher',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNSPECIFIED_STREAM_CIPHER', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='RC5', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='RC6', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='CHACHA20', index=3, number=3,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=1524,
  serialized_end=1601,
)
_sym_db.RegisterEnumDescriptor(_STREAMCIPHER)

StreamCipher = enum_type_wrapper.EnumTypeWrapper(_STREAMCIPHER)
_KEYAGREEMENT = _descriptor.EnumDescriptor(
  name='KeyAgreement',
  full_name='opencannabis.crypto.KeyAgreement',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNSPECIFIED_KEY_AGREEMENT', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='DHE', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='ECDHE', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=1603,
  serialized_end=1668,
)
_sym_db.RegisterEnumDescriptor(_KEYAGREEMENT)

KeyAgreement = enum_type_wrapper.EnumTypeWrapper(_KEYAGREEMENT)
_BLOCKMODE = _descriptor.EnumDescriptor(
  name='BlockMode',
  full_name='opencannabis.crypto.BlockMode',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNSPECIFIED_BLOCK_MODE', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='ECB', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='CBC', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='CFB', index=3, number=3,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='OFB', index=4, number=4,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='CTR', index=5, number=5,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='CCM', index=6, number=6,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='GCM', index=7, number=7,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='XTS', index=8, number=8,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='KWP', index=9, number=9,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=1670,
  serialized_end=1790,
)
_sym_db.RegisterEnumDescriptor(_BLOCKMODE)

BlockMode = enum_type_wrapper.EnumTypeWrapper(_BLOCKMODE)
_KEYINGSCHEME = _descriptor.EnumDescriptor(
  name='KeyingScheme',
  full_name='opencannabis.crypto.KeyingScheme',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='RSA', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='ECC', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='DSA', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='EdDSA', index=3, number=3,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=1792,
  serialized_end=1844,
)
_sym_db.RegisterEnumDescriptor(_KEYINGSCHEME)

KeyingScheme = enum_type_wrapper.EnumTypeWrapper(_KEYINGSCHEME)
_INITIALIZATIONVECTORMODE = _descriptor.EnumDescriptor(
  name='InitializationVectorMode',
  full_name='opencannabis.crypto.InitializationVectorMode',
  filename=None,
  file=DESCRIPTOR,
  create_key=_descriptor._internal_create_key,
  values=[
    _descriptor.EnumValueDescriptor(
      name='STATIC_IV', index=0, number=0,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='TOTP', index=1, number=1,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
    _descriptor.EnumValueDescriptor(
      name='COUNTER', index=2, number=2,
      serialized_options=None,
      type=None,
      create_key=_descriptor._internal_create_key),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=1846,
  serialized_end=1910,
)
_sym_db.RegisterEnumDescriptor(_INITIALIZATIONVECTORMODE)

InitializationVectorMode = enum_type_wrapper.EnumTypeWrapper(_INITIALIZATIONVECTORMODE)
SYMMETRIC = 0
ASYMMETRIC = 1
PRIVATE = 0
EPHEMERAL = 1
PUBLIC = 2
UNSPECIFIED_BLOCK_CIPHER = 0
AES = 1
CAMELLIA = 2
UNSPECIFIED_STREAM_CIPHER = 0
RC5 = 1
RC6 = 2
CHACHA20 = 3
UNSPECIFIED_KEY_AGREEMENT = 0
DHE = 1
ECDHE = 2
UNSPECIFIED_BLOCK_MODE = 0
ECB = 1
CBC = 2
CFB = 3
OFB = 4
CTR = 5
CCM = 6
GCM = 7
XTS = 8
KWP = 9
RSA = 0
ECC = 1
DSA = 2
EdDSA = 3
STATIC_IV = 0
TOTP = 1
COUNTER = 2



_BLOCKCIPHERPARAMETERS = _descriptor.Descriptor(
  name='BlockCipherParameters',
  full_name='opencannabis.crypto.BlockCipherParameters',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='algorithm', full_name='opencannabis.crypto.BlockCipherParameters.algorithm', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='mode', full_name='opencannabis.crypto.BlockCipherParameters.mode', index=1,
      number=2, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=114,
  serialized_end=236,
)


_SYMMETRICKEYPARAMETERS = _descriptor.Descriptor(
  name='SymmetricKeyParameters',
  full_name='opencannabis.crypto.SymmetricKeyParameters',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='stream', full_name='opencannabis.crypto.SymmetricKeyParameters.stream', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='block', full_name='opencannabis.crypto.SymmetricKeyParameters.block', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='cipher', full_name='opencannabis.crypto.SymmetricKeyParameters.cipher',
      index=0, containing_type=None,
      create_key=_descriptor._internal_create_key,
    fields=[]),
  ],
  serialized_start=239,
  serialized_end=387,
)


_ASYMMETRICKEYPAIRPARAMETERS = _descriptor.Descriptor(
  name='AsymmetricKeypairParameters',
  full_name='opencannabis.crypto.AsymmetricKeypairParameters',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='scheme', full_name='opencannabis.crypto.AsymmetricKeypairParameters.scheme', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='fingerprint', full_name='opencannabis.crypto.AsymmetricKeypairParameters.fingerprint', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=390,
  serialized_end=518,
)


_KEYPARAMETERS = _descriptor.Descriptor(
  name='KeyParameters',
  full_name='opencannabis.crypto.KeyParameters',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='algorithm', full_name='opencannabis.crypto.KeyParameters.algorithm', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='format', full_name='opencannabis.crypto.KeyParameters.format', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='bits', full_name='opencannabis.crypto.KeyParameters.bits', index=2,
      number=3, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='type', full_name='opencannabis.crypto.KeyParameters.type', index=3,
      number=4, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='disposition', full_name='opencannabis.crypto.KeyParameters.disposition', index=4,
      number=5, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='scheme', full_name='opencannabis.crypto.KeyParameters.scheme', index=5,
      number=10, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='symmetric', full_name='opencannabis.crypto.KeyParameters.symmetric', index=6,
      number=11, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='architecture', full_name='opencannabis.crypto.KeyParameters.architecture',
      index=0, containing_type=None,
      create_key=_descriptor._internal_create_key,
    fields=[]),
  ],
  serialized_start=521,
  serialized_end=822,
)


_INITIALIZATIONVECTOR = _descriptor.Descriptor(
  name='InitializationVector',
  full_name='opencannabis.crypto.InitializationVector',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='mode', full_name='opencannabis.crypto.InitializationVector.mode', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='raw', full_name='opencannabis.crypto.InitializationVector.raw', index=1,
      number=10, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=b"",
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='b64', full_name='opencannabis.crypto.InitializationVector.b64', index=2,
      number=11, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='number', full_name='opencannabis.crypto.InitializationVector.number', index=3,
      number=12, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='value', full_name='opencannabis.crypto.InitializationVector.value',
      index=0, containing_type=None,
      create_key=_descriptor._internal_create_key,
    fields=[]),
  ],
  serialized_start=825,
  serialized_end=965,
)


_SYMMETRICKEY = _descriptor.Descriptor(
  name='SymmetricKey',
  full_name='opencannabis.crypto.SymmetricKey',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='bits', full_name='opencannabis.crypto.SymmetricKey.bits', index=0,
      number=1, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='iv', full_name='opencannabis.crypto.SymmetricKey.iv', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='raw', full_name='opencannabis.crypto.SymmetricKey.raw', index=2,
      number=10, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=b"",
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='b64', full_name='opencannabis.crypto.SymmetricKey.b64', index=3,
      number=11, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='data', full_name='opencannabis.crypto.SymmetricKey.data',
      index=0, containing_type=None,
      create_key=_descriptor._internal_create_key,
    fields=[]),
  ],
  serialized_start=967,
  serialized_end=1088,
)


_KEYMATERIAL = _descriptor.Descriptor(
  name='KeyMaterial',
  full_name='opencannabis.crypto.KeyMaterial',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='fingerprint', full_name='opencannabis.crypto.KeyMaterial.fingerprint', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='params', full_name='opencannabis.crypto.KeyMaterial.params', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='raw', full_name='opencannabis.crypto.KeyMaterial.raw', index=2,
      number=10, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=b"",
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='pem', full_name='opencannabis.crypto.KeyMaterial.pem', index=3,
      number=11, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='data', full_name='opencannabis.crypto.KeyMaterial.data',
      index=0, containing_type=None,
      create_key=_descriptor._internal_create_key,
    fields=[]),
  ],
  serialized_start=1091,
  serialized_end=1242,
)


_KEYPAIR = _descriptor.Descriptor(
  name='Keypair',
  full_name='opencannabis.crypto.Keypair',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='public', full_name='opencannabis.crypto.Keypair.public', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='private', full_name='opencannabis.crypto.Keypair.private', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1244,
  serialized_end=1354,
)

_BLOCKCIPHERPARAMETERS.fields_by_name['algorithm'].enum_type = _BLOCKCIPHER
_BLOCKCIPHERPARAMETERS.fields_by_name['mode'].enum_type = _BLOCKMODE
_SYMMETRICKEYPARAMETERS.fields_by_name['stream'].enum_type = _STREAMCIPHER
_SYMMETRICKEYPARAMETERS.fields_by_name['block'].message_type = _BLOCKCIPHERPARAMETERS
_SYMMETRICKEYPARAMETERS.oneofs_by_name['cipher'].fields.append(
  _SYMMETRICKEYPARAMETERS.fields_by_name['stream'])
_SYMMETRICKEYPARAMETERS.fields_by_name['stream'].containing_oneof = _SYMMETRICKEYPARAMETERS.oneofs_by_name['cipher']
_SYMMETRICKEYPARAMETERS.oneofs_by_name['cipher'].fields.append(
  _SYMMETRICKEYPARAMETERS.fields_by_name['block'])
_SYMMETRICKEYPARAMETERS.fields_by_name['block'].containing_oneof = _SYMMETRICKEYPARAMETERS.oneofs_by_name['cipher']
_ASYMMETRICKEYPAIRPARAMETERS.fields_by_name['scheme'].enum_type = _KEYINGSCHEME
_ASYMMETRICKEYPAIRPARAMETERS.fields_by_name['fingerprint'].message_type = opencannabis_dot_crypto_dot_primitives_dot_Integrity__pb2._HASH
_KEYPARAMETERS.fields_by_name['type'].enum_type = _KEYTYPE
_KEYPARAMETERS.fields_by_name['disposition'].enum_type = _KEYDISPOSITION
_KEYPARAMETERS.fields_by_name['scheme'].enum_type = _KEYINGSCHEME
_KEYPARAMETERS.fields_by_name['symmetric'].message_type = _SYMMETRICKEYPARAMETERS
_KEYPARAMETERS.oneofs_by_name['architecture'].fields.append(
  _KEYPARAMETERS.fields_by_name['scheme'])
_KEYPARAMETERS.fields_by_name['scheme'].containing_oneof = _KEYPARAMETERS.oneofs_by_name['architecture']
_KEYPARAMETERS.oneofs_by_name['architecture'].fields.append(
  _KEYPARAMETERS.fields_by_name['symmetric'])
_KEYPARAMETERS.fields_by_name['symmetric'].containing_oneof = _KEYPARAMETERS.oneofs_by_name['architecture']
_INITIALIZATIONVECTOR.fields_by_name['mode'].enum_type = _INITIALIZATIONVECTORMODE
_INITIALIZATIONVECTOR.oneofs_by_name['value'].fields.append(
  _INITIALIZATIONVECTOR.fields_by_name['raw'])
_INITIALIZATIONVECTOR.fields_by_name['raw'].containing_oneof = _INITIALIZATIONVECTOR.oneofs_by_name['value']
_INITIALIZATIONVECTOR.oneofs_by_name['value'].fields.append(
  _INITIALIZATIONVECTOR.fields_by_name['b64'])
_INITIALIZATIONVECTOR.fields_by_name['b64'].containing_oneof = _INITIALIZATIONVECTOR.oneofs_by_name['value']
_INITIALIZATIONVECTOR.oneofs_by_name['value'].fields.append(
  _INITIALIZATIONVECTOR.fields_by_name['number'])
_INITIALIZATIONVECTOR.fields_by_name['number'].containing_oneof = _INITIALIZATIONVECTOR.oneofs_by_name['value']
_SYMMETRICKEY.fields_by_name['iv'].message_type = _INITIALIZATIONVECTOR
_SYMMETRICKEY.oneofs_by_name['data'].fields.append(
  _SYMMETRICKEY.fields_by_name['raw'])
_SYMMETRICKEY.fields_by_name['raw'].containing_oneof = _SYMMETRICKEY.oneofs_by_name['data']
_SYMMETRICKEY.oneofs_by_name['data'].fields.append(
  _SYMMETRICKEY.fields_by_name['b64'])
_SYMMETRICKEY.fields_by_name['b64'].containing_oneof = _SYMMETRICKEY.oneofs_by_name['data']
_KEYMATERIAL.fields_by_name['fingerprint'].message_type = opencannabis_dot_crypto_dot_primitives_dot_Integrity__pb2._HASH
_KEYMATERIAL.fields_by_name['params'].message_type = _KEYPARAMETERS
_KEYMATERIAL.oneofs_by_name['data'].fields.append(
  _KEYMATERIAL.fields_by_name['raw'])
_KEYMATERIAL.fields_by_name['raw'].containing_oneof = _KEYMATERIAL.oneofs_by_name['data']
_KEYMATERIAL.oneofs_by_name['data'].fields.append(
  _KEYMATERIAL.fields_by_name['pem'])
_KEYMATERIAL.fields_by_name['pem'].containing_oneof = _KEYMATERIAL.oneofs_by_name['data']
_KEYPAIR.fields_by_name['public'].message_type = _KEYMATERIAL
_KEYPAIR.fields_by_name['private'].message_type = _KEYMATERIAL
DESCRIPTOR.message_types_by_name['BlockCipherParameters'] = _BLOCKCIPHERPARAMETERS
DESCRIPTOR.message_types_by_name['SymmetricKeyParameters'] = _SYMMETRICKEYPARAMETERS
DESCRIPTOR.message_types_by_name['AsymmetricKeypairParameters'] = _ASYMMETRICKEYPAIRPARAMETERS
DESCRIPTOR.message_types_by_name['KeyParameters'] = _KEYPARAMETERS
DESCRIPTOR.message_types_by_name['InitializationVector'] = _INITIALIZATIONVECTOR
DESCRIPTOR.message_types_by_name['SymmetricKey'] = _SYMMETRICKEY
DESCRIPTOR.message_types_by_name['KeyMaterial'] = _KEYMATERIAL
DESCRIPTOR.message_types_by_name['Keypair'] = _KEYPAIR
DESCRIPTOR.enum_types_by_name['KeyType'] = _KEYTYPE
DESCRIPTOR.enum_types_by_name['KeyDisposition'] = _KEYDISPOSITION
DESCRIPTOR.enum_types_by_name['BlockCipher'] = _BLOCKCIPHER
DESCRIPTOR.enum_types_by_name['StreamCipher'] = _STREAMCIPHER
DESCRIPTOR.enum_types_by_name['KeyAgreement'] = _KEYAGREEMENT
DESCRIPTOR.enum_types_by_name['BlockMode'] = _BLOCKMODE
DESCRIPTOR.enum_types_by_name['KeyingScheme'] = _KEYINGSCHEME
DESCRIPTOR.enum_types_by_name['InitializationVectorMode'] = _INITIALIZATIONVECTORMODE
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

BlockCipherParameters = _reflection.GeneratedProtocolMessageType('BlockCipherParameters', (_message.Message,), {
  'DESCRIPTOR' : _BLOCKCIPHERPARAMETERS,
  '__module__' : 'opencannabis.crypto.primitives.Keys_pb2'
  # @@protoc_insertion_point(class_scope:opencannabis.crypto.BlockCipherParameters)
  })
_sym_db.RegisterMessage(BlockCipherParameters)

SymmetricKeyParameters = _reflection.GeneratedProtocolMessageType('SymmetricKeyParameters', (_message.Message,), {
  'DESCRIPTOR' : _SYMMETRICKEYPARAMETERS,
  '__module__' : 'opencannabis.crypto.primitives.Keys_pb2'
  # @@protoc_insertion_point(class_scope:opencannabis.crypto.SymmetricKeyParameters)
  })
_sym_db.RegisterMessage(SymmetricKeyParameters)

AsymmetricKeypairParameters = _reflection.GeneratedProtocolMessageType('AsymmetricKeypairParameters', (_message.Message,), {
  'DESCRIPTOR' : _ASYMMETRICKEYPAIRPARAMETERS,
  '__module__' : 'opencannabis.crypto.primitives.Keys_pb2'
  # @@protoc_insertion_point(class_scope:opencannabis.crypto.AsymmetricKeypairParameters)
  })
_sym_db.RegisterMessage(AsymmetricKeypairParameters)

KeyParameters = _reflection.GeneratedProtocolMessageType('KeyParameters', (_message.Message,), {
  'DESCRIPTOR' : _KEYPARAMETERS,
  '__module__' : 'opencannabis.crypto.primitives.Keys_pb2'
  # @@protoc_insertion_point(class_scope:opencannabis.crypto.KeyParameters)
  })
_sym_db.RegisterMessage(KeyParameters)

InitializationVector = _reflection.GeneratedProtocolMessageType('InitializationVector', (_message.Message,), {
  'DESCRIPTOR' : _INITIALIZATIONVECTOR,
  '__module__' : 'opencannabis.crypto.primitives.Keys_pb2'
  # @@protoc_insertion_point(class_scope:opencannabis.crypto.InitializationVector)
  })
_sym_db.RegisterMessage(InitializationVector)

SymmetricKey = _reflection.GeneratedProtocolMessageType('SymmetricKey', (_message.Message,), {
  'DESCRIPTOR' : _SYMMETRICKEY,
  '__module__' : 'opencannabis.crypto.primitives.Keys_pb2'
  # @@protoc_insertion_point(class_scope:opencannabis.crypto.SymmetricKey)
  })
_sym_db.RegisterMessage(SymmetricKey)

KeyMaterial = _reflection.GeneratedProtocolMessageType('KeyMaterial', (_message.Message,), {
  'DESCRIPTOR' : _KEYMATERIAL,
  '__module__' : 'opencannabis.crypto.primitives.Keys_pb2'
  # @@protoc_insertion_point(class_scope:opencannabis.crypto.KeyMaterial)
  })
_sym_db.RegisterMessage(KeyMaterial)

Keypair = _reflection.GeneratedProtocolMessageType('Keypair', (_message.Message,), {
  'DESCRIPTOR' : _KEYPAIR,
  '__module__' : 'opencannabis.crypto.primitives.Keys_pb2'
  # @@protoc_insertion_point(class_scope:opencannabis.crypto.Keypair)
  })
_sym_db.RegisterMessage(Keypair)


DESCRIPTOR._options = None
# @@protoc_insertion_point(module_scope)
