Идея в том, что один пароль некоторые юзеры используют для нескольких аккаунтов. И если ломанут базу квипа, например, то получат доступ к туевой хуче емайлов бландинок у которых один пароль, только и всего.
Потому что в таком случае система подвержена Man In Middle атаке. Кто-то может перехватить открытый ключ и вместо него выслать подделку, которая соответсвует уже другому закрытому ключу. От этого должны спасть CA, но это уже перебор для личного общения, imho :)
Ну естественно хешировать при передаче не сам пароль, а, например, строку «текущее время+хеш пароля». Ну и мы считаем, что при регистрации пароль не был сворован. От этого спасут только ключи.
Мы считаем что во время регистрации взлома нет.
Можно не время использовать, а какую-то строку с сервера передавать к клиенту в качестве опорной.
Ну и SSL никто не отменял тоже да.
У ключей только один недостаток — человеческая лень.