See the question and my original answer on StackOverflow

The standard registration tool for .NET assemblies is indeed regasm.exe, with /Codebase if you don't put it in the GAC (but you put it in the GAC apparently).

The progid you use in php should be the same as what you specified in .NET, so "CryptoCs", instead of "CryptoCs.Crypto" here

Also, I suggest you remove all the ClassInterface and InterfaceType attributes, as it's better to use the defaults in general.