Hamas has said 20 living hostages will be exchanged for more than 1,900 Palestinian prisoners held by Israel.