A computer program product for providing verification of access to message content between at least two computing devices (106/110; 108) having access to at least one shared communication channel , the computer program product including instructions recorded on a non-transitory computer readable storage medium and configured, when executed by at least one computer processor, to cause the at least one computer processor to: observe, at a verifier , a message provided on the at least one shared communication channel , the message including content (206, M) and a first knowledge argument (T2) indicating to the verifier that access to a first secret key (sk1) enables access to the content by virtue of availability of a first extraction process; and observe, at the verifier , a digitally represented second knowledge argument (S) provided on the at least one shared communication channel , the second knowledge argument indicating to the verifier that a recipient has access to a second secret key (sk); and observe, at the verifier , a digitally represented third knowledge argument (T1) provided on the at least one shared communication channel , the third knowledge argument (T1) indicating to the verifier that access to the second secret key (sk) enables access to the first secret key (sk1) by virtue of availability of a second extraction process; compare, at the verifier , the first knowledge argument (T2, 402), the second knowledge argument (S) and the third knowledge argument (T1) provided on the at least one shared communication channel to verify that the recipient has access to the first secret key (sk1), by virtue of the availability of the second extraction process and of access to the second secret key (sk), and access to the content (M), by virtue of the availability of the first extraction process and of access to the first secret key (sk1), to thereby provide the verification of access of the recipient to the content. observe, at a verifier , a message provided on the at least one shared communication channel , the message including content (206, M) and a first knowledge argument (T2) indicating to the verifier that access to a first secret key (sk1) enables access to the content by virtue of availability of a first extraction process; and observe, at the verifier , a digitally represented second knowledge argument (S) provided on the at least one shared communication channel , the second knowledge argument indicating to the verifier that a recipient has access to a second secret key (sk); and observe, at the verifier , a digitally represented third knowledge argument (T1) provided on the at least one shared communication channel , the third knowledge argument (T1) indicating to the verifier that access to the second secret key (sk) enables access to the first secret key (sk1) by virtue of availability of a second extraction process; compare, at the verifier , the first knowledge argument (T2, 402), the second knowledge argument (S) and the third knowledge argument (T1) provided on the at least one shared communication channel to verify that the recipient has access to the first secret key (sk1), by virtue of the availability of the second extraction process and of access to the second secret key (sk), and access to the content (M), by virtue of the availability of the first extraction process and of access to the first secret key (sk1), to thereby provide the verification of access of the recipient to the content. <EOS>