Ett engångsnummer (från engelska nonce - "number that can only be used once" - ett nummer som bara kan användas en gång) i kryptografi - en engångskod, vald slumpmässigt eller pseudo-slumpmässigt , som används för att sänd huvudlösenordet på ett säkert sätt, förhindra att attacken spelas upp igen . Till skillnad från slumpmässiga siffror kräver det inte numrets oförutsägbarhet, det räcker med att vara icke-repeterbart.
Servern genererar en slumpmässig kod (nonce) och skickar den till klienten. Klienten använder den mottagna koden, lägger till den i lösenordet före kryptering , krypterar den mottagna strängen och returnerar det resulterande meddelandet till servern . Servern dekrypterar meddelandet, "subtraherar" det obekanta från den mottagna strängen och kontrollerar lösenordet. Denna nonce används en gång och bara en gång, alla efterföljande överföringar av lösenord med samma nonce kommer att avvisas av servern, så en angripare, som har fångat upp ett meddelande med ett krypterat lösenord, kommer inte att kunna få åtkomst genom att skicka om det avlyssnade meddelandet till servern.
Ofta inkluderar nonce en tidsstämpel för att begränsa livslängden för nonce, men detta kräver att server- och klientklockorna synkroniseras. En klientspecificerad nonce (" cnonce ") kan också användas för att öka säkerheten .
För att säkerställa det unika hos nonce för en autentiseringssession genereras nonce ofta baserat på systemtiden , från en någorlunda exakt tidsstämpelkälla.