TripleDES: a chave especificada é uma chave fraca conhecida para 'TripleDES' e não pode ser usada

Estou usando a classe .NET 3.0System.Security.Cryptography.MACTripleDES class para gerar um valor MAC. Infelizmente, estou trabalhando com um dispositivo de hardware que usa "1111111111111111 "(como hexadecimal) como uma chave DES de comprimento únicSystem.Security.Cryptography biblioteca @ faz uma verificação de sanidade na chave e retorna uma exceção se você tentar usar uma chave criptograficamente frac

Por exemplo

byte[] key = new byte[24];
for (int i = 0; i < key.Length; i++)
  key[i] = 0x11;

byte[] data = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
byte[] computedMac = null;
using (MACTripleDES mac = new MACTripleDES(key))
{
  computedMac = mac.ComputeHash(data);
}

lança uma exceção

System.Security.Cryptography.CryptographicException : Specified key is a known weak key for 'TripleDES' and cannot be used.

Sei que essa não é uma chave segura. Na produção, o dispositivo piscará com uma chave nova e segura. Nesse meio tempo, existe alguma maneira de impedir que essa exceção seja lançada? Talvez umapp.config ou configuração do registro?

Edit: A chave seria realmente 101010 ... devido ao algoritmo forçando paridade ímpar. Não tenho certeza se isso é universal para o algoritmo DES ou apenas um requisito no trabalho de processamento de pagamentos que eu faç

Edit 2: A resposta de Daniel abaixo tem algumas informações muito boas sobre hackers .NET. Infelizmente, não consegui resolver meu problema usando essa técnica, mas ainda há algumas leituras interessantes lá.

questionAnswers(8)

yourAnswerToTheQuestion