Anonymity is an important concern in wireless communications. Most anonymous routing protocols in ad hoc networks usually assume that a shared secret exists between the sender and the receiver. These protocols hide either the sender and the receiver or the intermediate nodes from the ad hoc network. Different from previous anonymous secure routing protocols, this paper proposes an anonymous routing protocol, ARAKE, which not only makes the sender and the receiver anonymous but also hides the intermediate nodes from the network simultaneously. To make the protocol more practical in dynamic network, ARAKE uses the public key to substitute the shared secret.