Hallo Norbert
ich nehme an du hast Vorkenntnisse in diesem Bereich. Wenn Nein, dann findest du
hier eine Grobübersicht.
U.a. bei NIST findest du das
Originalpaper von MCGrew und Viega zum GCM Mode. Die "mathematische Sprache" im Paper ist erfrischend einfach gehalten. Am Ende des Papers findest du viele Testfälle; sogar Zwischenresultate sind aufgeführt.
Wie du schreibst dient der "authentication tag" als Signatur für die in 128 Bit Blöcke zerlegte (im Original [und meistens] mit AES) verschlüsselte Nachricht.
Wenn du eine verschlüsselte Nachricht erhältst, dann erhältst du über irgend einen Weg auch einen "authentication tag". Du berechnest nun aus der Nachricht den "authentication tag" und vergleichst diesen mit jenem, den du erhalten hast. Du akzeptierst die Nachricht, wenn die beiden Werte übereinstimmen.
Tipp: Bei NIST findest du über 40'000
Testfälle; mit diesen kannst du eigene Anpassungen am Code testen.
Wenn ich dich richtig verstehe, dann schreibst du dass von dir zuvor chiffrierte Nachrichten beim Dechiffrieren wegen falschem "authentication tag" verworfen werden. Das wäre natürlich nicht gut. Hast du ein Beispiel (inkl. Angabe
OS)? Kannst auch per PN; das ist sicher nix von allgemeinem Interesse. Du findest auch
hier oder bei mormot Code zum Gegenchecken.