Proof-of-Concept Results

  1. Overview
    This section provides an overview of the successful implementation of the Secure Cryptographic
    Watermarking and Encryption Technology for Video Verification. The POC illustrates the core
    functionalities of the system, which include video signing, encryption, and verification. The tests
    conducted demonstrate that the implemented technology effectively ensures the integrity and
    authenticity of video data.
  2. Key Functions
    The following key functions were successfully implemented in the POC:
  3. Key Generation
    RSA keys were generated to facilitate the signing and verification processes. The implementation
    ensures secure management of the keys necessary for video integrity checks.
    Pseudocode:
    plaintext
    Copy code
    Generate RSA key pair
    Export private key to ‘private.pem’
    Export public key to ‘public.pem’
  4. Signing Video Metadata
    The video metadata was securely signed using the RSA private key. This step is crucial for establishing
    authenticity, allowing later verification of the video’s integrity.
    Pseudocode:
    plaintext
    Copy code
    Create SHA256 hash of video metadata
    Sign hash with RSA private key
    Save signature to ‘signature.bin’
  5. Verifying Video Signature
    The system was able to verify whether a video was signed by utilizing the RSA public key. This
    function is essential for confirming that the metadata has not been altered.
    Pseudocode:
    plaintext
    Copy code
    Load video metadata
    Create SHA256 hash of video metadata
    Load public key
    Load signature
    Verify signature against hash
  6. Encrypting Video
    The video data was encrypted using AES encryption, ensuring that unauthorized access is prevented
    during transmission and storage.
    Pseudocode:
    plaintext
    Copy code
    Generate random AES key
    Initialize AES cipher
    Encrypt video data
    Save encrypted data with nonce and tag
  7. Decrypting Video
    The system successfully decrypted the encrypted video data for playback, ensuring that only authorized
    users can access the content.
    Pseudocode:
    plaintext
    Copy code
    Load AES key
    Load encrypted data (nonce, tag, ciphertext)
    Initialize AES cipher with nonce
    Decrypt ciphertext
  8. POC Results
    The results from the POC are summarized below:
  • Successful Signing: The system accurately signed the video metadata, which can be
    independently verified at a later time.
  • Encryption Success: The video was encrypted successfully and stored in a secure format,
    safeguarding it from unauthorized access.
  • Verification Accuracy: The system successfully identified unsigned video as “NOT
    RealSealed” while confirming that the signed video was “RealSealed.” This verification process
    underscores the reliability of the implemented cryptographic methods.
    Attachments Notes – POC Results Output
    Overview
    This section provides a detailed look at the output from the Proof of Concept (POC) testing. It includes
    screenshots of key files and an explanation of the output generated by running the POC, showcasing
    the storage of keys, signatures, encryption status, and video verification results.
  1. POC File Storage and Key Files
    The following files were generated and stored in the specified directory, which is structured to securely
    hold the cryptographic keys and encrypted video files:
  • Private Key: Stored in private.pem.
  • Public Key: Stored in public.pem.
  • Digital Signature: Stored in signature.bin.
    Screenshots have been included below for each file to visually verify the contents and confirm correct
    file generation.
  1. Text Output from Running POC Test
    The following is the direct output from the POC test run:
    plaintext
    Copy code
    PS C:\Users\Owner> & C:/Users/Owner/anaconda3/python.exe
    “c:/Users/Owner/Documents/RealSeal/from Crypto.py”
    Private key saved to private.pem.
    Public key saved to public.pem.
    Signature saved to signature.bin.
    Video signed successfully.
    Encrypted video saved to Documents/RealSeal/RealSeal.mp4.enc.
    Documents/RealSeal/RealSealNoUpdate.mp4 is RealSealed.
    Video decrypted successfully.
    Decrypted video saved to Documents/RealSeal/RealSeal.mp4_decrypted.mp4.
  2. Detailed Analysis of POC Output
  • Private Key Storage:
  • Message: “Private key saved to private.pem.”
  • Explanation: The private key used for signing is securely saved in the file
    private.pem.
  • Reference: See screenshot for the internal structure of the private key file.
  • Public Key Storage:
  • Message: “Public key saved to public.pem.”
  • Explanation: The public key, used for verifying the video signature, is stored in
    public.pem.
  • Reference: See screenshot for the structure of the public key file.
  • Signature File:
  • Message: “Signature saved to signature.bin.”
  • Explanation: The generated signature for video metadata is saved as signature.bin.
  • Reference: See screenshot for the internal content of the signature file.
  • Video Signing:
  • Message: “Video signed successfully.”
  • Explanation: This indicates the video metadata was successfully signed using the private
    key.
  • Reference: Refer to the metadata screenshot to confirm the presence of the signature.
  • Video Encryption:
  • Message: “Encrypted video saved to Documents/RealSeal/RealSeal.mp4.enc.”
  • Explanation: The video has been encrypted and saved in RealSeal.mp4.enc,
    ensuring secure storage.
  • Reference: See screenshot of the encrypted file metadata.
  • Video Integrity Check (RealSeal Verification):
  • Message: “Documents/RealSeal/RealSealNoUpdate.mp4 is RealSealed.”
  • Explanation: This confirms the video has passed the integrity check, verifying it as
    “RealSealed.”
  • Reference: Metadata screenshot confirms the RealSeal status of
    RealSealNoUpdate.mp4.
    “ebucore:ebuCoreMain”: {
    “@version”: “1.8”,
    “@writingLibraryName”: “MediaInfoLib”,
    “@writingLibraryVersion”: “24.11”,
    “@dateLastModified”: “2024-11-07”,
    “@timeLastModified”: “19:32:37”,
    “ebucore:coreMetadata”: [
    {
    “ebucore:format”: [
    {
    “ebucore:videoFormat”: [
    {
    “@videoFormatName”: “AVC”,
    “ebucore:width”: [
    {
    “@unit”: “pixel”,
    “#value”: “1920”
    }
    ],
    “ebucore:height”: [
    {
    “@unit”: “pixel”,
    “#value”: “1080”
    }
    ],
    “ebucore:frameRate”: [
    {
    “@factorNumerator”: “999”,
    “@factorDenominator”:
    “1000”,
    “#value”: “24”
    }
    ],
    “ebucore:aspectRatio”: [
    {
    “@typeLabel”: “display”,
    “ebucore:factorNumerator”: [
    {
    “#value”: “16”
    }
    ],
    “ebucore:factorDenominator”
    : [
    {
    “#value”: “9”
    }
    ]
    }
    ],
    “ebucore:videoEncoding”: [
    {
    “@typeLabel”: “High@L4”
    }
    ],
    “ebucore:codec”: [
    {
    “ebucore:codecIdentifier”: [
    {
    “dc:identifier”:
    [
    {
    “#value”: “avc1”
    }
    ]
    }
    ]
    }
    ],
    “ebucore:bitRate”: [
    {
    “#value”: “2319897”
    }
    ],
    “ebucore:scanningFormat”: [
    {
    “#value”: “progressive”
    }
    ],
    “ebucore:videoTrack”: [
    {
    “@trackId”: “1”
    }
    ],
    “ebucore:technicalAttributeString”: [
    {
    “@typeLabel”: “ColorSpace”,
    “#value”: “YUV”
    },
    {
    “@typeLabel”:
    “ChromaSubsampling”,
    “#value”: “4:2:0”
    },
    {
    “@typeLabel”:
    “WritingLibrary”,
    “#value”: “x264 core 155”
    }
    ],
    “ebucore:technicalAttributeInteger”: [
    {
    “@typeLabel”: “BitDepth”,
    “@unit”: “bit”,
    “#value”: “8”
    },
    {
    “@typeLabel”: “StreamSize”,
    “@unit”: “byte”,
    “#value”: “1765854”
    }
    ],
    “ebucore:technicalAttributeBoolean”: [
    {
    “@typeLabel”: “CABAC”,
    “#value”: “true”
    },
    {
    “@typeLabel”: “MBAFF”,
    “#value”: “false”
    }
    ]
    }
    ],
    “ebucore:containerFormat”: [
    {
    “@containerFormatName”: “MPEG-4”,
    “ebucore:containerEncoding”: [
    {
    “@formatLabel”: “MPEG-4”
    }
    ],
    “ebucore:codec”: [
    {
    “ebucore:codecIdentifier”: [
    {
    “dc:identifier”:
    [
    {
    “#value”: “isom”
    }
    ]
    }
    ]
    }
    ],
    “ebucore:technicalAttributeString”: [
    {
    “@typeLabel”:
    “FormatProfile”,
    “#value”: “Base Media”
    },
    {
    “@typeLabel”:
    “WritingApplication”,
    “#value”: “Lavf58.17.101”
    }
    ]
    }
    ],
    “ebucore:duration”: [
    {
    “ebucore:normalPlayTime”: [
    {
    “#value”: “PT6.090S”
    }
    ]
    }
    ],
    “ebucore:fileSize”: [
    {
    “#value”: “1768400”
    }
    ],
    “ebucore:fileName”: [
    {
    “#value”: “RealSealNoUpdate.mp4”
    }
    ],
    “ebucore:locator”: [
    {
    “#value”:
    “C:\Users\Owner\Documents\RealSeal\RealSealNoUpdate.mp4”
    }
    ],
    “ebucore:technicalAttributeInteger”: [
    {
    “@typeLabel”: “OverallBitRate”,
    “@unit”: “bps”,
    “#value”: “2323021”
    }
    ]
    }
    ]
    }
    ]
    }
    }

Only partly printout

  • Video Decryption:
  • Message: “Video decrypted successfully.”
  • Explanation: The encrypted video was decrypted successfully.
  • Reference: See the decrypted file’s metadata in the provided screenshot.
  • Original Baseline Video Path:
  • Location: Documents/RealSeal/RealSeal.mp4
  • Explanation: This is the original video file, serving as the baseline for comparison.
  • Reference: See metadata screenshot of the baseline file.
    “ebucore:ebuCoreMain”: {
    “@version”: “1.8”,
    “@writingLibraryName”: “MediaInfoLib”,
    “@writingLibraryVersion”: “24.11”,
    “@dateLastModified”: “2024-11-07”,
    “@timeLastModified”: “19:46:25”,
    “ebucore:coreMetadata”: [
    {
    “ebucore:format”: [
    {
    “ebucore:videoFormat”: [
    {
    “@videoFormatName”: “AVC”,
    “ebucore:width”: [
    {
    “@unit”: “pixel”,
    “#value”: “1920”
    }
    ],
    “ebucore:height”: [
    {
    “@unit”: “pixel”,
    “#value”: “1080”
    }
    ],
    “ebucore:frameRate”: [
    {
    “@factorNumerator”: “999”,
    “@factorDenominator”:
    “1000”,
    “#value”: “24”
    }
    ],
    “ebucore:aspectRatio”: [
    {
    “@typeLabel”: “display”,
    “ebucore:factorNumerator”: [
    {
    “#value”: “16”
    }
    ],
    “ebucore:factorDenominator”
    : [
    {
    “#value”: “9”
    }
    ]
    }
    ],
    “ebucore:videoEncoding”: [
    {
    “@typeLabel”: “High@L4”
    }
    ],
    “ebucore:codec”: [
    {
    “ebucore:codecIdentifier”: [
    {
    “dc:identifier”:
    [
    {
    “#value”: “avc1”
    }
    ]
    }
    ]
    }
    ],
    “ebucore:bitRate”: [
    {
    “#value”: “2319897”
    }
    ],
    “ebucore:scanningFormat”: [
    {
    “#value”: “progressive”
    }
    ],
    “ebucore:videoTrack”: [
    {
    “@trackId”: “1”
    }
    ],
    “ebucore:technicalAttributeString”: [
    {
    “@typeLabel”: “ColorSpace”,
    “#value”: “YUV”
    },
    {
    “@typeLabel”:
    “ChromaSubsampling”,
    “#value”: “4:2:0”
    },
    {
    “@typeLabel”:
    “WritingLibrary”,
    “#value”: “x264 core 155”
    }
    ],
    “ebucore:technicalAttributeInteger”: [
    {
    “@typeLabel”: “BitDepth”,
    “@unit”: “bit”,
    “#value”: “8”
    },
    {
    “@typeLabel”: “StreamSize”,
    “@unit”: “byte”,
    “#value”: “1765854”
    }
    ],
    “ebucore:technicalAttributeBoolean”: [
    {
    “@typeLabel”: “CABAC”,
    “#value”: “true”
    },
    {
    “@typeLabel”: “MBAFF”,
    “#value”: “false”
    }
    ]
    }
    ],
    “ebucore:containerFormat”: [
    {
    “@containerFormatName”: “MPEG-4”,
    “ebucore:containerEncoding”: [
    {
    “@formatLabel”: “MPEG-4”
    }
    ],
    “ebucore:codec”: [
    {
    “ebucore:codecIdentifier”: [
    {
    “dc:identifier”:
    [
    {
    “#value”: “isom”
    }
    ]
    }
    ]
    }
    ],
    “ebucore:technicalAttributeString”: [
    {
    “@typeLabel”:
    “FormatProfile”,
    “#value”: “Base Media”
    },
    {
    “@typeLabel”:
    “WritingApplication”,
    “#value”: “Lavf58.17.101”
    }
    ]
    }
    ],
    “ebucore:duration”: [
    {
    “ebucore:normalPlayTime”: [
    {
    “#value”: “PT6.090S”
    }
    ]
    }
    ],
    “ebucore:fileSize”: [
    {
    “#value”: “1768400”
    }
    ],
    “ebucore:fileName”: [
    {
    “#value”: “RealSeal.mp4”
    }
    ],
    “ebucore:locator”: [
    {
    “#value”:
    “C:\Users\Owner\Documents\RealSeal\RealSeal.mp4”
    }
    ],
    “ebucore:technicalAttributeInteger”: [
    {
    “@typeLabel”: “OverallBitRate”,
    “@unit”: “bps”,
    “#value”: “2323021”
    }
    ]
Scroll to Top