Which of the following algorithms would be used to provide non-repudiation of a file transmission?