38 lines
1.6 KiB
Plaintext
38 lines
1.6 KiB
Plaintext
|
|
|
|
[[ JPG file parse Pseudo Code ]]
|
|
|
|
1) Verify File
|
|
a. read JPG file: find record markers, save file locations
|
|
b. verify no parsing issues
|
|
c. save file locations for metatdate
|
|
d. save file locations for image data
|
|
2) Generate Hash
|
|
a. hash all image data
|
|
3) Digital Signature
|
|
a. generate new public keys
|
|
b. sign hash data with priv key
|
|
4) Write new PicSeal Public file
|
|
a. write encrypted original metadata
|
|
b. write PicSeal metadata
|
|
i. write JSON
|
|
b. write image data
|
|
5) Write new PicSeal Private file
|
|
a. create thumbnail (smaller files)
|
|
b. write PicSeal metadata (JSON)
|
|
c. write image data
|
|
|
|
|
|
[[ PicSeal Metadata ]]
|
|
JSON Format
|
|
|
|
{
|
|
"format_ver": "50",
|
|
"pubkey_alg": "rsa",
|
|
"pubkey_size": 4096,
|
|
"pubkey_pem": "MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnvdAyn5JuiRcoL8s+rAV\nMpoEUioB1NTV97EDG4z/R5pm89v86UkH0xeeB6OS2EacsPHmbIY6oY0IXKA+0EX6\nSZdVSya2vv36fy/CByfHgZsDUxpzMnRZLdYbITBwil7keCTOC4EfnYIMUDsvrx6s\nA+BSEbR1rUkIXMe7NJ2Qssj68lXKMOfhrJ9wUgPLVSTIiDytiX4Wd+yAuo9lUqUk\nxt7FwjEEBV5Nj0yKZp2sJZnqp+pL5dsLsYz9xKNQHonMkGuj+3IthenTkfuXm9a6\nx+Qm3B+6AN4qBd7Uz65tffS2e2OQCzSRVoqEaRUrQKvQcSfJv+w0lh4xoZs41CJE\nc8XmmJeaDqt/zYBQWWYJlvZfpq0oh3mKGmHRtNOnKQmMd+FRJj/5fUvG7WedcHt1\noAkUg1qKu/HBgPNTVN9PWaikM1fA1E8T1koCYN0ecP29Zo8SHwcL6g82ou+fGtae\nSrXW0bFKV1JbF+hF3nBzCw+xDPAXXpUGPTwSXYZa6Gvgfckk4qP17vfFaR9f+hiL\nmW8GUmgfupvbapcG189M+UB9nDUSj3557TJpqItdbH5m4FGNv9tcMRYSwIniVVxw\n+F5FuT7nhd8vC+simwyjlB3hteICya1c7tVo5rav/LBBzHYg9ywPJCdZKUvN3qRE\n4Txbp7DC99x/xZhGck2Cpj8CAwEAAQ==",
|
|
"image_sig": "6acda44a9e492ddcc0e6ddadbdbd2cc20fdbb06a9264f36268b03aff921332919edb541d9bcdafa2b958276fb553682e5b67d92a127ec8d5d89b29774db86c50",
|
|
"metadata_sig": ""
|
|
}
|
|
|