Encryption
相同的 gpg 命令應用於相同的字元串但得到不同的結果
我是 GPG 新手,最近學習了一些基本的 GPG 命令。我剛剛發現使用相同的 GPG 命令加密相同的數據總是會產生不同的結果。下面是一個例子。是正常的嗎?我快速瀏覽了 GPG 手冊頁,發現有一個參數
--faked-system-time
似乎表明 GPG 加密將使用系統時間作為輸入。這是真的?root@EPC:~# echo xxx | gpg -ear a@b.c -----BEGIN PGP MESSAGE----- hQIMAzha1PwyPp1PAQ//byuSt9hlwYAZAjXxC/eychTXbEvA8HnuCDaclczOVd3r FSrKfMPAcyWE+XLWZfQrKJ0gKQIF2lJNFHCXieDYi2AA0pOUKzatUvlccJV7BKk2 mY2LmH6R7rNh5Us+Es/xut03TWmjVFzXtsHRQBazVpn19PyB7ybusWTv05POmLqD nZe2l0uhjfQxtBG/a5leNF8cg5vhun7i0tHL/6y4yYCjEBO8zCl4lmwTaLwfVAPM VoLCtX+3UBmolRsA3zod/Fbo9bFAH7lT1w1nTd0Oq6jnXNQZib81pWtfgCZ1WI9S XfEptr8TtOZenEgY8azXIzORhiV1rXJkmqS1ofIhAn4FhvEljQN3h0buml3pfVyn Q9b/toEBLNS/Vin3+NQP/wzp3iB0ykRrTSVT0BZsfE52do5tqtbSPFPkZoF1ncof u8kRH5ccDXAT0tUqZnyfkvasadtr05yjV+W0A6rwjQ4TE7AdTpICiKrcrLLDd47s 42a4bbm0BVd63uHG7fwBXZ7lsdG+3Mjs+WwEDURVAGUc0qv3dGQf3m7+P3vivTsv dT2I65c0tlyOMjOqSvUzBia153gRz6aNuf0YlvD1l6ULiR7pqkG9Zu+EWXdDWsXE xnhZXxX9Y9kxz3GLtaWmTOFJeWlfzJ07vtE5I2qSZXT8krsc06WthdzHPOOnRWbS QAH+iINECeVZCS88z41su7kHeDaPDHSTS+YRToLL9K+1Y4jSrQ0aCK7qx1reHKC6 NqPDBzVeMHzXtWIylJwgM3E= =d1Ye -----END PGP MESSAGE----- root@EPC:~# echo xxx | gpg -ear a@b.c -----BEGIN PGP MESSAGE----- hQIMAzha1PwyPp1PARAAg+cR4+vLw2uFKWUUuf7j8Yf3WZU7v3Xxw+gT5F/yo3fo dViI7dwW/Q5mq32HSiUxDqDsEULObcyQFr6/B2by+9t6/4SHf2UIYMFd5nZvprIt gcQswXEVw6BLpmutDgg0/letxlFtSON70d8aB/OqoaL3OxQX3b6prw3ZCv/UcoYa BLXm8W24F2donPHos4BYoSWNFKzNq/Z/6LnTkVaF1o8Z7OSIKCnhV3t4vwnaC/os q34AA65f/lrDTgudMo7UoznLlDLK+VeBJaU9772z76uZnm+LVEDPt695kKBlpmBt qQNzBY8ZL2sUQ2aq2RqjWA12dh06r3P8k45RyMKvn6Iubf0rfUK9kHUknQRM7q3A gcQBAO2yR97ZcCAffPLjk3ZGcJ7eh92PRET8d8l2/lAKDQ24GdJENcgHBXhGu8VV FivA9AkGThzRxtghSV1ZuX3yi7MbOSjdrs0hx82ZH73kj34+GYSkz8Q4sHK3KnM8 AZ4MUeTdM9eQET8fQVziLQU+PRxFqNo3DKb0uoqI41/klntc4VgiUOMYsqiESJBs LF0AspsRQFWd6hO9y314tsetoIcK3xPkLq9kX2T0qYuIdgvLoe9i+kE2QxdsamBH 0Rlrm1AcRmIKBkjClGSbMsHsa6uJZD+zfDOpmWa/zgtxWe9tdjH3Er5NlR6VRDLS QAFqDVk3yWTnq2OZotpggz+OhUz0aGKiPWhpvpdQS4yQGfiE0a94drOBEnEpuPLJ kb0j1SLja8v09v4rLmZhhBk= =0COd -----END PGP MESSAGE----- root@EPC:~#
是的,GnuPG 將時間儲存在加密數據中。要看到這個,執行
echo xxx | gpg -ear a@example.org > encryptedexample
(使用您擁有私鑰的 id),然後
gpg --list-packets --verbose encryptedexample
將以類似的東西結束
:literal data packet: mode b (62), created 1599715776, name="", raw data: 4 bytes
其中 1599715776 是數據包的時間戳,以從紀元開始的秒數為單位。