저는 GPG를 처음 접했고 최근 몇 가지 기본 GPG 명령을 배웠습니다. 동일한 데이터를 암호화하기 위해 동일한 GPG 명령을 사용하면 항상 다른 결과가 생성된다는 것을 방금 발견했습니다. 아래는 예시입니다. 이것이 정상인가요? GPG 매뉴얼 페이지를 잠깐 살펴본 결과 --faked-system-time
GPG 암호화가 시스템 시간을 입력으로 사용함을 나타내는 매개변수를 발견했습니다. 이게 진짜야?
root@EPC:~# echo xxx | gpg -ear [email protected]
-----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 [email protected]
-----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:~#
답변1
예, GnuPG는 시간을 암호화된 데이터에 저장합니다. 이것을 보려면 다음을 실행하세요.
echo xxx | gpg -ear [email protected] > encryptedexample
(개인키를 가지고 있는 ID를 사용하세요)
gpg --list-packets --verbose encryptedexample
다음과 같이 끝날 것입니다
:literal data packet:
mode b (62), created 1599715776, name="",
raw data: 4 bytes
여기서 1599715776은 에포크 이후의 패킷 타임스탬프(초)입니다.