Available via license: CC BY 4.0
Content may be subject to copyright.
I S S N 2 2 7 7 - 3061
V o l u m e 1 7 N u m b e r 1
I n t e r n a t i o n a l j o u r n a l o f C o m p u t e r s a n d T e c h n o l o g y
7163 | P a g e M a r c h , 2 0 1 8
http://cirworld.com/
REAL TIME SHIPMENT TRACKING SYSTEM USING RFID
MEDHAT H. A AWADALLA
College of Engineering, Electrical and Computer Engineering Department, SQU, Oman
College of Engineering, Communications, Electronics, and Computer Department, Helwan University,
Egypt
Abstract
This paper presents a viable system for online shipment tracking using RFID technology. It aims to find the
location where exactly it is at an instance of time, from the time of shipment to the time of delivery. The system
has a developed web-based database-driven application that facilities its management and provides useful
information about the shipment. A complete prototype of the proposed system was implemented and tested to
validate the system functionality. The results show that the system is promising for on line shipment tracking.
Indexing terms/Keywords:
RFID, Shipment tracking, Concept Fan and Analytical Hierarchy, web-based database-driven application.
Subject Classification:
Computer Engineering
Type (Method/Approach):
Analysis/design/implementation/tesing
1. Introduction
Online shopping nowadays is huge due to free trade and globalization. In 2014, United Parcel Service (UPS)
shipping company [1] delivered about 4.6 billion packages. People and companies need to trace their packages
to know when they will be arrived and where they are now. Due to huge competitions, many companies pay a
lot of money to provide new and better services. Companies try to develop remarkable systems to be used by
the customers and themselves to efficiently manage packages and track them.
Different approaches have been used for this purpose; the most commonly used one is the barcode technology.
It is cheap and simple to use, however it is easy to damage and if it is damaged, it will be unrecognizable [2-3].
A QR code is almost as the bar code, and it the ability to carry much data than the barcode, however it is slow
to scan the data.
Radio Frequency Identification (RFID) technology that helps a lot in accelerating processes and completing
tasks in time. Nowadays, RFID technology is commonly used almost everywhere and it is still expanding more
and more due to the continuous drop in its price and the continuous improvements in its functionality. It provides
better solutions for many of today’s problems [4-7]. RFID system contains three components: Transponder
(tag/smart label) including data memory and antenna, Read/write unit (reader) with antenna and Processing
Software [8-10].
To trace a package, a checkpoint is a place where packages arrive to register its status, arrival time and send
a feedback about its status and new location. After that, it is either forwarded to the next checkpoint or kept
there to deliver it to the receiver. Most of companies use this method to track packages, because of its simplicity
and reliability. At any checkpoint, a computer is connected to RFID tag reading device. The RFID reader then
reads the tag and starts sending the package’s information to a computer connected to the system.
After the package is registered in the system, the package will pass through several checkpoints.
As the package reaches a checkpoint, that checkpoint will be considered as the package’s last
location.
That checkpoint’ computer communicate with the server.
The new data (including the status and location) will be sent to the server.
The database will be updated with the new data.
The rest of the paper is organized as follows. Section 2 presents the system specification. It includes marketing
and engineering requirements and mapping table to show the relationship between engineering and marketing
requirements. The design of the system is presented in the section 3. An analytical hierarchy process (AHP)
I S S N 2 2 7 7 - 3061
V o l u m e 1 7 N u m b e r 1
I n t e r n a t i o n a l j o u r n a l o f C o m p u t e r s a n d T e c h n o l o g y
7164 | P a g e M a r c h , 2 0 1 8
http://cirworld.com/
and the concept fan are illustrated in section 4. Section 5 gives the developed database and the website. Section
6 illustrates the developed system tests. Section 7 concludes the paper.
2. The proposed system overview
In shipping management system, there is usually a process to ship a package/parcel from sender to receiver.
Figures 1 and 2 show the block diagram and the system overview to carry out the shipment management
system. After receiving the package from the sender, the first thing to do is registering the package. In
registration stage, the details of the package are stored in a database. The carriers will access database in
order to deliver the package by giving them access to the database. At each checkpoint, package’s information
will be updated in the database. In addition, it will be updated when the package is delivered to the receiver.
Figures 3-5 show the flowcharts from the point of view of customer, company, and the carrier to depict the
details of on line shipment tracking system.
Nomenclatures
C
Criterion
CF-RU5106
RFID Type
EPC C1G2
RFID Active TAG
MD5
120-bit Hash Function
n
Number of data set
Greek Symbols
-
No relation
↑
Positive correlation
↓
Negative correlation
Π
Multiplication
Increasing the desirability
Decreasing the desirability
Abbreviations
AHP
Analytical Hierarchy Process
CARR_ID
Carrier identity
CUS_ID
Customer Identity
CUS-FNAME
Customer First Name
CUS-LNAME
Customer Last Name
EMP_LNAM
E
Employee last name
EMP_PASS
WORD
Employee password
ER
Entity Relationship
EXPEC_
DELV_
DATE
Expected Delivery Date
I S S N 2 2 7 7 - 3061
V o l u m e 1 7 N u m b e r 1
I n t e r n a t i o n a l j o u r n a l o f C o m p u t e r s a n d T e c h n o l o g y
7165 | P a g e M a r c h , 2 0 1 8
http://cirworld.com/
GM
Geometric Mean
GPS
Global Positioning System (GPS)
ID
Identity
IMP_ID
Employee Identity
PACK_
Cost
Package Cost
PACK_ID
Package Identity
PHP
Personal Home Page
QR
Quick Response
RFID
Radio Frequency Identification
SQL
Structured Query Language
UPS
United Parcel Service
XAMPP
Cross-Platform (X), Apache (A), MariaDB (M), PHP
(P) and Perl (P)
CHECKP_ID
Checkpoint identity
I S S N 2 2 7 7 - 3061
V o l u m e 1 7 N u m b e r 1
I n t e r n a t i o n a l j o u r n a l o f C o m p u t e r s a n d T e c h n o l o g y
7166 | P a g e M a r c h , 2 0 1 8
http://cirworld.com/
Fig. 1. The developed system block diagram
Fig. 2. The Developed system overview
Fig. 3. The flowchart of customer point of view
Sender Company
Receiver
DataBase Server
Carrier
Start
Send shipment to Company
(Provide Information
Type, Size, Weight, Address)
Tracking
(Access Database)
Delivery Notification
Received? EndYesNo
I S S N 2 2 7 7 - 3061
V o l u m e 1 7 N u m b e r 1
I n t e r n a t i o n a l j o u r n a l o f C o m p u t e r s a n d T e c h n o l o g y
7167 | P a g e M a r c h , 2 0 1 8
http://cirworld.com/
Fig. 4. The flowchart of company point of view
Fig. 5. The flowchart of carrier point of view
Start Receive
Shipment from
company
Start
processing
Send the
shipment to
Destination
Checkpoint(n)
updates
Delivered?
Yes
Update
database
End
Contact
Company
No
Is checkpoint is the
destination?
Yes
No
Start Shipment
Setup
Is the
address
correct?
Contact
Deliverey
Company
Send
shipment
to carrier
Send shipment
to destination
Delivered?
Damaged?
Yes
Yes
No
Is address
unrecognizable? No
Send
Feedback
to User
Yes
Delayed?
No
Lost?
Yes
Yes
No
Shipment
Trackback
Update
DataBase &
Notify user
End
Yes
No
No
I S S N 2 2 7 7 - 3061
V o l u m e 1 7 N u m b e r 1
I n t e r n a t i o n a l j o u r n a l o f C o m p u t e r s a n d T e c h n o l o g y
7168 | P a g e M a r c h , 2 0 1 8
http://cirworld.com/
3. The system specification and synthesis
The system requirements can be classified as marketing requirements and Engineering requirements. The
marketing requirements explain the features the customer needs from the proposed system. For example, the
system should be accurate, easy to use, have a fast response, durable, secure. However, the requirements of
engineering point of view are to translate the marketing requirements into technical requirements. These
technical requirements are the system should contain a simple interface, able to access the database easily
and promptly, have another alternative plan to keep the system functioning, be easy to maintain, use an
authentication to access the implemented database, be reliable and be able to trace at certain checkpoint along
route. Table 1 illustrates the comparison between the marketing and engineering requirements. It uses symbols
to depict the affection of each requirement of the others. A positive correlation (↑) means that both goals, the
marking and Engineering requirements can be obtained, but negative correlation (↓) means that both goals
cannot be obtained. The symbol (-) means that the marketing and engineering requirements have no relation.
Positive + and negative – symbols to indicate increasing or decreasing based on the desirability of the each
requirement.
Table 1. Engineering-Marketing Matrix
Engineering
Requirements
Simple interface
Backup plan
Easy to maintain
Protected using
authentication.
Reliable
Fast
Marketing Requirements
+
+
+
+
+
+
Accurate information
+
-
-
-
-
↑
↓
Easy to use
+
↑
-
↑
-
-
↑
Fast response
+
↑
-
-
↓
-
↑
Durable system
+
-
↑
↑
-
↑
-
Secure system
+
↑
-
↑
↑
↑
↓
Tracking
+
-
↑
-
-
-
↓
Targets for engineering
requirements
PHP
format
Daily
-
MD5
hashin
g
SQL
RFID
The packages to be identified and recognized, there are different techniques that can be used such as barcode,
Quick Response (QR) Code, and Radio Frequency Identification (RFID). The disadvantages of barcode
technique as mentioned earlier are their short ranges, impossible to read many packages at the same time, and
it cannot read if it is damaged by get dirty. The advantages of QR are low cost and simple in use. In the other
hand, it takes long time to scan the packages compared to RFID and barcode [11]. Since the packages can
travel long distances based on the destination and it becomes more difficult to trace, this unit is critical part. Two
approaches can be used to trace the packages:
Global Positioning System (GPS).
Checkpoint marking.
GPS is more accurate in terms of location. In the other hand, it has higher cost than using checkpoint marking.
GPS required a new device to be installed in order to work. Checkpoint marking has the advantage of less cost
and reliability [12-14].
3.1 Concept Fan and Analytical Hierarchy Process (AHP)
The graphical demonstration of different available design alternatives is called concept fan. As shown in Fig. 6,
it is used to show different possible components and technologies as alternatives to choose among them to
construct the required system.
I S S N 2 2 7 7 - 3061
V o l u m e 1 7 N u m b e r 1
I n t e r n a t i o n a l j o u r n a l o f C o m p u t e r s a n d T e c h n o l o g y
7169 | P a g e M a r c h , 2 0 1 8
http://cirworld.com/
Fig. 6. The shipment tracking system concept fan
AHP is defined as a technical methodology that can be used to compare different alternatives to choose the
remarkable one of them. In this paper, different parameters have been addressed and AHP is performed to find
the best applicable approach/component. The used criteria are the cost of the system, the response of the
system in terms of seed, how to reuse the system, reusability, and the maximum range that can used [15]. The
geometric mean for data set {a1, a2, …, an} and the weight for each criterion Ci are calculated based on the
following formula 1 and 2.
.
21
1
1nn
n
i
n
iaaaaGM
(1)
.
1
1
1
i
n
iCGM
CGM
CWEIGHT
(2)
Table 2 depicts the pairwise comparison among different criteria. The comparison has been accomplished to
find the value of the weights of each criterion. The key values are determined based on the relation between
the technologies/components. For example, the key value 3 is three times important compared with the key
value 1.
Table 2. Pairwise comparison of criteria selection to identify the shipment
Cost
Speed
Reusability
Range
GM
Weights
The cost
1
3
5
1/5
1.3
0.276
The speed
1/3
1
7
3
1.6
0.34
The reusability
1/5
1/7
1
1/3
0.31
0.066
The range
5
1/3
3
1
1.5
0.318
Total
4.71
1
Table 3. Shipment Identification Matrix
Achieved Weights
Barcode
QR code
RFID
The cost
0.276
0.39
0.4
0.22
The speed
0.34
0.28
0.19
0.56
The reusability
0.066
0.13
0.134
0.72
The range
0.318
0.3
0.131
0.65
The Score
0.30682
0.225
0.505
I S S N 2 2 7 7 - 3061
V o l u m e 1 7 N u m b e r 1
I n t e r n a t i o n a l j o u r n a l o f C o m p u t e r s a n d T e c h n o l o g y
7170 | P a g e M a r c h , 2 0 1 8
http://cirworld.com/
Table 3 shows the shipment identification matrix where RFID has the highest score, 0.505; therefore, it is the
most remarkable choice to identify the shipment. Table 4 illustrates the comparison conducted to get weights
for the same criteria used for shipment tracking. Table 5 illustrates the comparison conducted to get weights for
the same criteria used for shipment tracking. Table 4 shows the shipment-tracking matrix, Checkpoint Marking
criterion has the higher score than GPS; therefore, it is most remarkable choice Checkpoint Marking for
shipment tracking.
4. The developed system database and website
This section presents details about the developed database used, its specification, and ER model, the used
software programs to implement them. The database and the website are the main parts of the system for
customers to trace their packages in an efficient way.
Table 4. Pairwise comparison of criteria selection
to track the shipment
Cost
Accuracy
Implementation
Availability
GM
Weights
Cost
1
1/5
5
5
1.5
0.264
Accuracy
5
1
3
7
3.20
0.563
Implementation
1/5
1/3
1
3
0.668
0.117
6
Availability
1/5
1/7
1/3
1
0.31
0.054
Total
5.678
1
Table 5. Package Tracking Alternatives Matrix
Achieved Weights
GPS
Checkpoint
Marking
Purchase cost
0.264
0.41
0.61
Accuracy
0.563
0.43
0.59
Implementation
0.1176
0.57
0.54
Availability
0.054
0.58
0.50
Score
0.448
0.583
4.1 Database
The vital data related to the packages such as the package number, the sender name and its address, and the
destination address should be addressed in a very proper. The most proper way is to store them in database.
In this paper, Structured Query Language (SQL) is used to manage the database, SQL is a programming
language interacting with the data to get information, modify it or even update it. In addition, XAMPP is used to
construct the database. XAMPP is shown in Fig. 7, which is an offline tool to enable us to use Apache and to
run MySQL. By running MySQL, there is built-in software called phpMyAdmin as an interface to make it easy to
deal with the database being created. Further, it has many documentations and tutorials. It can create, edit and
manage a database. phpMyAdmin is shown in Fig. 8.
I S S N 2 2 7 7 - 3061
V o l u m e 1 7 N u m b e r 1
I n t e r n a t i o n a l j o u r n a l o f C o m p u t e r s a n d T e c h n o l o g y
7171 | P a g e M a r c h , 2 0 1 8
http://cirworld.com/
Fig. 7. The conducted Xampp software
Fig. 8. The developed phpMyAdmin interface
4.1.1. Database specification
The first step to design a database is to write the full specification. A package has a unique ID (RFID Tag),
sender information, receiver information, weight, dimension, description, status, date of shipping and arrival
date. The package has a status like damaged, lost, in transit, delivered, delayed, sent to carrier or received from
carrier.
The package itself belongs to one customer. The package will pass through different checkpoints. Each branch
of the company is basically a checkpoint. In each checkpoint, the package status and location will be updated
and forwarded to next checkpoint. The company is using different carriers. Each package has one carrier at a
time. The carrier can access the information and update package’s checkpoint and status. Customer and carrier
both can have more than one package.
The shipping company consists of managers, employees, checkpoints and warehouses. Each employee is
working in one checkpoint at a time. If that employee is moved to another checkpoint, his information will be
I S S N 2 2 7 7 - 3061
V o l u m e 1 7 N u m b e r 1
I n t e r n a t i o n a l j o u r n a l o f C o m p u t e r s a n d T e c h n o l o g y
7172 | P a g e M a r c h , 2 0 1 8
http://cirworld.com/
part of the new checkpoint. Employees are responsible for registering packages. In addition, employees are
able to access and change information about the package. In addition, an employee will access the system
using his/her username and password through a website. Furthermore, employees will register carriers to give
them access to some functions in the database. The company will contact carriers to provide them the
information about the packages. Each carrier has a username and password to access a database. The carrier
can provide the expected delivery time and the cost of shipping.
Every package reaches a warehouse of a checkpoint should be immediately registered in the system or its
status should be updated. Shipping company will make a list of carriers and their prices according to shipping
type and weight. The company will add its profit according to the expenses.
The second step is to extract the nouns and verbs. Each noun is considered as separate entity and each verb
is a relation between those entities. In database, each entity is a table and each table has columns to describe
attributes of that entity and rows to describe data. Each row is called a record, which is a set of data as shown
in Fig. 9.
4.1.2 ER-Diagram
ER-Diagram is necessary to understand the relations between entities. As shown in the Fig. 9, there are seven
entities: Customer, Package, Carrier, Employee, Payment, Location, and Checkpoint. Each entity has a primary
key which is a unique id used to identify each record. Inside entity, there is a group of attributes. The attributes
are the required fields to be filled with data about each record. For example, Customer entity has a record about
one of the customers. This customer will have a primary key (CUS_ID), a first and last name (CUS-FNAME,
CUS-LNAME), address, phone and email. Each entity has relations with other entities. There are different types
of relations such as one-to-one, one-to-many and many-to-many.
This ER diagram was implemented using phpMyAdmin. The database was created. In order to access this
database, php code is used to implement it.
4.2 The Developed Website
A website has been developed in this paper to help customers to trace their packages by entering the ID number
of the package to know its last status. In addition, they can get benefits from other services available on the that
website to use, for example checking the allowed goods to be shipped, prices and many other services. The
website was designed using html, php and few of java scripts programming languages. Fig. 10 is showing the
developed web page for tracking shipments.
I S S N 2 2 7 7 - 3061
V o l u m e 1 7 N u m b e r 1
I n t e r n a t i o n a l j o u r n a l o f C o m p u t e r s a n d T e c h n o l o g y
7173 | P a g e M a r c h , 2 0 1 8
http://cirworld.com/
Fig. 9. The developed ER diagram
Fig. 10. Main page of the Website
5. IMPLEMENTATION AND TESTING
To verify and validate the desired function of the developed system, a model for the system is implemented and
tested. The function of RFID technology is investigated first to check if it reads the package information stored
in the tags successfully or not. CF-RU5106 RFID with active tags of type EPC C1G2 is chosen and set as
illustrated in Fig. 11. Number of different tags have been read correctly as shown in Fig. 12. Both of shipping
company and carrier employees are supposed to access the database, so they will have user names and
passwords. The password is encrypted using MD5 hashing [17] to make it secure. An administrator, to give
them access to the database, should register each of those employees. When they try to get access, their
I S S N 2 2 7 7 - 3061
V o l u m e 1 7 N u m b e r 1
I n t e r n a t i o n a l j o u r n a l o f C o m p u t e r s a n d T e c h n o l o g y
7174 | P a g e M a r c h , 2 0 1 8
http://cirworld.com/
passwords are converted to hash values using hashing function. Hash values will be compared to the hash
values stored in the database. If they are matched, they will be given access. Employees now can use their
access to register new customers or packages or update their information. The carrier now can update some of
the information of packages. For example, the carrier can update expected delivery date and the cost. Different
scenarios for shipment registration, shipment tracking, checkpoint update, and the shipment status are shown
in Figures 13-21 have been conducted to test the performance of the whole system.
Fig. 11. RFID Reader Configuration
Fig. 12. Tags have been read successfully
I S S N 2 2 7 7 - 3061
V o l u m e 1 7 N u m b e r 1
I n t e r n a t i o n a l j o u r n a l o f C o m p u t e r s a n d T e c h n o l o g y
7175 | P a g e M a r c h , 2 0 1 8
http://cirworld.com/
Fig. 13. Registering a new customer
Fig. 14. A new customer is successfully registered
I S S N 2 2 7 7 - 3061
V o l u m e 1 7 N u m b e r 1
I n t e r n a t i o n a l j o u r n a l o f C o m p u t e r s a n d T e c h n o l o g y
7176 | P a g e M a r c h , 2 0 1 8
http://cirworld.com/
Fig. 15. The registration of a new shipment
Fig. 16. A new shipment is successfully registered
I S S N 2 2 7 7 - 3061
V o l u m e 1 7 N u m b e r 1
I n t e r n a t i o n a l j o u r n a l o f C o m p u t e r s a n d T e c h n o l o g y
7177 | P a g e M a r c h , 2 0 1 8
http://cirworld.com/
Fig. 17. Shipment tracking
Fig. 18. Checkpoint is being updated
I S S N 2 2 7 7 - 3061
V o l u m e 1 7 N u m b e r 1
I n t e r n a t i o n a l j o u r n a l o f C o m p u t e r s a n d T e c h n o l o g y
7178 | P a g e M a r c h , 2 0 1 8
http://cirworld.com/
Fig. 19. Checkpoint is updated successfully
Fig. 20. Carrier Update
I S S N 2 2 7 7 - 3061
V o l u m e 1 7 N u m b e r 1
I n t e r n a t i o n a l j o u r n a l o f C o m p u t e r s a n d T e c h n o l o g y
7179 | P a g e M a r c h , 2 0 1 8
http://cirworld.com/
Conclusion
In this paper, an on line complete system for tracking packages using RFID technology has been designed. The
developed system comprises database, website, and a user-friendly interface to follow the packages, knowing
the status of the packages of being damaged or lost and its location until reaching its proper destination. The
complete system has been tested for verifications, and achieved results were promising.
References
1. United Parcel Service of America, Inc. 2014. UPS: Worldwide. Retrieved 14 April, 2017, from
https://www.ups.com/content/us/en/about/facts/worldwide.html.
2. Statista. (2014). United States: number of digital shoppers 2010-2018. Retrieved May 10, 2017, from
http://www.statista.com/statistics/183755/number-of-us-internet-shoppers.
3. Bonsor, K.; and Fenlon, W. (2015). How RFID Works. Retrieved June 10, 2017, from
http://electronics.howstuffworks.com/gadgets/high-tech-gadgets/rfid.htm.
Fig. 21. The final status of the shipment
I S S N 2 2 7 7 - 3061
V o l u m e 1 7 N u m b e r 1
I n t e r n a t i o n a l j o u r n a l o f C o m p u t e r s a n d T e c h n o l o g y
7180 | P a g e M a r c h , 2 0 1 8
http://cirworld.com/
4. Delen, D.; Sharda R.; and Hardgrave, B. (2011). The promise of RFID-based sensors in the perishables
supply chain. Wireless Communication, IEEE, 18(2), 82-88.
5. Al-Lawati, A.; Al-Jahdhami S.; Al-Belushi A.; Al-Adawi D.; Awadalla, M.; and Al-Abri, D. (2015). RFID-based
System for School Children Transportation Safety Enhancement. Eighth IEEE GCC Conference and
Exhibition, Muscat, Oman, 7-12.
6. Vidyasagar, K.; Balaji, G.; and Narendra, K. (2015). RFID-GSM imparted School children Security System.
Communications on Applied Electronics (CAE) – ISSN: 2394-4714, 2(2), 17-21.
7. Malliga, R.; and Narmatha, T. (2016). RFID-based System for School Children Transportation Safety
Enhancement. International Journal of Advanced Research in Computer Science and Software
Engineering, 6(4), 2409-2415.
8. Yuan-Tsung, C.; and Timothy, K. (2017). RFID-Based intelligent parking management system with indoor
positioning and dynamic tracking. 10th International Conference on Ubi-media computing and Workshops
(Ubi-Media), 2017, Pattaya, Thailand, 1-8.
9. Al Kalbani J.; Bait Suwailam R.; Al Yafai A.; Al Abri D.; and Awadalla, M. (2015). Bus Detection System for
Blind People using RFID. Proceedings of the 8th IEEE GCC Conference and Exhibition, Muscat, Oman, 1-
6.
10. Regulatory status for using RFID in the EPC Gen 2 band (860 to 960 MHz) of the UHF spectrum. Retrieved
June 13, 2017 from http://www.gs1.org/docs/epc/UHF_Regulations.pdf.
11. Barcodes Inc. (2015). QR Code Barcode Scanner - The Barcode Experts. Low Prices, Always. Retrieved
May 20, 2017 from https://www.barcodesinc.com/cats/barcode-scanners/qr.htm.
12. Anusha, R.R.; and China, A.N. (2016). GPS and GSM Based School Children Tracking System.
International Journal of Advanced Research in Computer Engineering and Technology, 5(6), 1704-1707.
13. Walmart, A. (2015). Garmin nuvi 52LM 5.0 GPS Bundle. Retrieved March 23, 2017, from
http://www.walmart.com/ip/Garmin-nuvi-52LM-5.0-GPS-Bundle/39447962.
14. GPS.gov, (2014). GPS Accuracy. Retrieved May 20, 2017 from
http://www.gps.gov/systems/gps/performance/accuracy/.
15. Brunnelli, M. (2015). Introduction to the Analytic Hierarchy Process. Springer.
16. Databases terminology and technology ICT (2010). Retrieved May 20, 2017 from http://www.teach-
ct.com/gcse_new/databases/terminology/miniweb/pg3.htm.
17. Touch J., (1995). Report on MD5 Performance, RFC 1810.