• KryptoMessage1.js
    20 Aug 2016
    The left pane of the WebIDE is used as the client input.
    Run the program and type help(); to list the commands.
    Added encryption and permutation options to the message transport
    Set the flags at the top of this program to enable these features.
    This cryptographic protocol uses the permutation. RNG, AES, and AEScmac cryptographic primitives.
    require("RNG") ("AEScmac") ("permutation")
    The AEScmac is used to validate the entire message in MsgCmac.
    The AEScmac is applied to the previously sent random number (Rnd.) and compared to
    the Auth block to validate that the sender of the message possesses the keys and is authentic.
    The server contains a list of user IDs, an AEScmac( ID,password), and a lexical level.
    The client has to enter a user ID and password. The AESmac is calculated and AES encrypted using a key derived from an AES encryption of the random number in the last server message. A lexical level of zero allows access to the LED on and LED off commands. A lexical level of one is to be used to allow transfer of cryptographic keys
    AES and AEScmac algorithms are NIST approved.
    This implementation of AES and AEScmac are not NIST certified
    The RNG (random number generators) are two different instances with different keys on the client and server and do not need to be synchronized and they can be randomized at random intervals.
    // flags used in the Msg transport function
    //var EncryptionFlag=true;
    //var PermutationFlag=true;
    var EncryptionFlag=false;
    var PermutationFlag=false;
    // ReplayFlag controls the recording of msgs for replay
    var ReplayFlag=true;
    //var ReplayFlag=false;


    4 Attachments

About