Почитайте про ассиметричное шифрование
Если вкратце, то с помощью публичного ключа сообщение шифруется. А с помощью секретного расшифровывается. Ассиметричное шифрование решает проблему передачу ключа, когда надо передать так, чтобы его никто не мог украсть