Następnie piątka (, (, ), ) jest zapisywana w bazie danych (jeśli i są ustalone można je pominąć). Wartość oraz jest niszczona. Z tak przygotowanych danych nie da się łatwo odzyskać wartości , z powodu: z wartości nie da się odtworzyć wartości , ponieważ problem logarytmu dyskretnego wydaje się być trudny obliczeniowo W przypadku gdyby było to możliwe (odtworzenie ), co prawda nadal nie jest możliwe odtworzenie (funkcja jest jednokierunkowa), ale znajomość jest wystarczająca do złamania protokołu.

Dodatkowo w bazie można zapisać wartość

jednak nie jest to konieczne, ponieważ można ją obliczyć w samym protokole, czyni się to czasami z powodów wydajności.

Sam protokół bazuje na tych wartościach, i jest przedstawiony w dwóch wersjach poniżej (w zależności, czy i są ustalone czy zmienne).

Protokół SRP-6a Faza 1 1. Klient wysyła do serwera nazwę użytkownika

2. Serwer sprawdza, czy nazwa użytkownika jest prawidłowa. Serwer: wczytuje wartości , oraz (, ), oblicza losuje dużą (co najmniej 256 bitów) liczbę (klucz prywatny serwera), oblicza (klucz publiczny serwera), wysyła do klienta wartości , oraz parę (,) (lub wartość ją opisującą).