I guess I was asking why is this done in Lisp, not in C. The
decrypted stuff is human-readable text, is it not? Then why would a
Lisp program want to see the encrypted byte array?
No, it's not. This is called from the backend protocol implementation of IMAP, for example. When Gnus wants to load a mailbox, it calls the IMAP code (Elisp) which then calls into GSSAPI to perform the decryption of the underlying packets.
Regards,
Elias