The first (of many probably) problem with your idea is that you assume a symmetrical type of encryption.
As a simple (but unaccurate) example, say we have an elemental code-signing method. We would be using one key (private, you can call it key A or Alice) to encrypt the software, and another...