Skip to main content

Digital Signature

    Your digital signature is the proof that you signed something Your digital signature attests to the fact that your data was not tampered with In asymmetric key system you ought to sign with the private key 🗝 or any symbol representing one message: any expression from symbols to numerals to expressions to images to audio and video and so on 🫆: Free Form language symbol for digital signature in binary operator form in this case. key🫆message computes a signature for the message given this key. Operator form 🫆should be thought of a multiplication a ⨉ b where two left and right operands act on each other to compute a product. In a 🫆b, the key a acts on the message/data b to output a signature. 
    Sign
    🔐["rsa"];
    
    message = "hi";
    
    signature = 🗝🫆message;
    
    save as signature1;
    
    Cloud Object Browser: signature1
    Verify Signature
      Signature, generally performed in another program in another system and in the past. To access that signature Free Form language follows the path paradigm e.g. "/certs/free/signature1" base = "/certs/free/signature1"; states that the symbol base represents the path on the rhs; base can by any other symbol/word s = "base/signature/value"; allows the access to the external signature value again in path form and s presents the accessed signature 

      Paths starting with / are external paths e.g. "/certs/free/signature1" created by other programs and networks , while paths like "base/signature/value" are local to the current Free Form language script.

        key = "base/🔑"; in paired key cryptography systems, assumption is everyone has access to the public key 🔑. This public key is then used to verify if the computed signature was indeed performed by the secret private key 🗝 .  q = (✍🏻 s ⚲ message)🫆key; this time the rhs the public key acts on the lhs namely (✍🏻 s ⚲ message) and places returns the evaluation boolean result in q. (✍🏻 s ⚲ message) is a generalization of list in other programming languages. Symbols ✍🏻 and ⚲ "pin" contents into the list and depending the pin symbol the content is interpreted ⚲ message pins a message the subject matter of interest in this signature computations ✍🏻 s pins the signature from a previous program who allegedly signed the message namely ⚲ message 
        base = "/certs/free/signature1";
        
        s = "base/signature/value";
        
        key = "base/🔑";
        
        message = "hi";
        
        q = (✍🏻 s ⚲ message)🫆key;
        
        show q;
        
        save as verify1;
        

        Output:

        "q" ⟶ True

        Cloud Object Browser: verify1
        FAIL: Verify Signature
        base = "/certs/free/signature1";
        
        s = "base/signature/value";
        
        key = "base/🔑";
        
        message = "hi!";
        
        q = ( ✍🏻 s ⚲ message  ) 🫆key;
        
        show q;
        
        save as verify1-2;
        

        Output:

        "q" ⟶ False

        Cloud Object Browser: verify1-2