DESのいくつかの(すべて?)実装は、キーの文字ごとに7ビットしか使用しないと思います(ASCIIエンコーディング)。DESの定義でキーに8ビット文字が許可されているのか、それとも実際に各バイトの上位ビットを無視しているのかはわかりません。後者だと思います。
ただし、.NETのキーサイズは、基になるアルゴリズムがその最上位ビットを無視する場合でも、バイト数に1バイトあたり8ビットを掛けたものに基づいています。それがおそらく主な不一致です。
TripleDESは、潜在的に3つの異なる56ビットDESキーを使用してDESを3回実行します。一部の実装では、中間実行が逆になり(encrypting-decrypting-encryptingまたは「EDE」)、3つすべてに同じ56ビットDESキーを使用すると、単純なDESの暗号化が複製されます。これは、両方がハードウェアベースの暗号化を使用している古いシステムとの互換性のために行われました。TripleDESCryptoServiceProviderがこの「EDE」アプローチを使用するのか「EEE」アプローチを使用するのか(または選択肢を提供するのか)はわかりません。さらに、同じ56ビットDESキーを1回目と3回目の実行に使用でき、168ビットキーの代わりに112ビットキーを使用することもできます。
認定されたTripleDESCryptoServiceProviderは、実際には3DESセキュリティではないため56ビット(64ビット)キーを受け入れません(代わりにDESCryptoServiceProviderを使用できますか?)。かつて、168ビットのEEE(またはEDE?)3DESは、112ビット(128ビット)のキーを使用するよりも優れたセキュリティを提供しないと判断されていました。ただし、短いキーが理論的に脆弱である極端な(通常は利用できない)攻撃が存在する可能性があります。これは、EDEとEEEの質問にも当てはまる可能性があります。
互換性と他の言語の質問については、.NETの* CryptoServiceProviderクラスは、基盤となるWindowsCRYPTOライブラリの単なるラッパーAPIです。他の言語もWindowsCRYPTOライブラリを使用している場合は、互換性があるはずです。それ以外の場合は、EDEとEEEのどちらを使用しているかを確認し、すべてが同じものを使用していることを確認し(柔軟性がある場合とない場合があります)、明らかに同じキー長を使用する必要があります。それらはすべて同じバイト順序を使用している可能性がありますが、それでも一致しないことがわかった場合は、別の方法で確認する必要があります。ほとんどの場合、WindowsではすべてCRYPTOを使用しており、すべてのオプションを同じ方法で設定できる限り、おそらく一致します。