Re: Back Doors

From: CF (none_at_nowhere.not)
Date: 12/26/03


Date: Fri, 26 Dec 2003 02:40:53 GMT


"mike3" <mike4ty4@yahoo.com> wrote in message
news:1d54b7e4.0312211943.8eb983d@posting.google.com...
> "CryptWolf" <RWilliams01nospam@no.spam.sceinet.no.spam.com> wrote in
message news:<d95fdc915bf9777ecd86061f7da3ca87@news.teranews.com>...
> > "mike3" <mike4ty4@yahoo.com> wrote in message
> > >news:1d54b7e4.0312192340.3f693332@posting.google.com...
> > > Hi.
> > >
> > > How can one implement "back doors" in an encryption algorithm that
> > > would allow someone to decode all messages encrypted with it provided
> > > they know some secret "magic" formula? Is this a very diffcult problem
> > > or an easy one?
> >
> > Design into the system a master key. Every file is then readable using
> > the master key or the user key. Note that this is an obvious solution.
> > It is generally easiest to implemented using a public key system so
> > that security is not compromised if carefully designed. No private keys
> > need to be embedded. This would be typical in a corporate environment
> > where management might want a way to recover anything the
> > employees might encrypt. The weakness is the master private key
> > becomes the prime target. Otherwise well known algorithms may be
> > used and a very secure system can be designed.
> >
> > If you assume the enemy knows everything about the system,
> > hidden key, key leaking or key weakening schemes fail instantly.
> > All just forms of obscurity.
> >
> > Hard or easy depends on what you actually have to work with.
> > Note that it doesn't prevent someone from downloading an
> > alternative without a back door.
> >
> > CryptWolf
>
> Here's the "conventional" method of applying a public key algorithm:
>
> Encryption:
>
> 1. Make a random symmetric key.
> 2. Encrypt that with public key.
> 3. Use random key to encrypt main message with fast symmetric algorithm.
> 4. Send encrypted random key and encrypted message together.
>
> Decryption:
>
> 1. Decrypt random symmetric key with private key.
> 2. Use recovered key to decrypt main message.
>
> Would this work as a good back door?:
>
> Encryption:
>
> 1. Make a random symmetric key.
> 2. Encrypt that with public key.
> 3. Encrypt a second copy with the "master" hardwired internal public key.
> 4. Use random key to encrypt main message with fast symmetric algorithm.
> 5. Send both copies of encrypted random key and encrypted message
together.
>
> Decryption (with recipient's private key)
>
> 1. Decrypt user key-encryped symmetric key with recipient's private key.
> 2. Use recovered key to decrypt main message.
>
> Decryption (with master private key)
>
> 1. Decrypt master key-encryped symmetric key with recipient's private key.
> 2. Use recovered key to decrypt main message.
>
> Would that make a good back door (as long as it is not mentioned)?

Hi mike3,

First off:

1. Encrypt message with public key.
2. Decrypt message with private key. Private key works.
3. Try decrypting message with all other possible keys. If any other key
decrypts message, you know there is a backdoor.

Thus if a master key exists, it can be proven. Just a note in case you're
paranoid and want to take the time and resources to ease your mind.

If your "magic formula" is something other than a master key, your algorithm
or source code may look fishy. Even if your algorithm is complex enough to
fool the worlds smartest, there are still potential problems. Lets take a
look at what this might look like, with no "master key" backdoors.

Let F() be your encryption algorithm.
Let P be your plaintext.
Let k be your public key.
Let Ck be your cyphertext encrypted with key k
Let F(P,k) denote the application of F() on P with k.

F(P,k)=Ck

Let G() be your decryption algorithm.
Le r be your private key.
Let G(Ck,r) denote the application of G() on Ck with r.

G(Ck,r)=P

Then let M() be your "magic function" such that:

M(Ck,k)=P

All you need to do make sure that:

G(Ck,r)=M(Ck,k)

Since, presumably, you already know k and have intercepted Ck, you're all
set.

-KryptoPhalkon

It feels great to post again, after all these years. : )



Relevant Pages

  • [OT] Re: Basic question about Public Private Key Pairs
    ... > and private keys allow me to decrypt, but vice versa is not possible (or ... a public key and a corresponding private key. ... You can encrypt something with each key; ...
    (microsoft.public.dotnet.security)
  • Re: More on learning "Public Key Authentication"
    ... let me say that in public key ... >> encrypt the result with Alice's public key. ... >> is sent to Alice who decrypts the message with her private key (which ... > encrypted with my private key and they can then decrypt it with the ...
    (comp.sys.mac.system)
  • Re: RSACryptoServiceProvider decrypt with public key
    ... key/decrypt with the private key and encrypt with the private key/decrypt ... encrypt data and send it back to Alice. ... only she can decrypt Bob's data. ... see the public key and the encrypted data, but she could not decrypt Bob's ...
    (microsoft.public.dotnet.security)
  • Re: Need help with Windows XP EFS
    ... Because I searched some and on>the Microsoft>>website it says that if you don't have a recovery agent>certificate it's not>>possible to recover anything. ... >>>>I just need a small hint on how to get windows to accept>the master key so>>it can decrypt the private key. ... I assume that letting>Microsoft recover my>>private key will cost me a lot of money too. ...
    (microsoft.public.windowsxp.security_admin)
  • Re: EFS File Recovery
    ... and settings associated with the security boundary. ... > I have also tried to use my user private key to decrypt these files that are> on non-domain server2003 box without success. ... How can this be considered a solution to anything when there> are no keys that can ultimatly decrypt the files when all else fails,> including all domain manhines???? ... > how he cannot have his stock investment files because the domain in which> was used to encrypt the files no longer exsists, and although we do have his> data backed up, we cannot decrypt the data because the keys that were used> to encrypt that are no longer any good. ...
    (microsoft.public.windows.server.security)