In reading H.235, it seems to be vary vague with regards to how to setup encryption profiles.  Also, I see no mention of other crypto algorithms such as Blowfish.  To me, the H.235 support for encryption seems too complicated for something that should just needs to exchange keys and algorithms.

  In developing our H.323 stack, we decided to use SSL and a couple of simple non-standard parameters to provide the key exchange and algorithm negotiation.  The reasons we did this was because:
        1.) Crypto can be negotiated within the Setup and Connect messages,

        2.) We wanted something that would work without an H.245 channel (H.323 Annex F implementation for example), and

        3.) We could not find any H.323 products that supported crypto that we needed to be compatible with in the short term.

  So, unless there are any objections, I propose we add 2 parameters to the H.225 Setup and Connect messages:

        cryptoKey       OCTET STRING OPTIONAL

        cryptoAlgorithm         CryptoAlgorithm


  CryptoAlgorithm would then be defined as:

CryptoAlgorithm ::= CHOICE
{
        DES             NULL,
        Triple-DES      NULL,
        Blowfish        NULL,
        ...
}

  The cryptoKey would be the raw binary data for the key as the algorithm accepts.  Since the program would know the length of the octet string, it could calculate the number of bits, if needed.

  Other algoritmhs could be added.  We should probably set a requirement that all crypto-capable endpoints be able to use one of the above algorithms, to increase the chances of making a secure call.  I would vote for Blowfish, but I'm not going to go against the majority if something else wins.

  Hopefully, I have explained this clearly.  I think it's about time we came up with a simple solution that is easy to add new algorithms rather than having to use profiles.  Our stack has employed essentially this same technique with non-standard parameters, and it has proved very efficient and stable.  Plus, it's about time more H.323 endpoints support crypto since the regulations have been relaxed in the U.S.

  Any comments/flames?
        -Brian