La crittografia non protegge da alterazioni dannose. Se si codificano alcuni dati con un codice di flusso come RC4 o AES-CTR, un utente malintenzionato può decidere di capovolgere qualsiasi bit che desidera sul testo cifrato e, dopo la decrittografia, questo capovolge il bit corrispondente nel testo in chiaro. Questo consente modifiche chirurgiche. Con i cifrari a blocchi in modalità CBC, le cose sono un po 'meno chirurgiche, ma ancora contenute abbastanza da consentire all'aggressore di fare un sacco di cose belle (con CBC e un codice a blocchi con blocchi da 16 byte, se l'attaccante lancia un bit, quindi questo rimescola il blocco corrispondente e capovolge il bit corrispondente nel blocco successivo). 
 Quindi hai bisogno di  integrità controllata  e di crittografia. Alcune modalità di crittografia per cifrari a blocchi, come  EAX , combinano la crittografia e un controllo di integrità. In caso contrario, un  MAC  autonomo può fare il trucco (ma combinando la crittografia e un MAC correttamente  non è un compito assolutamente ovvio  quindi sei incoraggiato a utilizzare le modalità in cui tutto il duro lavoro di specifica è stato fatto, cioè EAX). 
 Alcune persone usano il termine "firma" per un MAC; è un uso improprio ma diffuso. Un MAC e  a fortiori  una semplice crittografia non protetta, non forniscono  non ripudio . Il non ripudio consiste nell'avere una prova che può essere usata  contro  il firmatario; presumibilmente, qualcosa che potrebbe convincere una terza parte come un giudice. Un calcolo che utilizza un segreto condiviso tra mittente e destinatario non può essere una prova convincente, perché, per definizione, sia il mittente sia il destinatario lo sanno (e la controversia è tra il mittente e il destinatario). Il non ripudio è una nozione complessa con implicazioni giuridiche, ma, per lo meno, la parte del computer deve utilizzare vere  firme digitali  calcolato sui dati che non devono essere ripudiati (e non solo su una chiave condivisa). 
  Nota a margine:  per gli stessi motivi, SSL  non  fornisce non ripudio, anche quando viene utilizzato un certificato sul lato client. Se un server SSL registra tutto su una connessione SSL da un client e il client è autenticato con un certificato, allora il server  può  avere una prova che un determinato client è venuto veramente, ma il server non può provare qualsiasi cosa a terzi su ciò che il client  ha inviato  nel tunnel SSL. Questo è in realtà un problema legalmente impegnativo quando si tratta di servizi bancari online.