The bandwidth of the channel defined by human conversation is relatively low. The core of an offline delegation system is the dual ability to generate a valid certificate on a PDA and making it ``readable'' in a form which is simple to both send and receive on such low-bandwidth communication channels. To facilitate offline delegation, we have designed and implemented a supporting application on the PDA. The appearance is such that it enables two users to exchange sufficient information to send a certificate on one end, and receive it on the other.
In general, the process of building a certificate consists of entering the required information into the application, and then let the application generate it. The following information is required:
The assumed operational procedure is that Alice enters information into the data fields on her PDA while she talks with Bob, and Bob enters the same information into his PDA. The software has been designed to be used in this way, that is, the order in which information is entered when a certificate is created is matched on both sides. By going through the fields together, they build up the certificate. When Alice is finished entering information, she will sign the data with her private key.
As will be explained below, the signature is 256 bits long. On the sending side, the bits are presented to Alice as 16 4-digit hexadecimal numbers; see Figure 3(a). Notice that the checksum in the right hand column is a simple error detection scheme. She can now read the signature bits out to Bob, one group at a time.
As Bob listens to Alice, he needs means to enter the signature bits as fast as Alice reads. To facilitate this, a dedicated form is presented on the PDA. By tapping on the screen of the PDA he is able to enter data (receive as it were). The design is such that users can receive bits fast enough for the system to be usable. See Figure 3(b) for a signature that has been partly received. The checksum is calculated as data is entered. Although only a proper verification of the signature can determine whether it was properly transferred, the checksum is used to give Alice and Bob some confidence in its integrity. In this implementation the checksum is an exclusive-or computed over the four 16-bit numbers. As a result, two bits in any number of row of bits will go undetected. If experience shows that a stronger integrity check is requrired, it can easily be incorporated into the application.