Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
CODE PROJECT For Those Who Code
  • Home
  • Articles
  • FAQ
Community
  1. Home
  2. General Programming
  3. Algorithms
  4. encryption algorithm

encryption algorithm

Scheduled Pinned Locked Moved Algorithms
securityhardwarealgorithmshelp
3 Posts 3 Posters 17 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    sc_emb
    wrote on last edited by
    #1

    Hello all; I'm currently working on encryption algorithm for small embedded systems.....I had selected a combination of RSA and Blowfish.....where RSA is used for the session key encryption... Could any body suggest a method of transferring the public keys to the recipients with authentication without using the CA certification or PKI....as its dealing with embedded systems and having a third party to monitor the public key transfer is a major area of concern.. Any help in this regard will be greatly appreciated.. Thanking you'll in advance.. sc_emb sc_emb

    C P 2 Replies Last reply
    0
    • S sc_emb

      Hello all; I'm currently working on encryption algorithm for small embedded systems.....I had selected a combination of RSA and Blowfish.....where RSA is used for the session key encryption... Could any body suggest a method of transferring the public keys to the recipients with authentication without using the CA certification or PKI....as its dealing with embedded systems and having a third party to monitor the public key transfer is a major area of concern.. Any help in this regard will be greatly appreciated.. Thanking you'll in advance.. sc_emb sc_emb

      C Offline
      C Offline
      cp9876
      wrote on last edited by
      #2

      Be your own CA and install your public master key as trusted on the embedded system. Then the embedded system can trust all certificates signed by your master private key. Much the same as IE - it comes with a whole lot of certificates pre-installed from CAs that Microsoft has decided that you should trust. If you don't use assymetric encryption for authentication you have to save some secret key in each device that could be vulnerable to detection. Of course it all depends on what you are securing, if the embedded system is a nuclear detonation device or if failure of the system could otherwise lead to mass destruction, then this advice may not be applicable.


      Peter "Until the invention of the computer, the machine gun was the device that enabled humans to make the most mistakes in the smallest amount of time."

      1 Reply Last reply
      0
      • S sc_emb

        Hello all; I'm currently working on encryption algorithm for small embedded systems.....I had selected a combination of RSA and Blowfish.....where RSA is used for the session key encryption... Could any body suggest a method of transferring the public keys to the recipients with authentication without using the CA certification or PKI....as its dealing with embedded systems and having a third party to monitor the public key transfer is a major area of concern.. Any help in this regard will be greatly appreciated.. Thanking you'll in advance.. sc_emb sc_emb

        P Offline
        P Offline
        PICguy
        wrote on last edited by
        #3

        Perhaps I’m just going over semantics here but...are not public keys supposed to be public? The public key for your device can be public. Your device needs the public keys of authorized senders. And perhaps its own RSA key pair if it needs to say much in return. In the following E(key, msg) is RSA encryption of msg with public key and D(key, msg) is RSA decryption using public key. E’() and D’() are the same except they use the private RSA key. msg = D’(key, E(key, msg)) Alice: (plain text) I am Alice, an authorized sender. Device: Oh? Prove it. Here is a time stamp... Alice sends D’(keyAlice, Oct 9 2007 2228) Note – Alice uses her private DEcryption key here. (Device computes E(keyAlice, above message. All is okay.) Note – Device encrypts to decrypt. I know it sounds strange. Alice sends E(deviceKey, long random Blowfish key) + Blowfish encrypted message using the just sent key. Device recovers Blowfish key with D’(deviceKey, key part of prior message) The point is simple. The device needs only the public keys of trusted senders. If you need a CA for that then you need a CA. You might find that Twofish is easier to implement. In particular you do not need over 4000 bytes of pi. And a place to keep them for the next encryption. But if you have a hard drive that should not be a problem. On a machine large enough to be reasonable to do Twofish I would hardcode q0 & q1 and generate a table of already permuted MDS stuff on the fly. I.e. 512 bytes of hard coded constants + 4096 bytes of table generated as part of your key setup. Twofish ain’t that complex if I can implement the thing in both x86 and ARM assembly. I’ll do it for the Z80 or a PIC with several hundred bytes of RAM if someone will pay me. I bought Schneier’s book “used.” It made that nice cracking sound when I first opened it. My overall comments on Twofish: it appears more than a little over designed. And you don’t need 3 different encode / decode procedures for different key lengths. . . . . Oh wait. After writing the above I just reread your original message. Apparently you have multiple devices needing public keys. You can only allow trusted public keys into your system. Start with your public key. Your machines trust you. Only you or someone you delegate may enter new authorized users. In effect YOU are the CA. Don’t forget about physical access and how that can compromise your devices. -Peter

        1 Reply Last reply
        0
        Reply
        • Reply as topic
        Log in to reply
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes


        • Login

        • Don't have an account? Register

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • World
        • Users
        • Groups