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

Example:

message: any expression from symbols to numerals to expressions to images to audio and video and so on.

🗝🫆message;

🫆: 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 are 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
  • 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 🗝 .
base = "/certs/free/signature1";

s = "base/signature/value";

key = "base/🔑";

message = "hi";

q = ( ✍🏻 s ⚲ message  ) 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