Authenticity and non-repudiation are terms I often encounter together in discussions about cybersecurity, but their precise meanings and differences seem unclear to me. If authenticity ensures that a message or data comes from a verified source, how is it different from non-repudiation? Are there scenarios where one is achieved without the other, and if so, how?